42BITES Blog

Sviluppiamo le tue idee

Top Programming Languages to Learn in 2019

2019-06-10 sergiotech

Cos’è una Progressive Web App? A cosa serve? Come si fa a crearne una?

Deciding which programming languages to learn is one of the most enjoyable things we get to do as software engineers, but it is also incredibly impactful on our career and the types of jobs we will be able to find. The opportunity cost of learning a programming language means it takes time away from learning something else, so we must be efficient where we focus our efforts to ensure we are set up for success now and in the future.

This list ranks languages both on their current growth rate as well as the impact on the industry as a whole. It will introduce languages from different areas of the stack — you will find useful material whether you want to be a frontend engineer, backend engineer, or mobile developer. Let’s take a look at the top programming languages of 2019.

TypeScript

The growth of TypeScript has taken over the JavaScript world with countless startups and tech giants adopting it as their primary language to use JS. There is no denying the impact of JavaScript on application development, and many see TypeScript as a necessary extension of the core ECMAScript language which provides compile-time static type checking as well as visibility into the code which is not available through standard JavaScript.

TypeScript has become the defacto type system for JS, beating out other competitors such as Flow and has far more adoption than ReasonML. According to Stackoverflow, TypeScript is the #3 most loved programming with a score of 73.1%. This ranks only behind Rust and Python and one spot above Kotlin — all of which are on this list.

The State of JavaScript survey shows TypeScript as the second most used flavor of JS just behind ES6 with 80.4% of developers using it or wanting to learn it.

unsplash.com

While some try to argue that TypeScript could become the next CoffeeScript, there is no denying TS’s impact on the JS ecosystem and the uniqueness of the problem it solves. TypeScript has only been around for 6 years and has realized incredible support from the community. Without any indication of native type support in JavaScript, it appears TypeScript will be here for years to come.

Python

Developers love Python. Year after year, this fact holds true. Python has become the primary language for data scientists, with R as its only real competition. In addition, Python is used extensively for building web application APIs and general scripting.

Python has been around for over 30 years and has withstood the test of time. It ranks as the #2 most loved language and #1 as the most wanted language.

unsplash.com

Python is also hitting 2 milestones. It recently eclipsed JavaScript for the total number of StackOverflow questions, and it is deprecating Python 2.x and moving fully towards the future with Python 3.

Python has proven that it will remain a force as a top language for software engineers. If you invest your time into learning it, there is no doubt that it will pay off.

Kotlin

When Kotlin was introduced, developers rapidly adopted it as a better alternative to writing Android applications compared to Java. Recently, Google has even named it as the preferred method for Android app development.

Kotlin is a cross-platform language that is meant to interoperate entirely with Java and run on the JVM. The language is statically typed but known to be much more concise than Java. In addition to providing better code readability and developer experience, other improvements of Kotlin are null-pointer safety, extension functions, and infix notation.

Kotlin ranks as the #4 most loved language according to StackOverflow and has solidified itself as the better alternative to Java. Whether you want to build apps for Android or just have a better language on the JVM, Kotlin is an excellent choice to ensure you are prepared for the future.

Swift

Swift was introduced by Apple as an alternative to Objective-C to write applications for iOS and Mac. Much like Kotlin has replaced Java for Android apps, Swift has rapidly become the preferred coding language for iPhone developers. Swift ranks as the #6 most loved programming language and has solidified itself as an essential tool for mobile developers.

GO

Golang has rapidly taken the position as one of the top languages to build microservices. The language was created a decade ago by Google and offers many of the benefits of C/C++, but Go makes many changes to improve brevity, simplicity, and safety.

Simply stated, Go does practically everything well. The code is easy to understand but also incredibly efficient computationally. A new developer can pick it up rather quickly. It is a statically typed and compiled language that manages concurrency efficiently.

unsplash.com

Go is mostly noted for its unique location on the continuum of developer experience while also being incredibly fast. The code writes almost like a scripting language, allowing developers to rapidly build services. However, its type inference also provides visibility into the code that we would expect from more verbose languages, as well as the same safety. Go has been optimized by Google to be incredibly efficient with memory and blazing fast.

Given the many benefits of Go, it is not surprising it has been rapidly adopted. Its speed makes it a great choice for web servers, and it is simple enough to quickly spin up micro-services. It handles networking very well, and Go also does a good job as a language for systems. Some practical implementations of Go are:

  • Kubernetes is built with Go
  • The primary language for the Ethereum source code and Hyperledger blockchain
  • Countless web servers and tools for top tier tech companies (Google, Uber, Twitch, Medium, Postmates, and many more)

Go may be the perfect language to add to your developer toolbox. Its ability to do so many things well means that it will always be in the conversation as a tool to use for any job.

Rust

This list would not be complete without including Rust. For the fourth straight year, it was ranked as the #1 most loved programming language in 2019 according to StackOverflow. Rust is primarily used as a systems programming language but has recognized growth beyond this area. There are more tutorials popping up to use Rust as a web server, and it is one of the languages that can compile into WebAssembly. Share the love and check out why so many people are turning to Rust.

Elixir (or Scala orClojure)

With the rise of popularity and adoption for functional programming, a list of the top languages would not be complete without including at least one. You would not go wrong with Elixir, Scala, or Clojure — all three languages have a high average salary, similar usage, and developer adoption. Since I need to pick one, my personal experience and anecdotal evidence lead me to recommend Elixir. It is a newer language and appears to be growing rapidly. One story to depict the capabilities of Elixir is the article from the popular chat app Discord where they explain how they scaled to 5M concurrent users by utilizing Elixir . Ultimately, if you want to learn functional programming, pick one of Elixir, Scala, or Clojure, and you can’t go wrong.

GraphQL

GraphQL is a query language that totally changes the way we think about we build APIs. Representational State Transfer(REST) has been the dominant methodology for API architecture where the URL structure dictates the data which it contains. This requires that the client understand all the available endpoints and shape of the data returned. GraphQL upends this thought process by using a single endpoint to request data. The data itself must be defined in a schema which is statically typed. By providing a well-defined schema through a single URL, the API is entirely self-documenting. The client can view exactly what data is contained on the server. In addition, the application becomes entirely data-driven — the client sends a (possibly nested) object of keys for the data that they want. The GraphQL server responds with a JSON object containing the matching key/value pairs from the request. This allows the client to request exactly the data that they need for a given page. While GraphQL is still in its infancy, it is quickly being adopted by startups and tech giants. Facebook created the language and actively uses it in their apps. In addition, companies such as GitHub, Pinterest, PayPal, and many more use the technology. According to the State of JavaScript survey, an astounding 83% of developers have used or want to use GraphQL.

unsplash.com

GraphQL is on pace to revolutionize API development, and learning the technology will provide you opportunities for years to come.

Solidity

Is blockchain hype or a real force to revolutionize technology? While the debate echos with every swing of coin prices, the test of time and adoption by large tech companies indicate it will likely be around for years. One of the promises of blockchain is that it can usher in the Web 3.0 — an entirely decentralized internet where code is executed by individuals instead of being housed in servers and controlled by corporations. The vision is idealistic, but it is one that truly gives the people the power. Ethereum has emerged as the leader for building decentralized applications (DApps), where the data is stored on the blockchain and code is executed on the Ethereum Virtual Machine (EVM) on nodes running from individuals in the network. Solidity has become the most popular language for Ethereum development, and it compiles to byte code that executes on the EVM. Solidity has been compared to JavaScript, but there are also versions of other popular languages that compile to the same byte code such as Vyper which is similar to Python. While Solidity has a much higher risk than the other languages on this list, it can also set you up to be on the cutting edge of technology.

Conclusion

Learning anything takes time, and we always want to ensure we use our time effectively. As software engineers, we learn new languages because we love it, but we are also aware that what we learn impacts our future and careers. We would all love to learn everything, but if you focus on the languages on this list, it will ensure you are adding tools to your skill set that will benefit you for years to come.

Loading...
Blog - 42BITES

42BITES Realizziamo web applications performanti, moderne ed efficaci. Lavoriamo in piccole squadre, in stretta collaborazione con i clienti. Vantiamo inoltre dei team leaders di grande esperienza, che collaborano ogni giorno con in nostri sviluppatori e project manager. I nostri ingegneri non sono solamente degli sviluppatori di software: infatti ne curano il design, li progettano, li testano e infine consegnano il prodotto finale.