3 ms·
Is there any benefit to learning assembly now, or is it just fun to see what it was like then?
by misingnoglic 9y ago
Is there any benefit to learning assembly now, or is it just fun to see what it was like then?
- mathattack 9y agoSure. Knowing what's going on at the very bottom is useful for thinking through performance issues. Huge datasets run into hardware constraints. Knowing what's going on at the bottom can be useful there too. It's not mandatory, but it can be useful. The 3rd differential equations class may not be mandatory for a career in physics but it can be useful to understanding the foundations of the field. Learning Latin isn't mandatory for becoming an English teacher, but understanding the roots of words can be helpful.
- devrandomguy 9y agoIMO, assembly will remain an optimal tool for writing simple programs for very small microcontrollers. Consider the ATtiny4, for example, which has 32B ram and 512B of flash for code. If you can operate within those constraints, then you can build at a <$1 price point, and run on 2mW of power, less current than an LED. Heck, you could run the thing off of a joule thief, and pot the entire assembly in epoxy. Fitting a pared down libC into that might be possible, but why bother? The system is so small and simple, that the rationale for a high level language doesn't really apply. Most of your code will probably just be bitbanging and setting control registers anyway. But, most importantly, assembly is just plain fun, which is what will keep you coming back to the platform :)
- PeterisP 9y agoIt's a niche skill, there are applications in e.g. embedded and hardware development, security/malware analysis, performance hotspot optimization, where sometimes you'd want to go below C to asm or machine code. On the other hand, learning some assembly helps even when you're not using assembly - it increases the understanding of how things work under the hood and helps your reasoning about performance and security considerations even when working in much higher level languages.