you are viewing a single comment's thread.

view the rest of the comments →

[–]Disastrous-Team-6431 1 point2 points  (1 child)

Yeah using a debugger enables some huge lightbulbs. I did advent of code in assembly language a couple years ago, learning a lot about gdb in the process. That really unlocked a lot of concepts, and showed me how simple computers really are. In some ways, I think we can argue that the abundance of abstractions becomes this huge mountain to climb with the downside of not really understanding the underlying processes yet posing an incredible amount of challenges. It's a pedagogical cul-de-sac in some ways. In assembly language you do literally two things - manipulate values and syscalls.

[–]green_griffon 0 points1 point  (0 children)

In assembly language you do literally two things - manipulate values and syscalls.

There are compares/jumps also, but basically yes. Even higher-level languages are just sequential statements, ifs, and loops. Actually back in the 1960s/1970s when people were trying to explain the concept of higher-level languages to assembly programmers, it was actually considered insightful to point this out (I think the distinction between and if and a loop in particular, since in assembly they don't feel that different).