The new year is always a great time for reflection on the past year, but also a time to look forward to the next year and to imagine what’s to come.
For programmers, this is a good time to think about new skills you want to learn or interesting projects you want to take part in. Below we present some of the major programming trends to prepare for to help you stay at the top of your game in 2019 — but not before taking a look back at the key programming themes of 2018.
A Look Back at Programming Trends in 2018
Stack Overflow and GitHub both have extensive datasets on the most-used or most popular programming languages.
The chart below from Stack Overflow shows the most popular languages of 2018. As you can see, JavaScript tops the list, which is no surprise: it continues to be used everywhere, for both frontend and backend development. In fact, this is the sixth consecutive year that JavaScript topped the list.
Source: Stack OverFlow
Data from GitHub also puts JavaScript on top (see the chart below). According to GitHub, JavaScript has the most contributors in public and private repositories, across organizations of all sizes, and in every region of the world.
Source: GitHub Octoverse Report
JavaScript also reigns supreme by other measures. In addition to having the most contributors, JavaScript represented the largest number of new GitHub repositories created in 2018, as seen in the chart below.
Top programming languages by repositories created, 2008–2018. Source: GitHub Octoverse Report
This meteoric rise was aided in part by new JavaScript servers like Node.js (launched in 2009), which allows programmers to use the same code for both the client and the server.
But what about other languages? Python and C++ both moved up the list, while C moved down a bit and Ruby plummeted from 5th to 10th. TypeScript is another big mover, going from 10th to 7th in the last year.
How will the trends we’ve seen in 2018 affect the programming world in 2019? Obviously, JavaScript will remain a dominant language. But there are other languages that are growing a lot faster.
2019 Trend #1: Could Python Catch up to Java?
If you look at the chart above, you’ll see that Python is already the third most popular programming language in the world. According to Stack Overflow, it surpassed C# in popularity in 2018 and PHP in 2017. But Python only recently achieved this status.
The chart below illustrates the meteoric rise of Python.
Source: Stack Overflow
What happened?
Surely the growing interest in artificial intelligence (AI) is fueling Python’s growth. And engineers seem to love programming with it: According to a survey, Python was the favorite language of IEEE members in 2018.
Source: IEEE Spectrum
Python also topped the IEEE survey in 2017, just barely beating out C. It appears to be replacing R for a lot of uses (R is a specialized language for dealing with statistics and big data — critical for AI and machine learning applications).
It’s likely that the availability of Python libraries for statistics and machine learning has made Python a more attractive language for machine learning than R. Overall, you can do a lot more with Python than you can with R, which is really just for stats and big data. For example, you can use Python to build games, websites, business applications, and a lot more.
So if you’re thinking about getting into AI and machine learning — or if you’re already doing this kind of work in R — Python is a must-learn language for you in 2019.
2019 Trend #2: TypeScript is Now a Top 10 Language
According to the latest GitHub Octoverse Report, TypeScript is now the 7th most-used language, up from 10th in 2017 (see the second chart we shared above). And as you can see in the image below, it’s the 3rd fastest growing language overall.
Fastest growing languages by contributors as of September 30, 2018. Source: GitHub Octoverse Report
TypeScript is essentially a strongly-typed version of JavaScript that is designed for type safety and interoperability. Because it’s strongly-typed, you never have to define types for variables because they’re already defined by type inference.
Interestingly, you can code in TypeScript and then transpile (convert) your code to JavaScript. This means you can use TypeScript to circumvent some of the more annoying features of JavaScript.
2019 Trend #3: “Go” is Making Programming Easier
Go made the IEEE top ten list in 2018 for the first time (see the IEEE Spectrum chart above). It’s also the 5th fastest growing language according to IEEE, and the 7th fastest according to GitHub. It must be pretty special. Let’s see why.
Go is an open-source programming language introduced by Google. It’s syntactically similar to C, but, like Python, is easier than most other languages to read and write. This is perhaps one reason why it’s growing in popularity so quickly.
Go is also strongly-typed (like TypeScript) and you can use it for all sorts of frontend and backend applications. You can also use Go to build concurrent applications, which break the work up into multiple threads during execution. And, amazingly, you can even transpile your Go code into JavaScript.
Apparently, Google is considering transitioning its products to Go, which would help propel the popularity of the language even further. So if you’re looking for a new language to learn in 2019, you can’t go wrong with Go.
Conclusion
There you have it: The top three programming trends to watch in 2019 are the rise of Python, TypeScript, and Go. All three are great choices if you’re looking for a new language to learn.
You might choose Python if you want to do statistical analysis or machine learning on big data. Or you might decide to take up TypeScript for an easier way to code in JavaScript. If you’re used to coding in C, Go could make your life easier and give you the capability to transpile your code into JavaScript if you need to.
Will new languages like Go and TypeScript make learning JavaScript a thing of the past? That would surely make many new developers happy. But it’s too early to say. What’s certain is that we’ll be seeing a lot more of these three languages (Python, TypeScript, and Go) in 2019.