I have always heard that every language's compiler is designed in some other language. For instance PHP's interpreter is written in C. C++ was written in C. JDK was written in C/C++. Then if I am not wrong there must lie a common language which is common in all. If there exists a common language that is at the bottom of every compiler than what is that language?
-
1I think at the bottom you will find manually soldered relais, controlled by holes in punchcards. – Yunnosch Apr 26 '18 at 17:43
-
1[How was the first C compiler written?](https://stackoverflow.com/questions/18125490/how-was-the-first-c-compiler-written) – rgettman Apr 26 '18 at 17:46
-
1PHP is always at the bottom. – Martin James Apr 26 '18 at 18:00
-
@zero298 this question is a _very_ poor fit over there for the same reasons as here. Please abstain of recommending sites you're not familiar with. See **[What goes on Software Engineering (previously known as Programmers)? A guide for Stack Overflow](https://softwareengineering.meta.stackexchange.com/q/7182/31260)** – gnat Apr 26 '18 at 21:55
2 Answers
C was originally written in assembly language and/or BCPL or other early languages. The first assemblers were written in machine language—essentially directly writing the numeric codes for instructions. Numeric codes were entered into the first computers through switches and other primitive input devices.
Nowadays, software for new computers is written using tools running on existing computers. Compilers are commonly designed with a front end (the part that reads and interprets the source code, producing an intermediate language useful for the compiler) and a back end (the part that turns the intermediate language into assembly code and/or object code). By writing a new back end, the source code for an existing compiler can be compiled for a new machine.

- 195,579
- 13
- 168
- 312
Many languages are indeed implemented or written in other languages. However, one sign of maturity in a language is that it can be written in itself. This is called bootstrapping. For more see https://en.wikipedia.org/wiki/Bootstrapping_(compilers)
Java is considered a bootstrapped language. To build Java from it's source you need a JDK already installed. It does rely on native components in the host OS to do some work, and this is why each platform has it's JDK build.

- 881
- 1
- 8
- 25