Predicting what programming technologies will emerge in 2020 . What are some programming trends predictions for 2020?
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 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. If you’re curious to learn more, I’d start learning Rust from this book. Go Rust!
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.
If you’re interested in learning GraphQL, check out this tutorial I wrote.
Progressive 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.
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.
Today is a perfect day to start learning more about PWAs, start here.
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 — 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.
If you’re feeling inspired, pick something from this list and start building today!
Article covers: How native is react native?, React Native vs (Ionic, Cordova), Similarities and difference between React Native and Native App Development.
In the past few years, the buzz around functional programming has been growing, but it can be challenging to apply theoretical concepts to everyday work. How can we make the code we work on more functional? What advanced patterns can you use, and why should you do that? And what do React hooks have to do with all this? In this talk we’ll have a look at real-life examples and patterns you can use to make React apps more functional.
This week, I had to construct a date selector form in React that looks like this. As you can see, the user interface includes the surrounding month and date options in addition to the selected date. This means that I need to not only keep track of the current date, but I also need a way to conveniently figure out how many days are in the selected month.
One of the core ideas in functional programming is composition: building larger things from smaller things. The canonical example of this idea should be familiar with legos.
Let’s talk about the raw way of writing functions. Functions perform certain set of actions according to our requirements which could include fetching data, updating State, changing a set of mutable values and updating the DOM and so on.