68 points

I get the feeling that all of these assembly jokes are justifications to avoid learning assembly.

You can still make syscalls in assembly. Assembly isnt magic. It isn’t starting from the creation of matter and energy, it’s just very specific code.

permalink
report
reply
19 points

It’s just a joke friend.

permalink
report
parent
reply
-1 points

I said so in my comment, try to keep up.

permalink
report
parent
reply
-24 points

A very bad one if it requires switching off a large portion of your brain to find it funny.

permalink
report
parent
reply
48 points

permalink
report
parent
reply
0 points

suspension of disbelief

permalink
report
parent
reply
3 points
Deleted by creator
permalink
report
reply
5 points

Nah, I don’t hate myself that much.

permalink
report
reply
10 points

Not exactly accurate, I think. Even machine language is bound by the CPU’s architecture. You can’t do anything in machine language that wasn’t specifically provided for by the CPU architects.

It would be more accurate to say it’s like creating a new universe using all the same laws of physics, thermodynamics, cosmology, ethics, etc as our existing universe.

permalink
report
reply
6 points

I don’t think accuracy was the goal, it is a joke not a dissertation. It’s more about how it feels to try a language like assembly after working with higher-level languages.

permalink
report
parent
reply
44 points

Assembly code is for writing C compilers, and C compilers are for writing Lisp interpreters.

permalink
report
reply
10 points
Deleted by creator
permalink
report
parent
reply
19 points

I saw a Scheme interpreter written in assembly running a C compiler written in Scheme.

permalink
report
parent
reply
29 points

permalink
report
parent
reply
4 points
*

There’s actually good reasons for this design. It’s easy to write a Scheme interpreter in assembly, but it’s hard to write a C compiler in assembly that handles everything correctly. Much rather write it in higher level language if possible and Scheme lowers the bar to getting there, so you can get away from using assembly as quickly as possible. Or you can copy somebody else’s Scheme implementation of a C compiler because now you’re platform independent.

Then you can write your C compiler in C (or steal a better compiler already written in C) and close the loop. For your final step, you use the C compiler to compile itself.

permalink
report
parent
reply
14 points
*

Only the most very basic compilers. C compilers are in C mainly.

permalink
report
parent
reply
2 points

And that’s how you get the Thompson hack

permalink
report
parent
reply
11 points
*

Not the first C compiler obviously. According to this Stack Overflow post, BCPL* begat B, which begat C. Language self-hosting is pretty fascinating.

*Perhaps BCPL was originally written in assembly; I’m not certain: https://github.com/SergeGris/BCPL-compiler

permalink
report
parent
reply
6 points

Talking about bootstrap here?

permalink
report
parent
reply
1 point

Indeed

permalink
report
parent
reply
4 points

Back in High School in the 80’s me and a buddy wrote a Z-80 editor assembler in TRS-DOS BASIC.

It was not rocket science.

permalink
report
parent
reply
4 points
*

I never did get very far with the TRS-80 Editor Assembler, but that was my first exposure to such things.

I also remember the BASIC code for the Dancing Daemon which was replete with PEEKs and POKEs, such that much of it was written in machine code.

permalink
report
parent
reply

Programmer Humor

!programmerhumor@lemmy.ml

Create post

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

Rules:

  • Posts must be relevant to programming, programmers, or computer science.
  • No NSFW content.
  • Jokes must be in good taste. No hate speech, bigotry, etc.

Community stats

  • 5.3K

    Monthly active users

  • 884

    Posts

  • 8.9K

    Comments

Community moderators