8 min read

Learning new skills takes time – that’s why, before learning something, you need to know that what you’re learning is going to be worthwhile. This is particularly true when deciding which programming language to learn.

As we approach the new year, it’s a good time to reflect on our top learning priorities for 2019. But which programming should you learn in 2019?

We’ve put together a list of the top programming languages to learn in the new year – as well as reasons you should learn them, and some suggestions for how you can get started. This will help you take steps to expand your skill set in 2019 in the way that’s right for you.

Want to learn a new programming language? We have thousands of eBooks and videos in our $5 sale to help you get to grips with everything from Python to Rust.

Python

Python has been a growing programming language for some time and it shows no signs of disappearing. There are a number of reasons for this, but the biggest is the irresistible allure of artificial intelligence. Once you know Python, performing some relatively sophisticated deep learning tasks becomes relatively easy, not least because of the impressive ecosystem of tools that surround it, like TensorFlow.

But Python’s importance isn’t just about machine learning. It’s flexibility means it has a diverse range of applications. If you’re a full-stack developer, for example, you might find Python useful for developing backend services and APIs; equally, if you’re in security or SRE, Python can be useful for automating aspects of your infrastructure to keep things secure and reliable.

Put simply, Python is a useful addition to your skill set.

Learn Python in 2019 if…

  • You’re new to software development
  • You want to try your hand at machine learning
  • You want to write automation scripts

Want to get started? Check out these titles:

Clean Code in Python book

Clean Code in Python
Learning Python
Learn Programming in Python with Cody Jackson
Python for Everyday Life [Video]

 

 

 

Go

Go isn’t quite as popular as Python, but it is growing rapidly. And its fans are incredibly vocal about why they love it: it’s incredibly simple, yet also amazingly powerful.

The reason for this is its creation: it was initially developed by Google that wanted a programming language that could handle the complexity of the systems they were developing, without adding to complexity in terms of knowledge and workflows.

Combining the best aspects of functional and object oriented programming, as well as featuring a valuable set of in-built development tools, the language is likely to only go from strength to strength over the next 12 months.

Learn Go in 2019 if…

  • You’re a backend or full-stack developer looking to increase your language knowledge
  • You’re working in ops or SRE
  • Looking for an alternative to Python

Learn Go with these eBooks and videos:

Mastering Go book

Mastering Go
Cloud Native programming with Golang
Hands-On Go Programming
Hands-On Full-Stack Development with Go

 

 

 

Rust

In Stack Overflow’s 2018 developer survey Rust was revealed to be the best loved language among the developers using it. 80% of respondents said they loved using it or wanted to use it.

Now, while Rust lacks the simplicity of Go and Python, it does do what it sets out to do very well – systems programming that’s fast, efficient, and secure.

In fact, developers like to debate the merits of Rust and Go – it seems they occupy the minds of very similar developers. However, while they do have some similarities, there are key differences that should make it easier to decide which one you learn.

At a basic level, Rust is better for lower level programming, while Go will allow you to get things done quickly. Rust does have a lot of rules, all of which will help you develop incredibly performant applications, but this does mean it has a steeper learning curve than something like Go. Ultimately it will depend on what you want to use the language for and how much time you have to learn something new.

Learn Rust in 2019 if…

  • You want to know why Rust developers love it so much
  • You do systems programming
  • You have a bit of time to tackle its learning curve

Learn Rust with these titles:

Rust Quick Start Guide

Rust Quick Start Guide
Building Reusable Code with Rust [Video]
Learning Rust [Video]
Hands-On Concurrency with Rust

 

 

 

TypeScript

TypeScript has quietly been gaining popularity over recent years. But it feels like 2018 has been the year that it has really broke through to capture the imagination of the wider developer community. Perhaps it’s just Satya Nadella’s magic…

More likely, however, it’s because we’re now trying to do too much with plain old JavaScript. We simply can’t build applications of the complexity we want without drowning in lines of code.

Essentially, TypeScript bulks up JavaScript, and makes it suitable for building applications of the future. It’s no surprise that TypeScript is now fundamental to core JavaScript frameworks – even Google decided to use it in Angular.

But it’s not just for front end JavaScript developers – there are examples of Java and C# developers looking closely at TypeScript, as it shares many features with established statically typed languages.

Learn TypeScript in 2019 if…

  • You’re a JavaScript developer
  • You’re a Java or C# developer looking to expand their horizons

Learn TypeScript in 2019:

TypeScript 3.0 Quick Start Guide

TypeScript 3.0 Quick Start Guide
TypeScript High Performance
Introduction to TypeScript [Video]

 

 

 

 

Scala

Scala has been around for some time, but its performance gains over Java have seen it growing in popularity in recent years. It isn’t the easiest language to learn – in comparison with other Java-related languages, like Kotlin, which haven’t strayed far from its originator, Scala is almost an attempt to rewrite the rule book.

It’s a good multi-purpose programming language that brings together functional programming principles and the object oriented principles you find in Java. It’s also designed for concurrency, giving you a scale of power that just isn’t possible.

The one drawback of Scala is that it doesn’t have the consistency in its ecosystem in the way that, say, Java does. This does mean, however, that Scala expertise can be really valuable if you have the time to dedicate time to really getting to know the language.

Learn Scala in 2019 if…

  • You’re looking for an alternative to Java that’s more scalable and handles concurrency much better
  • You’re working with big data

Learn Scala:

Learn Scala Programming book

Learn Scala Programming
Professional Scala [Video]
Scala Machine Learning Projects
Scala Design Patterns – Second Edition

 

 

 

Swift

Swift started life as a replacement for Objective-C for iOS developers. While it’s still primarily used by those in the Apple development community, there are some signs that Swift could expand beyond its beginnings to become a language of choice for server and systems programming.

The core development team have consistently demonstrated they have a sense of purpose is building a language fit for the future, with versions 3 and 4 both showing significant signs of evolution.

Fast, relatively easy to learn, and secure, not only has Swift managed to deliver on its brief to offer a better alternative to Objective-C, it also looks well-suited to many of the challenges programmers will be facing in the years to come.

Learn Swift in 2019 if…

  • You want to build apps for Apple products
  • You’re interested in a new way to write server code

Learn Swift:

Learn Swift by Building Applications

Learn Swift by Building Applications
Hands-On Full-Stack Development with Swift
Hands-On Server-Side Web Development with Swift

 

 

 

 

Kotlin

It makes sense for Kotlin to follow Swift. The parallels between the two are notable; it might be crude, but you could say that Kotlin is to Java what Swift is to Objective-C.

There are, of course, some who feel that the comparison isn’t favorable, with accusations that one language is merely copying the other, but perhaps the similarities shouldn’t really be that surprising – they’re both trying to do the same things: provide a better alternative to what already exists.

Regardless of the debates, Kotlin is a particularly compelling language if you’re a Java developer. It works extremely well, for example, with Spring Boot to develop web services. Certainly as monolithic Java applications shift into microservices, Kotlin is only going to become more popular.

Learn Kotlin in 2019 if…

  • You’re a Java developer that wants to build better apps, faster
  • You want to see what all the fuss is about from the Android community

Learn Kotlin:

Learn Kotlin by Building Android Applications book

Kotlin Quick Start Guide
Learning Kotlin by building Android Applications
Learn Kotlin Programming [Video]

 

 

 

 

C

Most of the languages on this list are pretty new, but I’m going to finish with a classic that refuses to go away.

C has a reputation for being complicated and hard to learn, but it remains relevant because you can find it in so much of the software we take for granted. It’s the backbone of our operating systems, and used in everyday objects that have software embedded in them.

Together, this means C is a language worth learning because it gives you an insight into how software actually works on machines. In a world where abstraction and accessibility rules the software landscape, getting beneath everything can be extremely valuable.

Learn C in 2019 if…

You’re looking for a new challenge
You want to gain a deeper understanding of how software works on your machine
You’re interested in developing embedded systems and virtual reality projects

Learn C:

C Programming for Beginners

Learn and Master C Programming For Absolute Beginners! [Video]

Co-editor of the Packt Hub. Interested in politics, tech culture, and how software and business are changing each other.