A Programmer’s Mind

Programming is a very specific art that involves taking program code and somehow turn it into computer instructions. This presents a challenge to humans because we’re wired very much different from computers; what we think is perfectly natural may be inherently alien to machines and vice versa.

For example, machines have no concept of guilt or forgiveness and thus cannot forgive mistakes. If you break your code, the machine won’t sit down, pat you on the back, and say that you probably did your best. It won’t blame you or mock you. It will cease operations, spew out more or less friendly error messages, and wait for you to improve.

Further, machines are perfect logical beings. There’s a meme about a programmer’s wife asking her husband to bring two liters of milk from the store and if they have fresh eggs, bring a dozen, whereby the programmer brings a dozen liters of milk because they had fresh eggs. Machines think like that, and as programmers, we need to think like that too.

Finally, computers do not try to understand you. You may have programs that try to understand what you are trying to do, but unless someone has instructed the machine to do something, it doesn’t happen. The computers will not prevent anyone from exploiting weaknesses, for example, if you have left open or neglected security holes. Your friend may call the cops when a burglar breaks in even if you haven’t told them to watch the door; a computer will not.

This may lead you to think that computers are inherently stupid and you’d be right if you judge stupidity by standards we normally reserve for humans, but the reality is that computers can teach us a lot about how to interact and behave in society in general.

The absolute adherence to accuracy, for example, can lead a programmer to think more than once about a given answer to a question or an approach to a task. A programmer may be more likely to understand and make logical arguments in a debate and may understand better to explicitly include necessary or exclude unnecessary information or details in a description.

Programming is inherently good for you. Not building software because someone has usually taken the difficulty away form you.

I mean hard core programming where you actually need to write code that in turn converts, through more or less obscure channels, into instructions a machine needs to work. Once you master that, you have mastered not just the training of your computer but also expanded your mind to think in a way that is more logical, less prone to error, and more likely to be efficient.

Found this article valuable? Want to show your appreciation? Here are some options:

a) Click on the banners anywhere on the site to visit my blog's sponsors. They are all hand-picked and are selected based on providing great products and services to the SharePoint community.

b) Donate Bitcoins! I love Bitcoins, and you can donate if you'd like by clicking the button below.

c) Spread the word! Below, you should find links to sharing this article on your favorite social media sites. I'm an attention junkie, so sharing is caring in my book!

Pin It