Monday, March 25, 2013

The Importance of Assembly

There's a commonly held belief among programmers: if you want to be a great coder, write something new everyday for a few years. While this may be true, I find that it tends to settle a programmer into a particular language. Doing so, almost closes the mind to what one is actually doing, entering in line after line of code. I feel that it makes a coder lazy. Sure laziness can be a good thing; who knows what the world would be like if someone hadn't invented the methods copy and paste. But laziness can make programs inefficient and heavy. I believe that if developers encouraged more efficient means of coding, computers of today wouldn't need to be anywhere as powerful. The problem with higher level languages is that they use higher level commands, copying and pasting snippits of lower level code that have a general use, and a general efficiency. Most programmers will never know the complexities of a command as simply as print.

I am someone who can program in assembly. Not for any big processors, like x86 or x64, but I know my way around ARM, AVR, and Zilog. Writing a small amount of code completely changes how you look at other projects. In assembly, you have to be cognizant of every line of code, because you want to squeeze every ounce of power out of what you're writing. It encourages writing specific bits of code in specific ways, for specific purposes. Every piece of code is purpose specific. Every problem requires a creative solution. If you want to be a great programmer, learn a little bit of assembly. It goes a long way.

No comments:

Post a Comment