11 programming languages that will improve your life

11 programming languages you should learn nowNot 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.

JavaScript – Despite the name similarity with Java, this language has C at its core and runs only on browsers, whereas Java can run at the machine level. Every modern website with interactive or animated features uses JavaScript, and it appears in game development and desktop applications.

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.

PHP – A server-side scripting language like JavaScript but with general-purpose programming capabilities, PHP (known also as Hypertext Processor) is essential to dynamic websites and content management systems such as WordPress because it can be embedded into website markup language instead of sitting in an external file. PHP appears on most of today’s data-driven websites.

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.

Windows 8.1, Obamacare, and the risks of early adoption

Early Adopters

We all enjoy occasional trips along the cutting edge. Spurred by our adrenaline and excitement, these trips can lift moods and egos by suggesting that we’re smarter, faster, better than the masses.

Those who live by this routine are called early adopters, or “trendsetters.” They’re a step removed from innovators but enjoy the cachet of being first at anything.

They constitute a distinct population, whereas most of us prefer hanging with the masses and steering wide of the danger zone, because the comfort zone has lounge chairs and mini refrigerators.

But what if there seems no choice but to join the early adopters?

That was the feeling people had last week before flaws and a resulting wave of bad press beset two high-profile tech arrivals: Windows RT 8.1 and HealthCare.gov.

Both were supposed to address pressing national issues. Both were touted as easy fixes for those issues. And both went public after intense PR campaigns nudging the public toward early adoption.

Now, both are case studies for caution.

Windows RT 8.1, an operating system update released last Thursday, aimed to fix the balky, user-unfriendly Microsoft Windows 8 for tablet PCs. Less than two days later, RT was withdrawn from the free-download section of the Microsoft Store because of reports that it was rendering tablets unresponsive or inoperative.

HealthCare.gov, the official registration site for the Obama administration’s health care expansion, was promoted as an easy-open door to health care for millions of Americans without any. But it nearly drowned from a flood of applicants after going live Oct. 1, then suffered complaints that it was confusing and difficult to use.

Microsoft resumed Windows RT 8.1 downloads Sunday and showed dismayed users how to resurrect their failing tablets. Exactly what went wrong in the first place was not announced.

The federal government meanwhile says it will enlist “experts” to repair HealthCare.gov ― which sounds as if they weren’t already on board ― but time is against them; the deadline for millions of uninsured Americans to register is late March, and the site was supposed to handle much of the load.

Early adopters relish the exclusivity that being first provides. This emotional impulse puts these people out front and keeps them there.

But the impulse works two ways; a segment of the early adopter population simply seeks completion. Members vie for first place not to brag but to escape the crowd. Their comfort zones lack room for more than one person.

I was among them until becoming personal technology editor for the St. Louis Post-Dispatch. For six years, part of my job involved reviewing new devices and software before they went public and wrestling with whatever hardships ensued. The main benefit was that I learned how to fix computers and other gadgets without guidance, because sometimes the equipment was too new to have any.

The secondary benefit was an awareness of what it took to be a successful early adopter: research. Those who take risks at any level and count their success in bunches also prepare for failure to come just as often. They examine what precipitated innovation and see obstacles as challenges. They have read about other people’s mistakes, even interviewed the people who made them. They trade wisdom and warnings, share insights and incentives.

In short, they’re prepared to accept the pain just as much as the pleasure of early adoption.

Close observers of Microsoft understand that Windows has a history of quirkiness. That’s not necessarily a dig against Microsoft, rather an acknowledgement that computer operating systems are complex and difficult to perfect.

Web developers understand that any site meant to guide millions of visitors simultaneously through a maze of information by disparate and perhaps conflicting sources needs testing and re-testing before going live. That’s not necessarily an assault on HealthCare.gov’s creators, rather a reminder that huge sites require a huge amount of testing no matter whose name is on them.

In hindsight, it was smarter to wait on Windows RT 8.1 and hold off jumping into HealthCare.gov. So, next time you’re pressured to be an early adopter, consider looking back before jumping out in front.