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.
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.
IEEE Spectrum has a fascinating interactive chart that allows you to weight different factors.
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.
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.
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.
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.