0
$\begingroup$

My apologies if the title is confusing. First I begin with the statement that may be wrong but what I always thought what happened.

"Dennis Ritchie created C compiler which was used to create other Unix or Linux compilers, which helped us create current Linux eco system."

The idea behind this was that if you take a modern laptop or a desktop computer today, it would not be able to run without a bytecode. This bytecode such as OS or minimal CLI, is a result of hard work going back to all the way to 1970-ies and 1980-ies.

Then my friend told me I was wrong. So I started researching.

We all know the story about how Dennis Ritchie created first C compiler which was then used to improve the C language?

It appears that this compiler was, although may have been used, it resulted to be a reference implementation. Portable C compiler was then created from scratch by another person which was then used in Bell labs for other computers.

So probably, Dennis Ritchie invented C language, and everyone liked it and started implementing C compiler. Everyone, I mean companies and universities.. Maybe creating C language made sense using assembly. If this is true, then it explains why there were so many various proprietary compilers. Everyone just used assembler to write one.

I quickly skimmed through the book about Richard Stallman "Free as in software" (using Ctrl+f). The book does say that RMS tried asking some University for permission to use their C compiler for free, then tried using Pastel (sort of Pascal) but neither worked out, and RMS decided to write C compiler from scratch. The book does not specifically say how, what technology did Richard Stallman use, neither I was able to find a proof from reliable source. Only ChatGPT, which is not quite reliable source without proofs or links. So ChatGPT thinks that RMS used assembler to write GCC from scratch. It makes sense since he was testing it on Vax. Here is the quote:

Free as in Freedom 2.0, by Richard Stallman :

Stallman made substantial progress at first, building a C-compatible frontend to the compiler and testing it on the larger Vax, whose system could handle large memory spaces. When he tried porting the system to the 68010, and investigated why it crashed, he discovered the memory size problem, and concluded he would have to build a totally new compiler from scratch.

Needless to say that they used GCC to compile further versions of GCC.

So probably the GCC compiler that we use nowadays was created in assembler from scratch by Richard Stallman some time in 80's.

And probably what Dennis Ritchie created was the actual C language that influenced everyone to reimplement their own C compilers, not actually using Dennis' compiler.

If we look at the very first commits in GCC repository on github, the very first commit only has one file:

gcc/config/m68k/xm-3b1.h which contains only 5 lines of strange code.

it refers to Motorolla CPU https://en.wikipedia.org/wiki/Motorola_68000_series so probably strengthens my suspicion that RMS used assembler to write GCC.

Probably not a very scientific of me to throw these claims here and expect for an answer but maybe someone knows with actual reliable source?

Apologies if this has been asked already and answered somewhere, but I did perform some sort of google search.

Thank you.

Sources I have inspected:

$\endgroup$
4

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.