Not long ago, I wrote a piece for Perficient describing how learning to write computer code can improve one’s life, no matter who you are or what you do. I explained code writing’s value beyond being a marketable skill – that it promotes technical literacy and instills a sense of community, and that it heightens critical thinking and teaches us how to deal with failure. The piece was well-received, and the feedback suggests readers return to it periodically for review.
Soon after it published though, people asked the inevitable follow-up question: “If I have to invest the time and money into learning a programming language, which one should it be?”
I thought about issuing a quick response, then hesitated – for weeks. What seemed like an easy question lost that quality as I realized no single answer exists; programming benefits each person differently, and at peak effectiveness no one language stands alone. In my early programming days, the languages one learned were created to communicate simple instructions to a computer. Now, programming languages are created to make our lives and the world around us better. How you work or play, or how you mix the two, determines which languages are optimal.
Currently, a dozen programming languages sit atop most should-learn lists. Some are broadly practical; some apply to specific needs. All of them interact with other languages, so learning two or more is wiser – and potentially more profitable – than sticking with one. In alphabetical order, they are:
C – A general-purpose language developed in the early 1970s, C retains market popularity and usefulness due to its small size and robust nature. Numerous other languages borrow from C, which makes it a bedrock language and the first for anyone who plans to develop operating systems or create embedded applications.
C++ – Designed in the 1980s to enhance C, this language now qualifies as a general-purpose language used to build application software, systems software, server and client applications, and video games, and is central to Adobe programs and Firefox, among other software.
C# – This newer language, pronounced “C sharp,” utilizes principles from C and C++ and was developed by Microsoft to build enterprise applications for the company’s .NET initiative, making it essential to Microsoft platforms and services such as Azure.
Java – Developed by Sun Microsystems in the 1990s, this language has gained a huge following because it was designed to work across multiple platforms. Java is considered a standard for games, mobile apps, and web-based content, and it is the main reason programs written for Mac platforms can run on Windows.
Objective-C – This popularity of this general-purpose language was waning until it became a key building block for development of Apple systems. It powers not just OS X and iOS, but also is important for creating iPhone apps.
Python – The true beauty of this server-side scripting language is its simplicity; programmers can do more things with fewer lines of code than other programs, making Python a good language for beginners to learn. Google and Yahoo use Python a lot, and it is useful for sifting through giant data sets.
R – This language is important in the statistical computing and graphics environments, and can be found anywhere the need for statistical analysis arises. If you enjoy math and deal with heaps of data, this language ranks high on your should-learn list.
Ruby – No, this does not refer to the gemstone or anyone in Donald Fagen’s playlist. Ruby is a dynamic though simple object-oriented language that lies beneath the Ruby on Rails framework. It has the power necessary for developing websites as well as web apps, and is gaining popularity among tech startups for its versatility and ease of use.
SQL – Called “Structured Query Language,” this special-purpose lingua franca is good for relational database management systems and quite effective at extracting small details from large data sets through its “query” function.