Cover photo

SUI Move language differs

SUI is a blockchain platform that is designed to enable developers to build decentralized applications (dApps) and services with an emphasis on verifiability and security. The platform uses a programming language called Move, which is specifically designed for writing smart contracts that run on the SUI blockchain. In this article, we will explore the unique features of the Move language and how it differs from other programming languages.

One of the main characteristics that set Move apart from other programming languages is its focus on verifiability. According to Emma, one of the core developers of SUI, Move was built with verifiability in mind from the beginning. This means that the language is designed to be more easily auditable and formally verifiable than other programming languages. In other words, the code that is written in Move is more transparent and easier to check for errors or vulnerabilities. This is especially important in the blockchain space, where security and trust are paramount.

Another unique feature of the Move language is its emphasis on modularity and code sharing. As Adam, another SUI developer, points out, Move allows developers to write and publish source code in the form of packages and modules. This enables other developers to easily reuse and incorporate that code in their own projects, which in turn can help to accelerate development and reduce costs. Moreover, the modular nature of Move helps to make the code more transparent and easier to review for potential security vulnerabilities.

Expressivity is another key feature of Move that sets it apart from other programming languages. According to Damir, an SUI engineer, Move is designed to be highly expressive, which means that developers can write less code and still achieve the same results. In other words, Move is a high-level language that can abstract away many of the lower-level details of blockchain development, making it easier for developers to focus on the business logic of their applications.

One of the most common questions about the Move language is why it was developed in the first place. Specifically, why couldn't an existing programming language such as Rust be used instead? According to Sam, a core contributor to the Move project, there were a few reasons for this. First, Rust is a source language, which means that it is not ideal for blockchain platforms where byte code runs on the blockchain. Second, Rust was not designed with gas metering in mind, which is a crucial aspect of blockchain development. Finally, there are many application-specific details in programming languages that are not relevant to blockchain development, so it makes sense to create a language that is specifically tailored for that purpose.

Despite these challenges, Move is heavily influenced by Rust in many aspects, particularly in its syntax and design. This was a deliberate choice by the SUI development team, who wanted to make Move as easy as possible for developers to learn and use, regardless of their background or experience. As a result, the Move language has a syntax that is similar to Rust in many cases, and it is designed to be approachable for Rust programmers, inexperienced programmers, and existing smart contract developers alike.