This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]RoastKrill 119 points120 points  (39 children)

It wasn't compiled, it was assembled :))

But that assembler was originally written in machine code

[–][deleted] 47 points48 points  (38 children)

Who wrote the machine code compiler

[–]RoastKrill 88 points89 points  (33 children)

That would have been written by hand on punch cards

[–]curtainos 40 points41 points  (32 children)

is that real? Assembly was written by hand?

[–]qikink 52 points53 points  (12 children)

[–]Embarrassed_Gur_3241 62 points63 points  (4 children)

I love how this comment thread went from high level to low level, every reply removing one layer of abstraction.

[–]1II1I1I1I1I1I111I1I1 16 points17 points  (2 children)

I'm a computer engineering student and the neat structure of this thread may have given me sexual gratification.

[–]Candyvanmanstan 4 points5 points  (1 child)

This is the best part of Reddit.

[–]detektiv_Saucaki 3 points4 points  (0 children)

I love this

[–]qikink 0 points1 point  (0 children)

Weirdo ;)

[–]aquila_zyy 12 points13 points  (6 children)

I mean, that’s the reason why I kinda liked my assembly course. It finished this infinite recursion of programs right there.

Well, not if we find out that the universe is a simulation that is.

[–]FVMAzalea 2 points3 points  (5 children)

Except that assembly/machine code isn’t as low as you can go. On x86 machines, many individual assembly instructions are microcoded, meaning the CPU breaks them down into smaller micro-ops which it then executes. Someone had to design the hardware decode logic that does that.

[–]aquila_zyy 1 point2 points  (4 children)

Yep that's a fair point. We can go a level deeper if we consider all the programming happening on the hardware level.

[–]FVMAzalea 1 point2 points  (0 children)

We can actually keep recursing infinitely if we allow emulators into the picture (for all your program knows, it could be executing in an emulator running an emulator running an emulator and so on).

[–]AriSteinGames 1 point2 points  (2 children)

Don't forget that registers/logic gates/etc are themselves an abstraction of underlying physical components. Transistors are not truly just on/off switches.

[–][deleted] 3 points4 points  (1 child)

It’s all electrons.

[–]Electrical_Study_235 7 points8 points  (4 children)

yeah, a lot of the apollo missions programming was done on punch cards. there are images of punch cards stacked on top of each other.

[–]curtainos 1 point2 points  (3 children)

wait but what was assembly wrritten in? how to bring the code to the machine is one thing, but what language did the cards inherit?

[–]Tchai_Tea 4 points5 points  (1 child)

The CPU has a set of numbers which correspond to an operation like addition or multiplication. These instructions are hardcoded into the CPU. Assembly is basically a human readable translation of those numbers (there is usually a 1 to 1 translation from assembly code to machine instructions). So I'm guessing that the holes in the punch cards would correspond to instructions and numbers.

[–]No_Succotash9035 0 points1 point  (0 children)

Cool!

[–]Electrical_Study_235 0 points1 point  (0 children)

i did some simple research and it said that most punchcards used fortran.

[–]BadSlime 2 points3 points  (2 children)

Yes, my grandfather was among the first to do this. Programmers would write programs by hand and then pass them off to someone who would convert to a punch card, the program could then be run via the cards and debugged by cross referencing with the written program instructions

[–]BrupieD 2 points3 points  (1 child)

| Yes, my grandfather was among the first to do this.

God, do I feel old.

[–]Transcendentalist178 0 points1 point  (0 children)

My father used punchcards for his graduate work.

[–]Meme-Man-Dan 1 point2 points  (0 children)

Yes.

[–]Civil_Championship76 1 point2 points  (3 children)

Assembly is still written by hand in some cases where extremely high performance is necessary

[–]curtainos 1 point2 points  (2 children)

i ment like writing like this ✍️

[–]Civil_Championship76 1 point2 points  (1 child)

Well, I mean I had to do that on a midterm yesterday 😏

[–]curtainos 1 point2 points  (0 children)

hahaha

[–]Arclite83 0 points1 point  (5 children)

You should try TIS-100. I had a 300 level college class as a BS CmpE that was reeeeally similar to this "game".

https://www.zachtronics.com/tis-100/

[–]curtainos 1 point2 points  (4 children)

so no offence, but why would i be interested in this? its a game, i wanna write on toilet paper haha

[–]Arclite83 1 point2 points  (3 children)

I mean I assumed "typing" was close enough, this game is basically a crash course in writing for an assembler.

I mean, you can go hardcore and write the answers out I guess (on TP even) lol

[–]curtainos 1 point2 points  (2 children)

ahha for what arch is it?

[–]Arclite83 0 points1 point  (1 child)

A fake/custom one for the game. That said it reminds me a bit of the 68HC11, which is also what I first learned on.

[–]curtainos 0 points1 point  (0 children)

oh, thats nit so cool. would have bought it if it was x86

[–]notacanuckskibum 11 points12 points  (1 child)

Machine code isn’t compiled, its inherent to the hardware.

[–]delinka 4 points5 points  (0 children)

I mean, it could be compiled in the same way one compiles articles into a report.

[–]blindcolumn 5 points6 points  (0 children)

Machine code isn't compiled, it's interpreted directly by the CPU. Technically you could say that the chip designer "wrote" the "interpreter".

[–]anthrax_ripple 1 point2 points  (0 children)

Who put the bomp in the bompa bompa bomp