Just popped into my mind:
How was the first compiler compiled? :blobthinkingeyes:

@MrChainman Manually and it dates back to the time of punch cards.

@MrChainman A must-read if you're asking questions about compiler development. That's one of the best texts about programming I've ever seen: "Reflections on Trusting Trust" by Ken Thomson dl.acm.org/doi/pdf/10.1145/358

@przemo @MrChainman no it doesn't, compilers can compile themselves. Take a look at the computerphile video: youtube.com/watch?v=lJf2i87jgF

@Matter I don't understans the "no, it doesn't" answer. Yes, some compilers can compile themselves it, but obviously the first one didn't have that option. 😃 P.S. I can't watch yt without accepting the google licence.

@przemo The first one didn't have to be compiled because it was written in assembly.

Your PS is wrong, use mpv+youtube-dl or NewPipe on Android

@ericbuijs @Matter @przemo another option is to replace the URL for "YouTube" with "hooktube"

@LPS Thanks! I just found "Alternate Tube Redirector" for firefox that uses hooktube 😃

@MrChainman a compiler just translates human readable source code into machine code (1's and 0's). Before assemblers (the precursors to modern day compilers), you had to manually specify each instruction in binary. They just did that to create a program which could translate assembly to binary and later something like C to assembly, then binary.

@splatt9990 That's very interesting, but it opens up a rabbit hole for me:
How was it defined what certain sequences of 1's and 0's do?
Are we talking about instruction sets (like x86) or are we already at the transistor level?

@MrChainman @splatt9990 Originally, it was the logic gate level. The first few bits would be used to mask off which part of the CPU would end up executing the code, and some other bits would be used to look up the source and destination registers. All done with wires physically travelling from place to place.

The bit that turns it from just a simple, dumb machine into a computer is the fact that the output of one simple process than affects the input of the next, because it's stateful.

Sign in to participate in the conversation

Fosstodon is an English speaking Mastodon instance that is open to anyone who is interested in technology; particularly free & open source software.