Skip to content

Solidity, the programming language of Ethereum

May 23, 2020

In order for Solidity to make all of this a reality, its creators were responsible for ensuring a number of features. Features that make it particularly useful for the tasks for which they were designed, including:

Easy to learn

Solidity is a language with syntax and arrays that is very similar to JavaScript, making it easy to learn. Because of the popularity of JavaScript, Solidity is easy to compare and learn. Thanks to this, Solidity has a broad base of developers who use the language, and acceptance is only growing.

Turing completed

One of the most important features of Solidity is that is a complete Turing language. This means that Solidity is able to display the computing power of a so-called “Turing Universal Machine”. In Ethereum this is possible by connecting two elements: the virtual machine from Ethereum and Solidity.

Solidity, the programming language of Ethereum
Solidity, the programming language of Ethereum

In the first part, the EVM can execute the code written by the developer regardless of its complexity. While Solidity is able to present this programming created by the developer in writing. So iacute ;, Ethereum, with its EVM and solidity, is given the ability to have a full Turing language and all that means.

For example, Ethereum can create and use complex coding structures with loops and selective processing of information. Something that languages ​​like Bitcoin Script of Bitcoin do not have, as this is a language without Full Turing.

Object oriented

Object-oriented programming (OOP) is a programming paradigm in which all elements of a program can be represented as real objects. These objects have a number of their own properties. Functions that can be defined directly or transferred through inheritance.

Because Solidity is an object-oriented language, you can greatly simplify certain tasks. For example, The token manipulation in solidity takes place in the context of POO, so that the developer can manipulate tokens according to this paradigm.

Assembly and disassembly capacity

One of the most striking features of Solidity is that it offers advanced functions for compound programming. This means, Solidity enables us to use the bytecode of OP_CODES or Ethereum Virtual Machine directly in its structure. The biggest and best feature, however, is disassembly. In other words, the ability to convert a bytecode back into a solidity code.

This capability enables debugging, analyzing and checking the codes of smart contracts without major glitches.

Can be compiled or interpreted

Solidity can be compiled or interpreted. In the first case, the result is a byte code that can only be executed by the EVM. In the second case, an interpreter takes the instructions from the program and converts them into OP_CODES and bytecode in a development environment. This is very useful for analysis tasks and code improvements.