Are there any other markup languages which do not have a tough learning curve (I managed to get speed in Latex after about 2 mnths and still make mistakes) and can be easy to program. I am looking at Apache FOP, but it seems a bit daunting right now. And Latex is just out of question.

What I want is to provide plain text input and/or images to predefined sections of my document and have a program (Java or C#) go ahead and format that text as per templates I have defined and then compile the document, into PostScript or PDF. I am not writing another version of the Mahabharata or Odyssey and do not require complex formatting options. The documents are intended to be pretty simple and 15-20 pages at max.

An application of this idea, for example would be a resume builder. I define my output format in the program. Then whenever I want a copy of my resume, I just select which of my skills, projects etc. should appear and voila, the program will give me a PDF exactly as I want, customised to my needs.

Latex, being based on the original TEX, has some quirks. Lout was a fresh start on designing a system like that. Easier user-defined stuff, makes more sense, possibly faster, etc. OTOH, Latex users over the years have built up a huge collection of typefaces, graphics and plotting packages, specialty packages for law, history, chemistry, music, etc... and some say Latex/TEX's math typesetting is slightly better than Lout's, although it takes a refined taste in typesetting to notice.

You might consider doxygen. It has very simple markup, uses any combination of latex, javadoc or HTML markup in your documents and can generate PDF, HTML, RTF, latex and others. It was designed for documenting source code, but you can instruct it to pull documentation from any properly formatted text file. You can embed latex mathematics, but you need a latex compiler installed to process them.

LaTeX and TeX have some quirks in syntax, so making a TeX/LaTeX code generator is not very easy. But you can overcome this by using TeXML, which is an XML syntax for TeX/LaTeX. You still need to use LaTeX verbs and know the commands, however.