by Michael Draper
The most popular programming languages used in blockchain development
We’re currently in the midst of a new burgeoning industry with blockchain development.
Blockchain technology is very much in a nascent stage, however this disruptive technology has already managed to take the world by storm and has experienced a boom like no other in recent times.
With many well-funded projects now eager to build out their blockchain network and deploy decentralized applications on top of them, there’s a great shortage of capable, competent blockchain developers.
With billions having been funneled into this sector, the pay and demand for blockchain developers has escalated with projects bidding against each other to attract the best blockchain talent that is left on the market.
This gold rush may leave some developers wondering if they have what it takes to dive into this industry, and especially what programming languages are most sought after in this new industry. Almost all popular programming languages are used in the blockchain industry, however developers have to consider what type of development they would like to undertake as different languages are used for certain blockchain projects and applications.
Here’s a brief rundown of the different languages and projects that are utilizing them to serve as a basic understanding and foundation for those looking to dive deeper into this industry.
Solidity — A new and simple programming language that is popular amongst Ethereum developers, as it is the language used for developing Ethereum smart contracts. Solidity is a contract-oriented Turing-complete programming language and the number of developers is estimated at over 200,000.
As Ethereum has taken the head start on smart contracts, many alternative blockchain platforms are ensuring that they are Solidity (or ERC-20) compatible, thus allowing smart contracts to be easily ported from Ethereum into their new blockchain networks.
Java — A general-purpose programming language that is concurrent, object-oriented, and class-based is designed in such a way that Java has few implementation dependencies. Since its launch in 1995, Java has become one of the top 3 programming languages and rightly so with over 9 million developers. NEM’s core blockchain network has been written solely in Java (soon to be C++).
C# — An object-oriented language known to enable developers to build robust applications that run on the .NET Framework with at least 2M developers worldwide. C# was developed back in 2000. Since its inception, it has become a popular programming language used to build powerful cross platform code that works over multiple operating systems such as Windows, Mac, Linux, and Android. Blockchain projects written with C# include:
- Stratis a Blockchain-as-a-Service provider backed by Microsoft, allows enterprises to build their own private blockchain systems.
SQL — Structured Query Language or ‘’Sequel’’ is a programming language developed by IBM used to communicate with databases that store, query, and manipulate data. There is an estimated 7 million developers for SQL today. Popular databases such as MySQL, PostgreSQL, SQL Server, DB2, Oracle and more all use SQL to develop applications. A blockchain project that incorporates SQL is:
- Aergo — An entreprise-ready blockchain solution developed by Blocko under their proprietary Coinstack technology utilizes SQL smart contracts. The Aergo chain features a SQL-based smart contract platform that will allow enterprise entities to create and execute advanced smart contracts in commercial business environments.
C++ — A general-purpose programming language with an estimated 4.4 million developers, it’s greatest strength lies in the capability to scale resource intensive applications and enable them to run smoothly, thus making it a very popular programming language for 3D games. Blockchain projects using C++ include:
- EOS — C++ is the main programming language of EOS preferred for its flexibility to run extensive applications on top of the blockchain. EOS also supports any language that compiles into WebAssembly (WASM)
Random Fact: Bitcoin core’s network is programmed in C++.
Golang — An open source general programming language loosely based on the syntax of the C programming language, Golang is easy for developers to learn, and for testers to understand. Currently there is an estimated 800,000+ developers on the Golang language that is used by the consortium network:
- HyperLedger Fabric — Most of the chaincode (smart contracts built using HyperLedger Fabrics) is written in Golang. They also have a Java SDK for developing blockchain applications.
Hopefully this has provided you with a basic overview of where to start and what to dig into further if the blockchain industry is something that interests you. There is little doubt that this industry will continue to further explode over the next decade or so as advancements are made and real-world adoption use cases emerge.