print(“Hello World!”)
The programmer who made the OS
Actually compilers are more complex than operative systems, and incredibly they are built using compilers.
Compilers are built using compilers?
Yup, C is written in C. You bootstrap using a compiler written in another language until your language is complete enough to write its own compiler.
Alright, that’s kinda crazy lol.
At university the by far coolest and most fun course was compiler construction. We had to write something which would compile a small subset of Java (Javalette) into the Java Virtual Machine instruction set.
I wrote my compiler in Haskell because it seemed that it’d be much less hassle compared to do it in a object oriented or procedual language.
It ain’t pretty but it’s honest work: https://github.com/jeena/CC/blob/master/Compiler.hs
I wrote my compiler in Haskell because it seemed that it’d be much less hassle compared to do it in a object oriented or procedual language.
That is not a feeling I’d associate with Haskell!!
But it definitely was, oh and when you compared the results, I don’t remember the exact number anymore but compared to especially the solutions in Java and C++ the haskell ones used around 1/10 of the lines of code to solve this particular problem. Because in the end this problem really has a recursive nature.
When you write a compiler, you eventually have to write it twice. Once in a pre-existing language, then again in the language it compiles.
Just say no to bootstrapping.