Hacker News new | past | comments | ask | show | jobs | submit login

You can't have it easier than assembler.

On x86, for example, you've got a couple of registers and a bunch of instructions that operate on them. Adding two numbers goes something like:

  mov eax,23
  mov ebx,42
  add eax,ebx
That's easier to reason about than what Python/Ruby/Whatever is doing behind the scenes when you do "23 + 42". In Python, for example, that expression is syntax sugar for 23.__add__(42). Both 23 and 42 are objects. How do they come into existence? How is the __add__ method looked up? How is it called? Where are these objects stored? How do they get cleaned up?

Assembly is not hard. It's just tedious. I'd rather do "23+42" and have the Python interpreter spit out the result than move numbers into registers, add them, and then figure out how to call C's printf from asm so I can see nicely formatted results.

PS: the best way to learn asm is to read GCC output in Intel syntax. The worst way to learn asm is to read GCC output in AT&T syntax.




Consider applying for YC's Summer 2025 batch! Applications are open till May 13

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: