Smart contracts are to contracts as blockchains are to financial payments.

What’s that supposed to mean?

Well, smart contracts that work well essentially eliminate the need for third-party entities to help govern, settle, dispute, or handle how contractual agreements (or disagreements) are played out between two or more parties.

In most legal systems today, if disputes or disagreements arise as to how a contract should be carried out between parties, the related parties generally convene in a court or with an arbiter, who then determines how the contractual agreement will be settled through a long procedure.

With smart contracts, there is no need, as the smart contract will function purely based off how it has been developed in code. So when it comes to blockchains and financial payments, the same is offered with peer-to-peer financial transactions.

Instead of having or needing to use a bank or other third party intermediary to facilitate a transaction, these third-party entities are eliminated so that two people are able to transact directly with one another.

This is why “smart contracts are to contracts, as blockchains are for financial payments.”

An example of a real-life “smart contract” is a vending machine.

When a buyer puts in the adequate amount of money in coins, the vending machine will allow the buyer to purchase their item of choice granted they have supplied enough money. There’s no need for a shopkeeper to count out money to facilitate the exchange, the vending machine is able to do that itself so, in this transaction, there are really only two parties involved: the vending machine and the buyer.

So with that, this brings us to the main topic for today: smart contract programming languages!

When people think of smart contracts, they tend to think of Ethereum, and for the more developer oriented minds, they will think of Solidity (or perhaps even the old Bitcoin Script).

What some are not aware of is that there are many other options that are popping up these days in the world of crypto. Before we dive into them, let’s first go over Solidity for those who aren’t familiar with what it is or what it’s all about…

Solidity was first developed by Gavin Wood, Christian Reitwiessner, Yoichi Hirai and several of Ethereum’s core contributors to enable the development of smart contracts that functioned on Ethereum.

Solidity is relatively new and as an object-oriented Turing-complete programming language it already has an estimated 200,000+ developers.

As Ethereum currently leads the way as the major smart contract platform, many alternative blockchains are ensuring Solidity (or ERC-20) compatible contracts run on their networks.

This means that smart contracts that have been deployed on Ethereum’s network may be easily ported from Ethereum to alternative blockchain networks that may be more suitable, such as FLETA, which supports Solidity as a smart contract language.

As a starting smart contract language, developers won’t go wrong with Solidity!

Golang is an open sourced programming language loosely based on the syntax of the C programming language. Golang is an easy language for developers to learn and current estimates place Golang developers at more than 800,000 worldwide.

Most of HyperLedger’s chaincode built using HyperLedger Fabrics for smart contracts are being written in Golang. FLETA also supports Golang as a smart contract programming language.

JavaScript was created by Brendan Eich, who will later go on to create Mozilla Firefox and Brave browser. JavaScript or JS is a lightweight, dynamic, and object-oriented programming language. JavaScript, along with HTML and CSS forms the three pillars of web designing. HTML helps put content on your website while CSS helps you with the design layout.

So, what exactly does JS do?

Before JavaScript came along, websites used to be extremely static. JavaScript brought along the era of more user-friendly and dynamic websites. When you keep this in context and realize how much business is done online, you can see why you can make such a strong case for JavasScript. It has single-handedly made websites more user-friendly.

Even though originally JavaScript was supposed to be a client-side script, several implementations such as node.js have allowed for server-side implementation as well. The Mozilla Foundation officially manages JavaScript and new language features get added periodically.

You can use JavaScript to create smart contracts in NEO. This article can help you get started

C++ is a general-purpose programming language that has at least 4.4 million developers isn’t necessarily the easiest or most pleasant to code in, however, it’s the greatest strength lies in its ability to scale resource-intensive applications and being able to run them smoothly.

As EOS supports smart contracts through their WebAssembly virtual machine, any language that can compile into Web Assembly (WASM) will be able to program smart contracts, C++, however, is the recommended language for developers to use on EOS.

Java is one of the most popular and in-demand programming languages out there. Created by Sun Microsystems in 1995, it is object-oriented and class-based. It has derived a lot of its syntax and structure from C++ and may not be the best place to start if you are a beginner.

It was designed for flexibility, allowing developers to write code that would run on any machine, regardless of architecture or platform. According to the Java home page, more than 15 billion devices run Java and there are more than 10 million Java developers around the world.

You can use Java to create smart contracts in NEO. They have extensive documentation which will show you how to do so.

SQL or ‘’Sequel’’ was developed by IBM as a programming language that has been used for communicating with databases by storing, querying, and interacting with data.

AERGO, an enterprise-ready blockchain project out of Hong Kong incorporates SQL-based smart contracts. With a focus on commercial business environments, they aim to allow enterprise entities to create and execute advanced smart contracts that have been programmed in SQL.

— —

So those are your 6 programming languages that can be mostly used to start building smart contracts today:

Solidity Golang Javascript C++ Java SQL

This list is not exhaustive as there are several others out there, however, these are the most popular starting out.

As FLETA is an upcoming blockchain platform creating a sustainable smart contract DApp ecosystem, as we are working towards ensuring that the right languages are supported in our ecosystem, our beta testnet smart contract is built based on Solidity. And we will support Golang, Javascript, Java, C++ and SQP for smart contract development on the mainnet in the future.

To learn more about FLETA or to discuss any technical aspects of our project, feel free to join and connect with us through any of our official channels below:

Website

https://fleta.io/

Telegram

https://t.me/FLETACHAT

Twitter

https://twitter.com/fletachain

Medium

https://medium.com/fleta-first-chain