4 ms·
When you put it that way, I sort of agree with you. I don't think whether a language is close to the metal or high level is an important distinction to be made
by toomanybeersies 5y ago
When you put it that way, I sort of agree with you. I don't think whether a language is close to the metal or high level is an important distinction to be made in the context of learning computer science, but I do think that learning about different programming paradigms and concepts in the abstract is important.
Learning x86 assembly for the sake of it isn't useful or educational. However, building an x86 compiler (or in my case JVM compiler) as part of a languages and compilers course is something worth doing.
- lostcolony 5y agoWell, I will say that the class that had us learn assembler started with (software) FPGAs, then assembler, then C. The idea being that it demystifies a lot of what is going on underneath your code. Does it actually help you write better code in most instances? Probably not. It's helpful if you're writing embedded things (and that was the whole gist of the class), but for many devs it's not that useful. But that knowledge is still comforting; I've met devs who didn't have it, and they felt a little uncomfortable that they didn't understand how the code they wrote actually affected the underlying machine. shrug Certainly, "our CS degree is good for anything that isn't too low level" isn't the vibe most universities are going for.