-38
Think about it (suppo.fi)
submitted 11 months ago by Albin7326@suppo.fi to c/programmerhumor@lemmy.ml
top 21 comments
sorted by: hot top controversial new old
[-] minauteur@infosec.pub 78 points 11 months ago

This might qualify as humor if you don’t know much at all about programming.

[-] Jumuta@sh.itjust.works 1 points 11 months ago

I used to wonder how the first computers were coded without computers in primary school

[-] hperrin@lemmy.world 7 points 11 months ago

For anyone else who wonders: by manually wiring in the circuits and flipping switches.

https://en.wikipedia.org/wiki/Plugboard#Early_computers

[-] olsonexi@lemmy.wtf 62 points 11 months ago

first they had machine code
then they wrote the assembler in machine code
then they rewrote the assembler in assembly
and assembled it with the machine code assembler
then they wrote the C compiler in assembly
and assembled it with the assembly assembler
then they rewrote the C compiler in C
and compiled it with the assembly C compiler
then they had the C compiler
and everything else was written in C

(note: this is a massive oversimplification and ignores much of the history of programming languages, but it at least gets across the idea of how bootstrapping is done)

[-] hperrin@lemmy.world 10 points 11 months ago

And then we fucked it all up by writing the JavaScript interpreter.

[-] SatyrSack@lemmy.one 1 points 11 months ago

Blame the Brave CEO

[-] SkyeStarfall@lemmy.blahaj.zone 8 points 11 months ago

Indeed. And the machine code is created as part of the physical CPU design.

[-] Malgas@beehaw.org 3 points 11 months ago

Also the first version of a new compiler (the one written in another language) is often skeletal, implementing only the features necessary to compile the full version (written in its own language), which is then immediately used to recompile itself.

[-] The_Hideous_Orgalorg@sh.itjust.works 27 points 11 months ago

It's programming languages all the way down.

[-] ch00f@lemmy.world 20 points 11 months ago

Assembly. Each command literally translates to a binary number that the processor will interpret to perform certain functions.

[-] alokir@lemmy.world 6 points 11 months ago

Or bytecode that the runtime will interpret

[-] datendefekt@lemmy.ml 18 points 11 months ago

You might want to put down that bong.

[-] dandroid@dandroid.app 13 points 11 months ago

I mean, it's not like this is some thought-provoking concept that no one has thought of before. For my SE degree I took 3 classes that focused heavily on the subject. We even wrote an interpreter for our very own programming language in one of them. And that was just part of the standard curriculum.

https://guix.gnu.org/en/blog/2023/the-full-source-bootstrap-building-from-source-all-the-way-down/
Is a very interesting read on that topic. It's about how to get to "full" compilers without using already existing "full" compilers.

[-] DigitalPaperTrail@kbin.social 6 points 11 months ago* (last edited 11 months ago)

it's gatekeeping all the way down

[-] Flexaris@discuss.tchncs.de 5 points 11 months ago

How did they know the first ruler was correct if they didn't have a ruler to verify it?

[-] Luvon@beehaw.org 5 points 11 months ago
[-] arisunz@lemmy.blahaj.zone 4 points 11 months ago

blood, sweat, spit and sometimes a bunch of formal grammar

[-] shiveyarbles@beehaw.org 2 points 11 months ago

From energon cubes

[-] DarkenLM@kbin.social 2 points 11 months ago

With themselves!

[-] ssboomman@lemm.ee 1 points 11 months ago

That are almost always built by lower level programing languages

this post was submitted on 12 Oct 2023
-38 points (31.0% liked)

Programmer Humor

32124 readers
1724 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS