Engineering with Utsav

View Original

Programming languages you should learn in 2023

If you were to invest your time and energy into picking up a programming language in 2023, whether as a beginner or as a seasoned programmer looking to expand their arsenal, which are the programming languages you should be considering? And why? Are they in-demand? The job market can be a good indication, but that can also mean stale tech from over decades of use. Do they pay the highest? Higher pay is always good, but it could also mean a niche programming language that not many people know. Or is it the future outlook, community and scope of the programming language? I’ll do my best to cover all of those areas for my recommendations … but remember that there is no “best” here … all of them are good options in their own right. When it comes to being a marketable software engineer in 2023 and beyond, the best case scenario is to be well-versed in two or more of these programming languages. For context, I have been programming for about 2 decades now … and out of the 10 programming languages I mention in this list, I am pretty well-versed in 6 of them. Well, with that said, let’s look my top 5 programming language recommendations for 2023, a few to avoid and a couple of honorable mentions.

5. Go

Fifth on the list, is Go. Go is a relatively new programming language, but it is gaining popularity due to its simplicity and scalability. Its syntax is easy to learn and understand, with a small set of keywords and self-containing libraries, which also makes it a great choice of beginners. Go is agile, fast, and efficient, because it has a built-in concurrency model that allows it to handle multiple tasks and requests simultaneously. That makes it a powerful language for developing web applications and micro-services, and as such, Go is used by large companies like Google, Uber, Netflix and Dropbox that operate at enormous scale. Go is not only high up on programmers’ most-loved and most-wanted lists — it also correlates to a 33% salary bump (PDF, 2.4 MB). In fact, Go is only 2nd to Scala when it comes to the highest paying programming languages in the US and also ranks very highly among the programming languages that developers want to learn.

4. Rust

Fourth, on my recommendation list is Rust. Rust is a powerful programming language that is gaining popularity very rapidly among developers. It’s still relatively new, so you won’t see it on the top end of the most popular programming languages”. But, it is the #1 programming language that developers want to learn and for the developers who already know Rust, it is also the most loved one, with almost 87% developers loving it. That should be an indication of the respect Rust has gotten among developers. It is a safe and reliable language, with built-in memory safety and data-race detection. Rust is also memory-efficient, allowing developers to write efficient code without sacrificing performance. Additionally, Rust enables developers to create robust multi-threaded and concurrent applications, making it a great choice for large-scale and distributed applications. Finally, Rust has a great community that is growing by the minute, with plenty of online resources providing support and guidance to those learning the language. The one downside of Rust is that it is a lower-level language, so it requires a little bit more effort to get started. Rust's syntax can also be difficult to learn. And while the community is actively growing, it may not yet be easy to find technical answers should you get stuck. So, ideally, Rust would be the 2nd or the 3rd programming language you pick up. If you are an absolute beginner, I would still direct you towards my top 2 recommendations in this video.

3. SQL

The third on my list is SQL. This will probably surprise some of you, but learning SQL is important. Just to clarify, when I say SQL, I am not talking about SQL Server or MySQL or PostGreSQL … those are databases. So please don’t come at me in the comments saying how SQL is dead and NoSQL is the new thing. What I am talking about is SQL as in, Structured Query Language, the language you use to query databases, both SQL and NoSQL. I’ve mentioned this in a lot of my videos before, but in today’s tech world, you have to be well-versed with the entire stack as a Software Engineer. And working with data is a critical part of the stack. The reason SQL is on this list, and in fact, ranks higher than Python in the most popular languages, is because once you learn SQL, you can write queries for almost all popular databases not just the ones that have SQL in their name. For example — Mongo, Cosmos, Cassandra, Dynamo, Kusto — all can be queried using SQL, or some very minor variant of it.

2. Python

Python is my second-highest recommendation, and not surprisingly, it is also the second most popular programming language right now. It is versatile and easy to learn, which also makes it ideal for beginners. At the same time, Python is also very popular among experienced developers, as it allows them to quickly develop powerful applications. Python is used for web development, data science, machine learning, and many more areas, but for 2023, the notable area to highlight is machine learning. Python is often the de facto choice for software engineers pursuing the field of machine learning. There are three great reasons for that. First, not everyone in machine learning or data science has a background in programming, and since Python easy to learn, it makes it easy to pick up. Second, Python has a wide range of libraries and frameworks for building machine learning models, including powerful numerical and scientific computing libraries like NumPy, SciPy, and Scikit-Learn. And finally, Python has a large and vibrant community of developers and data scientists who are constantly working to improve and expand the capabilities of the language as well as the libraries and frameworks available for it.

Before we look at my number 1 recommendation, let’s look at two honorable mentions and two programming languages you should avoid. Let’s start by looking at the ones to avoid.

The curious case of C++ and Java

C++ and Java are interesting ones … they always make it to the most popular programming languages list, but there is a bit more to it. If you already know these or are using these in your university, that’s great. I think the job demand for these languages are still pretty stable and improvements continued to be made to the programming language and it’s related frameworks. That being said, I am reluctant to recommend these as new programming languages to learn in 2023. If you look at the most popular programming languages here, you can clearly see that Java and C++ both made it to the top 10. However, if you switch to the Professional Developer part of the survey, C++ drops down a few places and in the Learning to Code part of the survey, both Java and C++ jump up a fair bit. This indicates that Java and C++ aren’t as popular in the professional world as they are with people learning to code. But, if you look at the the most popular programming languages that developers want to learn, Java and C++ aren’t at the top. Hmm, so what gives? I am pretty certain that their popularity in the Learning to Code part of the survey is largely due to colleges and universities predominantly teaching Java and C++ in their curriculums. Folks that watch this video who are in school, please comment what is the main programming language you are using for most of your classes? Let’s see if this hypothesis holds true for the audience of this channel. Also, I will give you batter alternative to Java in the honorable mentions section of this video, but there is however, a case to be made for Java and C++. Java has been around for a long time, and because of that, there are a lot of existing companies that are based on Java, which means, there is a strong job market for it. It may not be the highest paying job, but the demand is there for sure. In fact, Java currently ranks as the third-most sought-after programming language for hiring managers globally. And as far as C++ goes, if you can get into the niche of FinTech, it can be one of the highest paying tech jobs out there. So, there are some positives to these languages.. for sure, and if you can capitalize on those, these are good choices. Otherwise, stay away from these two in 2023.

Honorable Mentions

Alright, now let’s look at two honorable mentions.

Kotlin

My first honorable mention is Kotlin. Kotlin is an open-source programming language that offers a wide range of modern features, making it an excellent choice for developers who want to write powerful and efficient code. Kotlin offers great readability and simplicity, allowing developers to write code that is easy to read and maintain. Furthermore, Kotlin is interoperable with Java, which means that developers can use existing Java libraries and frameworks in their Kotlin projects. Kotlin is also a great choice for Android development, as it offers safer and more concise code than Java, as well as support for modern features such as coroutines and sealed classes. So instead of picking up Java, I would recommend Kotlin for 2023. However, Kotlin is much more than just a Java alternative or a programming language for Android. You can use Kotlin for your entire stack. High profile Companies like Netflix, Uber, Slack, Evernote, Atlassian and obvious, Google, have adopted Kotlin.

C#

My second honorable mention is C#. C# is a popular programming language and a great choice for those who are looking for a language that is both powerful and easy to learn. It is used for creating a variety of applications, from web and mobile applications to gaming, desktop applications, and more. It is also the language of choice for many developers because of its scalability and its ability to create robust, secure applications. With C#, you can build applications that will run on multiple platforms, including Windows, Linux, macOS, and Android. Additionally, the language is backed by a strong community of developers who are always ready to help and offer advice. In fact, C# and .NET now have the largest developer community in the world. And, there is a decent job demand for it as well — roughly one of every five hiring managers (PDF, 2.4 MB) is looking for a developer that can code with C#.

Winner

1. Javascript & Typescript

And finally, my number one recommendation for 2023 shouldn’t come as a surprise — it is Javascript, along with TypeScript. JavaScript is a powerful language that can be used for a wide range of tasks. Not to mention, it continues to be the most popular programming language year-over-year, both in terms of popularity and demand. It is a mature language and there is a ton of resources available online to help you learn. Javascript is also the foundation of popular runtimes and frameworks like NodeJs, VueJS and React, which are widely adopted to create dynamic web applications. And lastly, Javascript is very easy to get started with, making it a great choice for beginners. From a job market perspective, Javascript is the most in-demand programming language with Python coming in a close 2nd.

While Javascript has its advantages, your code can start to get a bit messy once you start encountering the more advanced bits of it, like hoisting, callbacks, closures and async code blocks, which can trick even experienced programmers. Typescript makes all this much more manageable, and provides a number of benefits over JavaScript, which makes it a great choice to learn after you’ve wrapped your head around Javascript. Typescript adds support for static typing, which allows developers to catch errors earlier in the development process. It also provides better support for large-scale projects, as it is easier to maintain large codebases written in TypeScript. And finally, TypeScript provides improved documentation and tooling, making it easier to develop, debug, and refactor code. Most large-scale applications based on a Javascript stack prefer Typescript due to the improved code maintainability it provides. A word of warning though, don’t get ahead of yourself and skip right away to TypeScript — it is critical that you understand JavaScript because eventually code written in TypeScript is transpiled into JavaScript and you will often need to step through the generated JavaScript code to debug some bugs.