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