Read other letters about this article
Learning assembley language is what really taught me about computers. Even though I learned on a PC running MS, it could've been a PC running Linux or a MAC. Learning Assembly was like a history lesson for CPUs and OS's - in my case MS - there's still DOS interupts way down in low memory - vector tables that let you access all areas of memory - the real controllers of any system. And to be able to access the CPU directly - and watch in debugger as the program runs and the registers change (or do't) - this is the stuff that links computers from 30 years ago to those in use today.
I used basic as a kid - and I wish I had stayed the course with it, but it seems archaic by today's standards, while learning assembly not only teaches you the real nuts and bolts of computer programming, forcing you to think about optimal code and heavy commenting - it's still practical for today's high-level programmers: tweaking and optimizing bits of code to conserve memory.