I just did a quick semi-deep dive into learning assembly!
Why? Because revolutionizing computer programming is a high priority for me, and I no longer trust the wobbling tower of poorly-designed abstractions that modern computing is built upon.
Will revolutionizing programming require the replacement of the most fundamental abstractions we make, such as the function?
I think that might just be the case. (At the very least we should make functions extensible without breaking backward compatibility by having each function accept exactly 1 parameter that is an object or struct; more on that another time.) Therefore, learning assembly can help me bypass all of that.
When it comes to learning NASM and assembly, here's a tutorial I'm loving so far: https://cs.lmu.edu/~ray/notes/nasmtutorial/ .