Thanks to COVID-19, you’re trapped inside. It’s a stressful time… but it’s also an opportunity to learn some new stuff, including any programming languages you’ve had your eye on.
For many developers and technologists, learning a new programming language is often a self-directed effort, based largely on playing around with code until you’ve absorbed the fundamentals. But if you’re the kind of developer who needs lessons and a more structured environment in which to learn, check out websites such as Codeacademy, Code.org, and Codewars, all of which offer coding courses for free.
If you want something a bit more intensive (along with lessons that focus on the more advanced aspects of computer science), Massachusetts Institute of Technology (MIT) has created the OpenCourseWare (OCW) initiative, which features all of the study materials for MIT undergraduate and graduate-level courses.
While there are dozens of programming languages to learn, the following five are popular, with lots of accompanying documentation; not only are they fun to learn, but they could also boost your job prospects.
Swift
Apple’s programming language for building iOS and macOS apps is getting more robust with each passing year. When it first launched at the 2014 edition of Apple’s Worldwide Developers Conference (WWDC), it was pretty bare-bones, and many developers decided to stick (at least for the moment) with Objective-C, Swift’s decades-old predecessor. But recent Swift updates have seen the addition of vital features such as module stability.
Anyone whose job or programming hobby touches on mobile needs to know Swift works, especially as Objective-C begins to truly fade away (except for those developers tasked with maintaining legacy code). If you want to know where to begin, check out our short tutorials on functions, loops, sets, arrays, strings, and struts and classes. Apple, as you might expect, also has some great documentation for those developers just starting out.
Kotlin
After Google named Kotlin a “first class” language for Android development, you might have thought that its popularity would skyrocket. That hasn’t come to pass, at least if you follow the various programming-language rankings—analyst firm RedMonk, for example, believes that Kotlin’s usage has “plateaued”—but the language is nonetheless positioned for potential greatness as a possible Java replacement.
Kotlin 1.3 features coroutines, inline classes, and other features necessary to get some nuanced work done. If you work with Java and/or Android, it’s well worth exploring if you have some time.
Python
You love to see it: What “programming language breakdown” wouldn’t include everyone’s favorite snake-y language? As we’ve said many a time before, it’s clear (based on the data) that Python is rapidly expanding into all kinds of new niches, including data science, artificial intelligence (A.I.) and machine learning.
Given its burgeoning popularity, there are lots of good online venues for learning Python. In addition to a range of tutorials and resources, there’s also Python.org, which includes a handy beginner’s guide to programming and Python.
JavaScript/TypeScript
JavaScript: A good language to know. According to the HackerRank 2020 Developer Skills Report, it’s the top language sought by employers hiring software developers, just ahead of Python and Java. If you’re not that familiar with it, swing by hackr.io, which lists a variety of courses and tutorials for various languages. Alternatively, Mozilla’s site comes with its very nice rundown of the language’s basics. Then there’s JavaScript.info, which offers an extensive walkthrough of fundamentals.
If you’re preparing for a job interview for a JavaScript developer position, be aware that companies are interested not only in your coding skills, but also how you’ll work as part of a team; interview questions might include everything from your past projects to how you dealt with team-related issues.
If you’re studying JavaScript, you might as well devote some time to TypeScript, a superset of JavaScript that’s enjoying a boost in popularity. “As with Python, TypeScript is succeeding in part because of patterns,” is how RedMonk framed TypeScript’s rise back in March. “Instead of versatility, however, TypeScript is buoyed by both its ability to intermingle with a large existing codebase in JavaScript and its potential ability to make the resulting code safer.”
Go
Go was the language that most developers planned on learning next, according to HackerRank’s 2020 Developer Skills Report (in doing so, it edged out Python, Kotlin, TypeScript, and R). If you’re curious about why this Google-invented language is ranking so highly among the world’s developers, give it a shot; see if its reputation for reliability and simplicity actually holds up.
For more COVID-19 content, check out the COVID-19 Jobs Resource Center.