5 predictions for 2020 software architecture trends
The future of coding in 2020 is showcased in Rust, Python and Elixir. All of these are languages that underwent a lot of growth in 2019, and they show a lot of promise when it comes to adoption in 2020.
Rust has become an important language in terms of the infrastructure and networking data space. It's moving from the early innovation stage to mainstream adoption. Rust is a systems programming language, which makes it useful for distributed systems and microservices. It seems that part of the goal with Rust is to have it replace C and C++ in the future. In fact, Facebook chose Rust for the development of its Libra cryptocurrency.
In certain ways, Rust is more concise than C++. It turns a lot of the basic development practices in C++ into fundamental language requirements. For example, Rust emphasizes memory safety, which is critical in this next stage of distributed development. Asynchronous calls happen smoothly. And, in some cases, Rust compiles faster than C and C++. There aren't a lot of developer job postings that call for it, but it's a big part of the future of coding. It's become highly regarded through word of mouth and overall interest in general-purpose languages.
And then there's Python, the oldest programming language of the three. The Python community, in general, is still small, but Python is one of the highest-rated languages. It's been the language of choice for glue code in data science and machine learning development.
Expect to see more velocity toward Python adoption in 2020, driven both by its high ranking and the trend toward general-purpose programming languages. There's consistent adoption and consistent use, and Python hasn't dropped off in the way that Ruby and some other emerging languages have.
Finally, Elixir is an innovative language that's gotten a lot of buzz as part of the future of coding practices. Although it's still a niche programming language, Elixir takes a lot of its inspiration from the Ruby ecosystem, and is also trying to bring C-like benefits into its development arena. Elixir creates fault-tolerant applications in distributed environments.
Elixir is a functional language, so it provides concurrency and other benefits of that language type. But it can also act as a general-purpose language, so it provides cutting-edge capabilities as a language that is approachable for a lot of programmers.
Kerry Doyle is an independent IT industry analyst.