Is Rust the Programming Language of Web3?
Rust seems to be gaining in popularity on the Blockchain
This is just a short Op-Ed about the future of programming in relation to the blockchain community.
In 2022 it seems like developers are building dApps for Web3 applications in DeFi, gaming, NFTs and metaverses using the Rust programming language. This is especially true if you think Solana is a legitimate competitor to Ethereum’s dominance.
Rust is well-positioned to be the programming language to unseat the most commonly used development language for Ethereum dApps, Solidity.
There are some good programmers who really want to work in the blockchain, DeFi or Web3 space broadly speaking. Rust, of course, is a popular programming language that has a wide range of uses — it’s been the most-loved language in Stack Overflow’s annual developer survey for the last six years.
While a considerable portion of frontend development in Web3 is actually being done with a technology very familiar to Web 2.0 developers: JavaScript, Rust seems to be attracting a lot of new developers.
Rust developers can also work on Ethereum. Despite the developer ecosystem for Web3 being a tiny proportion of the larger web developer ecosystem, it appears to be fast-growing and it’s making a case for Rust as one of the key programming languages for the future of Web3.
Some now believe with Solana’s adoption of developers that if the blockchain Solana is anything to go by, Rust could become a key battleground technology for the future of Web3.
Many in the Web3 world view Solana as a potential competitor to Ethereum as the leading platform for dapps (decentralized applications). I don’t exactly know why this is, as Ethereum has a much more established community and way more developers. Solana ranks 8th now in market cap on coinmarketcap.com. It’s price has spiked to over $90. Although Ethereum’s market cap is over 10x that of Solana.
JavaScript can also be used for smart contracts, which are fundamental to the decentralized trust that is core to Web3 decentralized application development. In terms of smart contracts, Solana's smart contract model differs from traditional EVM-enabled blockchains. Traditional EVM-based contract combines code/logic and state into a single contract that is deployed on-chain. In contrast, a smart contract on Solana remains on read-only or stateless mode and contains program logic only.
Top Programming Languages in Blockchain
Solidity
C++
Python
Substrate
JavaScript
So where does Rust fit in?
Being a great Rust programmer is pretty much a prerequisite to being a great Rust blockchain programmer, and a lot of blockchain companies hiring Rust programmers will be happy just to have somebody who knows Rust well.
Polkadot is the biggest Rust blockchain project but with Solana rising that’s an interesting new motivation to learn at the intersection of Rust and Blockchain programming.
All in all, I can see why developers would want to work in Web3 and blockchain. The narrative for young people is often that Blockchain has to be one of the most exciting developer opportunities on the planet. As a field still in its infancy, there is so much potential for passionate and dedicated developers to carve out new ground and get creative in a revolutionary space.
Since Rust is well-liked and so is blockchain, it’s sort of normal to think that Rust would have a good future in Web3 projects. Although learning a new programming language may be daunting, it is clear that whoever embarks on this challenge won’t be short of job offerings as the blockchain industry expands into the metaverse. For those interested in that journey, becoming proficient in Rust may be a solid way to go.
If you enjoy this article, you might enjoy my A.I. Newsletter called A.I. Supremacy here.
There Appears to be A Shortage of Rust Developers
Due to this it may be easier to find jobs in Rust with limited working experience, if you have a strong grasp of the fundamentals of programming in Rust.
Unlike Solidity, Rust is not crypto specific, making it accessible to the existing pool of developers.
It is used by popular protocols such as NEAR, Compound and Solana. Like Solidity, Rust can be used to write smart contracts but is also popular in the gaming community.
So Rust may be the best programming language in the end for the intersection of Web, gaming and the Metaverse (if the intersection ever truly blossoms like many hope it does!).
I’m not a programmer but from what I can gather this intersection is also a challenge. Blockchain programming, and especially smart contract programming, and doubly-especially Rust smart contract programming is a wild west, and it requires a whole lot of esoteric and rapidly-evolving domain knowledge to really understand, and a lot of self-direction and determination.
If you find you enjoy Rust another way to go is Substate, so it’s important to realize what this is. Substrate is a project born from the Polkadot blockchain. It is a completely free- and open-source project built using Rust programming language. The development of substrate happens through public channels like Github and Riot with contributors across a wide spectrum of projects.
I believe in the end Polkadot will be a lot more important in the end than Solana.
The developer ecosystem for Web3 is growing and in demand. If you have been playing around with cryptocurrencies or NFTs, you may be familiar with the terminology used such as decentralized finance (DeFi), decentralized applications (dApps), smart contracts and Web3. Rust is a great place to start if you want to learn in those projects.
While pretty introductory, I hope this article gave you some insights into why Rust is intersecting with Web3 at this junction in 2022. Do note that this is actually my second stab at the topic.
Have a great weekend!
If you enjoy my articles please considering tipping, patronage and support as I cannot continue to write without community support. I want to keep my articles free for the majority of my readers.
I’m hoping this Newsletter can help, inform and inspire someone out there.
Thanks for reading!