Programming is a bit like fashion. There are “hot trends” and “must-have items”. What is old can sometimes be new again. Thus if you are saving groovy bell bottom pants from the 70’ or 90’s, you just never know…in Fall 2017 they might be cool again. Bell bottoms seem to come and go in contrast to skinny jean sensations.

Programming has been one of the most rewarding technical skills that I ever learned. It is a skill that keeps on giving back to you. Once you master common problem-solving patterns in one programming language, it is usually easy to pick up other languages. Seeing as computing technology is an integral part of our society, learning programming can be beneficial for anyone wanting to automate tedious tasks or become more efficient with available resources. I even saw an article once about a programmer that wrote scripts to secretly automate most of his job, email his wife and make lattes. The possibilities are endless.

Programming is peaceful and gratifying even though I tend to cuss when I code. It is what it is…code does not lie and usually can be controlled. Code teaches you patience and hard work. It also teaches you that no one is perfect including yourself. Bugs are inevitable. You can’t possibly think of all the crazy things users will do with your code.

Looking around my office this lovely April evening, I see a plethora of programming books including Python, R, Scala, SAS, Pig, C#, .NET, Unix, Perl, PHP, JavaScript, Raspberry Pi, PL/SQL, MDX, DAX, XML, and good old ASP. I bet I could still loop through classic ASP ADO recordsets even though I haven’t developed with it in over 12 years. I did donate my bell bottom pants HTML, Visual Basic and Cold Fusion books to the library years ago or my list would be much longer. After reviewing what is hot again for Winter 2017 Industry Pulse, it looks like I should break out Python. All my cool analytics peers are donning Python these days.

Python

Programming Language Rankings

Here is a table from ZDNet with a few lists of programming language rankings. Each source uses different language popularity metrics and criteria.

Top Programming Languages

Source: ZDNet

IEEE Spectrum has a fascinating interactive chart that allows you to weight different factors.

ieee

RedMonk released an interesting diagram in March 2017 based on Stack Overflow and GitHub activity.

Top Programming Languages

Every year I look forward to KDNuggets polls. These are the top skills my readers likely need to know to stay relevant. Notably KDNuggets software polls are influenced by vendor marketing much like industry analyst polls and crowd sourced rankings. This table seems to free of marketing bias though I don’t know how the data was collected.

KD Nuggets

If you are an analytics pro or a wannabe, I recommend minimally learning SQL, Python, and R. I assume you know Excel…if not, you will need it. For big data analytics enthusiasts, Spark, Scala, Kafka and Python seem to be all the rage. I did write a few Spark introduction articles for you last year and shared my top tips and on how to get started with it.

Last but not least, querying the job that you dream about usually helps prioritize the programming languages to learn. Here are results from 2017 Indeed developer job searches by Coding Dojo.

Indeed Programming Jobs

If you do decide to improve your programming prowess, learn multiple languages, platforms and frameworks. It is easiest to start with procedural concepts and then explore object-oriented programming. The best way to learn is to apply your skills in your life. Build something with the programming language – don’t just run through the exercises and forget it the next day.

Where to Learn

Although I am a personally an avid reader that loves my books dearly, most of the learning channels and MOOCs now use videos. Sigh… Some are kind enough to provide readers the transcripts of videos – thank you to anyone that does that for me. Seriously, there are zillions – yes zillions – of free learning resources.

Big Data University

To find all these hidden gems, just do a Google search for “free programming course” and the language that you want to learn. You will get long lists of results including Coursera, EdX, Big Data University, DataCamp, YouTube, GitHub and billions of other sites, vendor programs, and individual trainers around the world.