It is now summer (for most of us at least!). If you have nothing lined up for you, and would like to learn something new or do something productive, why not consider learning how to program?

Why learn to program?

Have you ever tried to rename hundreds of files, or tried to organise some data files with thousands of entries by hand? If you have, you would know that the task is arduous and tedious, and you would be better off automating it. Programming can allow to do that, and you spend less time in front of the computer, and more time in the sunshine! (Or at least that’s the theory)

Learning to program can improve your logical thinking skills. While some algorithm to sort numbers may sound easy to comprehend, it is a different matter when you sit down and try to implement it. You would also be more appreciative of the work that programmers put in when you use software, or when you encounter some bugs.

There is an adage saying that everyone can be a programmer, and then there is another camp that says that not everyone can be a programmer. People argue, with the backing of studies that shows that a consistently high percentage of students fail their programming courses in universities, that not everyone is cut out to be a programmer. On the other hand, there are educators that attribute the failures to the way programming is taught, and that everyone can learn to program if taught properly. In this author’s humble opinion, everyone should just give programming a try first before they raise their hands in the air and give up.

Where to sign up?

There are lots of programming tutorials on the internet, but not all of them are equal. If you are new to programming, you should not worry about all the funny jargon and technicalities involved, especially the bit about “abstraction”. Start with something concrete, and fun. You could start by going to the Khan Academy and searching for a course on computer programming.

Otherwise, you could pick a language and start learning to program from the language. Once you have a firm grasp on one programming language, new languages will be relatively easy to learn. I would recommend that beginners start with Python, a powerful and versatile programming languages. It also introduces some very useful programming paradigms and techniques that you might just find enlightening and interesting. The official Python website has an extensive tutorial on learning the language.

Once you have a firm grasp on one language, you could try working on some interesting projects. For example, you could try coding a program to calculate one billion decimal places of pi, just for fun. Or learn a second language, such as C++ which is used more widely, but especially unforgiving for newcomers.