I know this question doesn't have something related directly to c++, but, how was the Assembly language made? I mean, what "language" was used to make it's compiler for example? Or was it not even a language, but manually sent electric pulses to the microship, representing 0s and 1s?
Thanks in advance.
You mean originally, or modern assemblers? For modern assemblers, it doesn't really matter. An assembler is just a program that parses text and outputs binary that happens to be readable by a computer. It can be written in anything as long as the language allows readiung text files and writing binary files.
The first assembler was, as were all other programs at the time, written in machine language.
Yes, I am talking about the first Assembly language and the first Assembler. So it was actually written in 0s and 1s? Damn! Computer technology is amazing....
I would assume to assemble the first assembly program (which would be an assembler) they used punched cards or toggle switches (8 toggle switches, up is a 1, down is a 0. Press a button and it inputs the byte to the computer, for example).
The first C++ compiler was probably written in C, and then re-written in C++ so it could become self-hosting (a compiler that can compile itself is self-hosting).
Oh; and I say assembly "is" machine language; that's a bit of a misnomer. Original machine code was written with op codes, and then Assembly introduced mnemonics such as nop (no operation), which in machine code is 0x90 and HLT (halt, halts the CPU until the next interrupt) is a mnemonic for 0xF4.
Assembly is a low level language that has a direct correlation to machine language, but it's not machine language. If it can't be directly understood by the machine, it's not machine language.
Oh, and I'm pretty sure that by the time the first assembler was developed, computers were programmed by punching binary (or hex) into terminals, not by punch cards.
No, I'm not.
The first C++ compiler was probably written in C, and then re-written in C++ so it could become self-hosting (a compiler that can compile itself is self-hosting).
Assembly is a low level language that has a direct correlation to machine language, but it's not machine language. If it can't be directly understood by the machine, it's not machine language.
I knew that :)
/lie
Oh, and I'm pretty sure that by the time the first assembler was developed, computers were programmed by punching binary (or hex) into terminals, not by punch cards.
No, I'm not.
He said something that he recanted. Punch-cards were in use at the same time as early assemblers.
The most current way to do stuff is by developing stuff for new hardware on existing hardware. The existing hardware is used to cross-compile code that will only work on the new hardware.
The new code is often directly flashed into EEPROM and the like to get things started. Once the new hardware has a working environment, then things like assemblers and compilers can be modified to work directly on the new system.