Or, Why C and assembly can be better teachers of the art of programming
- Working at such a low level forces you to think of the consequences of your actions: working as close to the bare metal as possible strips off any abstractions;
- Furthermore, coding at that level gives you a deeper understanding of those abstractions that you stripped off in the first place: coding their equivalents in C or assembly gives you an idea how and why exactly the abstraction works, and how to fix it if it breaks;
- Coding in assembly teaches you about how optimizations work.
That said, I still don't believe those new to the art of programming should be touching C. Or assembly for that matter.
Previously: On Filipino Developers and The Local IT Education Scene