Web Developer working on work projects at a cafe

Everyone starts somewhere. That’s the first thing to remember about programming and software development, especially if you’re just learning a new language (or two) and things seem a bit intimidating (What’s a framework?). If you’re new to tech and/or programming, the sheer number of languages might also be overwhelming—where do you even begin to start?

Fortunately, the world’s most popular languages also have a variety of uses, and learning just one or two can set you up for a wide range of opportunities. Here are some pointers as you begin your explorations:

Python

At this juncture, Python seems pretty much unstoppable. Although much-loved by many developers as a solid “generalist” language, Python has been making substantial inroads into a number of highly specialized areas, including data science and machine learning

So the language is virtually ubiquitous (which is why it regularly places near the top of various popular programming language lists), which means that learning it can open up all kinds of cool jobs and projects. Plus, many developers think it’s easy to learn. “Python is the perfect first programming language for beginners,” Sebastian Lutter, CTO at Pixolution, recently told Dice. “It provides a clear and readable syntax that makes it easy to learn the fundamentals of programming and allows you to focus on creating solutions for your problems quickly.”

As you might expect, given its popularity, there are also a lot of Python-related learning materials online. For example, Python.org offers a handy beginner’s guide to programming and Python.  Microsoft has a video series, “Python for Beginners,” with dozens of lessons (most under five minutes in length; none longer than 13 minutes). 

Java

Java is an immensely popular language utilized in a variety of contexts, with an overwhelming focus on “write once, run anywhere” (WORA), which means it can run on any device with a Java virtual machine (JVM)

Fortunately, there are a ton of solid Java resources all over the web. InfoWorld, for instance, is very good about detailing updates to the language on its dedicated Java page. If you’re looking for help from a community of experts, Oracle maintains a forum where you can ask questions and review what others are doing, as well as a tutorial site. There’s a subreddit, of course, for those needing Java help and tutorials

Once you’ve mastered some of the language’s fundamentals, you may want to test your skills on some problems, in which case, HackerRank has you covered.

Kotlin

Although used by relatively few developers compared to other languages such as Java and Python, Kotlin could catch on rapidly, especially since Google named it a first-class language for Android development. 

Google is so intent on making Kotlin a popular language, in fact, that it now offers an online course, Android Basics in Kotlin, which is an excellent starting point for beginners. There’s also additional, Google-hosted classes, including Kotlin Bootcamp for ProgrammersAndroid Kotlin Fundamentals, and, for those with a bit more experience, Advanced Android in Kotlin.

While the majority of Kotlin developers use the language to build mobile apps, it’s also increasingly utilized for web backend projects, desktop apps, and even Internet of Things (IoT) projects. Even if you’re not interested in building Android apps, in other words, it’s worth a look. 

Swift

In the beginning, those developers playing in the Apple software ecosystem only had Objective-C to program in. And then, after three decades, some developers within Apple decided it was time for something new. In 2014, the product of their hard work, Swift, made its debut, and quickly gained features (and lost some gnarly issues) over the next several years. 

The latest versions of Swift offer increased module stability and a stable binary interface, boosting the language’s flexibility. It’s essential to know if you have any interest in building apps and services for iOS, iPadOS, macOS, watchOS, and anything else that Apple might choose to debut over the next several years (*cough* augmented reality OS *cough*). And iOS knowledge is vital if you’re doing anything that intersects with mobile apps and services.  

If you’re studying the elements of Swift, get to know functionsloopssetsarrays, and strings, as well as structs and classesSwift Playgrounds, although ostensibly targeted at kids, is useful for beginning Swift coders of all ages.   

JavaScript

If you’re interested in building anything web-related—whether web apps or websites—you need to become as familiar with JavaScript as you can, since the language handles much of the web’s underlying functionality (learning HTML and CSS is also important, but that’s another story entirely). 

Those who want to start off learning JavaScript should head over to The Modern JavaScript Tutorial, which has the elements of the language broken out into discrete modules. Full Stack Academy also has a breakdown of free lessons. Once you’re well-versed in the basics of the language, you should begin exploring frameworks, which can streamline the workflow for this occasionally-persnickety language

Also, if you’re learning JavaScript, it’s well worth your time to learn as much as you can about TypeScript, a superset of JavaScript that just hit version 4.0. Whether or not you consider TypeScript a programming language unto itself (many popular programming-language rankings choose to do so), it’s undeniable that TypeScript offers speed and improvements that can accelerate your JavaScript programming. (For the uninitiated, TypeScript transpiles whatever you code to JavaScript.) 

According to the 2020 edition of the Stack Overflow Developer Survey, some 67.1 percent of surveyed developers said they loved TypeScript, just ahead of Python (66.7 percent) and Kotlin (62.9 percent). That’s some powerful incentive to give it a try.