Hello

Kayot

Well-known member
Joined
Mar 6, 2007
Messages
49
Programming Experience
3-5
My name is Kayot and I'm just saying Hi. (Don't want to get the first post flames)
 
Hi, welcome! Did you have anything programming related you wanted to chat about here?
 
Nope, this just seemed the most general off-topic forum section there was ^-^. So I figured, a safe place to say "Hi"

P.S. Sorry, about there not being anything programming related... Ok, heres a question, if programs are compiled in compilers, and compilers are programs... What was the first compiller compilled in?
 
A compiler only translates one type of code to another, for example plain text VB code to lower level computer code that isn't readable to most people. The first compiler was probably written in a low level code like machine-code and was a Interpreter, a program that simply reads the instructions and carry them out. So how could the Interpreter run? I think it starts with a transistor that with electric current can turn on or off (value 0/1), microprocessor, continues with machine-code in microcontroller, assembly in BIOS perhaps, etc.

WIKI and HowStuffWorks sites have much info about these matters if you're curious.
 
Some more info related to this and .Net framework:
When VB.Net code is compiled (with vbc.exe compiler) this is translated to Intermediate Language (IL) code, this is an assembly level code, which is the .exe binary executable file or .dll library file - these files are simply called 'assemblies'. All other .Net languages like C# and J# and managed C++ are also compiled first to same IL code. When you start such a .Net exe file the framework is built in a way that first this file is compiled again by Just-In-Time Compiler ("the Jitter") to machine-code and then executed. With .Net you can actually program directly with IL Assembly language and compile it to IL code with the ILasm.exe compiler.
 
layers upon layers upon layers of abstraction ;)

the first compiler was probably for assembly-language written in machine code. Literally someone sat and typed in all the numbers necessary to make a CPU translate assembly into machine code. (How the CPU translates the opcodes into actual movements of electrons round silicon circuits is another load of abstractions in itself). Writing the first assembly-language-to-machine-code compiler (an assembler) was/is probably the job of the chip manufacturer; without it, noone will write programs for the chip.
From there, someone will have written a compiler in assembler, designed to translate C (for example) into assembler. The assembler program was compiled wth the first compiler and it became the second compiler. The second compiler was used to compile the C program code into machine code, possibly through transformation into assembler then using the first compiler to transform it into machine code..

At each step, the number of people that use the language increases..

Another interesting concept in the development of computer languages, is called self-proof. A self-proved language is one that is written in itself. I dont know if .NET is 100% self proved, but the managed parts probably are..
Java is self-proved; it is written in Java..
 
Back
Top