You're right, that's a big question, one that I've had answered slowly over the past year or so :-)
A programming program, called a Compiler (and there is also a linker too) is created using assembly. All programming langauges are just keywords and a syntax, that is broken down into assembly. It's the lowest level of programming control you can have over a computer. The value of computer programming languages is the fact that they allow us to program a lot more assembly, in less typing, and it's easier to read and understand, but the problem is it gives you less low level control over the hardware. A programming language that lets you type very little code to get a lot done is considered a high-level programming language, while a language that is very simular to assembly in syntax and control, is considered a lower level language, and assembly is the lowest level of control possible.
You might wanna check out this link <A HREF="http://www.anandtech.com/guides/viewfaq.html?i=112" target="_new">http://www.anandtech.com/guides/viewfaq.html?i=112</A> for some very basic information.
You are about to answer a thread that has been inactive for more than 6 months. If you still wish to proceed, please ensure that your posting is original and does not duplicate or overlap any prior responses to this thread.