The blockchain technology is evolving at an unprecedented pace, and with that, the demand for new and improved programming languages is also increasing. Move, the programming language developed by the team at SUI Blockchain, is one such language that aims to revolutionize the smart contract space. In this article, we will explore the characteristics that make Move unique and why it was chosen for SUI Blockchain.
Move is designed to be verifiable and secure, with the goal of preventing all possible errors during the compilation stage. This focus on security separates Move from other programming languages where security is often an afterthought. The team at SUI Blockchain believes that the best way to ensure security is to catch potential vulnerabilities during the compilation stage, rather than relying on the code to be verified on the blockchain later.
Another unique aspect of Move is that it combines interesting concepts from both the world of smart contract languages and traditional programming languages. For example, the way assets are encoded in Move is different from traditional methods. Every time a developer creates something in Move, they essentially create a non-fungible token (NFT) with all the rich properties that they can modify. Move has been designed with code sharing in mind, allowing developers to easily write and publish source code that people can easily understand.
One of the features that make Move stand out is its expressivity. It is astonishing that developers do not have to write much code, but instead can go straight into the business logic of their modules and get everything they need. This approach saves time and reduces the potential for errors.
One of the most common questions asked about Move is why it was chosen for SUI Blockchain when it is considered less flexible than Solidity. The answer lies in the fact that Move is designed to be statically verifiable, with everything happening in the compilation stage. When a developer compiles their code and pushes it, it will run like bytecode verification. This process ensures that when code is published, it is guaranteed to be secure.
While some might argue that flexibility in a language is essential, the team at SUI Blockchain believes that flexibility can open up the door for vulnerabilities and attacks. In Move, the team aims to be just as expressive as Solidity, but potentially less flexible. The one way to do things in Move is safe, compared to potentially unsafe options.
There has been much discussion about how projects that are based on Move can cooperate with those built on EVM (Ethereum Virtual Machine). SUI Blockchain is working with Celo, an EVM-based blockchain, to bring Move into their channel. The goal of the project is to have both Move and EVM supported on the Celo blockchain, allowing developers to write contracts in either Solidity or Move, or both. The Move to EVM compiler is another example of how Move can work with EVM. Developers can provide Move code, and it compiles to EVM bytecode, allowing them to use the same set of test cases for both contracts in both languages.
One of the advantages of Move is that it is built around objects that have globally unique IDs, making it possible to transfer an object to anyone. This means that projects can collaborate to build the same thing, making it easier for developers to work together. However, one disadvantage of Move is that it is less flexible than other programming languages.
When it comes to closed-source smart contracts, the team at SUI Blockchain believes that they go against the spirit of what the blockchain platform is trying to achieve. The idea is to encourage code sharing, and projects are underway to make this process easier. While the notion of closed source may have a double meaning, whatever is published on the chain that supports the Move language is not closed source because the bytecode can always be inspected.


