今日推荐英文原文：《2020 and Beyond Programming Trend Predictions》
今日推荐英文原文：《2020 and Beyond Programming Trend Predictions》作者：Indrek Lasn
2020 and Beyond Programming Trend Predictions
Predicting what programming technologies will emerge in 2020
Photo by Safar Safarov on Unsplash
2020 is almost here, as crazy as that sounds. The year 2020 sounds like it’s derived from science fiction, yet here we are — about to knock on its front door.
If you’re curious about what the future might bring to the programming world, you’re in the right place. I might be completely wrong — don’t quote me on this— but here’s what I think will happen. I can’t predict the future, but I can make educated guesses.
“The best way to predict your future is to create it.” ― Abraham Lincoln
Rust Will Become Mainstream
Rust is a multi-paradigm system programming language focused on safety — especially safe concurrency. Rust is syntactically similar to C++, but it’s designed to provide better memory safety while maintaining high performance.
Source: Leftover Salad
We’ve seen four years of strong growth of the Rust programming language. I believe 2020 is the year Rust will officially become mainstream. What is mainstream is up for self-interpretation, but I believe schools will start introducing Rust to their curriculum. This will create a new wave of Rust engineers.
Most loved programming languages from the 2019 StackOverflow Survey.
Rust has proven itself to be a great language with a vibrant and active community. With Facebook building Libra on Rust — its the biggest project ever — we’re about to see what Rust is really made off.
If you’re looking to learn a new language, I would strongly recommend learning Rust.
GraphQL Adoption Will Continue to Grow
GraphQL Google Trends
As our applications grow in complexity, so do our data consumption needs. I’m a big fan of GraphQL, and I’ve used it many times. I think it’s a far superior solution to fetching data compared with a traditional REST API.
While typical REST APIs require loading from multiple URLs, GraphQL APIs get all the data your app needs in a single request.
GraphQL is used by teams of all sizes in many different environments and languages to power mobile apps, websites, and APIs.
Who’s using GraphQL
Progressive Web Apps Are a Force to Reckon WithProgressive Web Apps (PWA) is a new approach to building applications by combining the best features of the web with the top qualities of mobile apps.
Photo by Rami Al-zayat on Unsplash
There are way more web developers in the wild than native platform-specific developers. Once big companies realize that they can repurpose their web devs to make progressive web applications, I suspect that we’ll be seeing a huge wave of PWAs.
It will take a while for bigger companies to adapt, though, which is pretty normal for technology. The progressive part would generally fall towards the front end development since it’s mostly all about interacting with the Web Workers API (Native Browser API).
Web apps aren’t going anywhere. More people are catching onto the idea that writing a single cross-compatible PWA is less work and more money for your time.
PWA Google Trends
Web Assembly Will See More Light
WebAssembly (abbreviated Wasm) is a binary instruction format for a stack-based virtual machine. Wasm is designed as a portable target for compilation of high-level languages like C, C++, and Rust. Wasm also enables deployment on the web for client and server applications. PWAs can use wasm too.
Performance is key, and as the amount of data grows, it will be even harder to keep a good performance. That’s when low-level libraries from C++ or Rust come into play. We’ll see bigger companies adopting Web Assembly and snowball from there.
React Will Continue to Reign
React — https://reactjs.org
I’ve worked with Vue, Angular, and React, and I think they’re all fantastic frameworks to work with. Remember, the goal of a library is to get stuff done, so focus less on the flavor, and more on the getting stuff done. It’s utterly unproductive to argue about what framework is the “best.” Pick a framework and channel all your energy into building stuff instead.
Top languages over time
Top open source projects