Sam Blackshear谈Move语言的创新

Sam Blackshear在访谈中解释了Move在Sui上的三项基本创新。

Sui中文小助手
Sui Network CN
Published in
May 15, 2024

--

Sui上的Move编程语言融合了三项基本创新:面向对象的数据模型、可编程交易区块和动态字段。Mysten Labs的联合创始人兼首席技术官Sam Blackshear在五年前创建了Move,这是一种专门为在区块链上编写智能合约而设计的语言。这三项在Sui上的创新提升了Move的潜力。

视频内容

编程语言并不像自然语言那样包罗万象。它们不会处理所有事情,而是专门针对某一种任务,并且非常擅长完成这项任务。之所以需要专门的语言,是因为这些任务在传统编程语言中不受支持。

Move在Sui上有三个独特的区别性特征。第一个是面向对象的数据模型,对象是Move中的基本构建块,它就像是一个大型的对象数据库。Move针对的任务类型是稀缺对象的编程。这些对象具有保守性质,比如不能意外丢弃、不能复制,并且具有强所有权转移。在Sui上,你可以轻松地获得所有这些特性。例如,定义一个对象就像定义一个结构体一样简单。它有一些字段,有一个全局唯一的ID,可以从Move代码内部引用它。前端的ID在对象跨账户移动和随时间变化时保持不变,它为你提供了一种始终引用它的方法。这不是程序员需要手动完成的事情,每个对象都会免费获得一个这样的ID。我们从Libra项目出来后所做的第一个改变就是增加了这个面向对象的数据模型。

第二个我认为非常有趣的特性是可编程交易区块。当你有一个交易时,它会调用一个Move函数,这就是它的全部功能。而可编程交易区块让你不仅仅调用一个函数,而是可以先调用一个函数,然后再调用另一个函数。你可以将交易区块中前面部分的对象传递到后面的函数中,这让你可以在前端即时进行组合。这可能是Sui开发者最喜欢的特性,因为它不再局限于一次只能调用一个函数。

第三个主要区别特性是动态字段。使用Move对象时,你声明一组字段、静态类型,可以对其进行写操作和更新。而动态字段则允许你在Move对象中即时添加额外的数据。你可能发布了一个对象,然后稍后决定要为其添加一个开始时未预见到的字段,而无需重写旧代码或迁移旧对象数据。你可以以原始创建者未曾预料到的方式混合和匹配对象,从而创造出非常令人愉快的体验。对于游戏开发者来说,动态字段是最具吸引力的特性之一。假设你有一个游戏角色,他们的物品栏由各种异构类型的对象组成。你可以表示为,英雄角色是一个对象,他们的剑是另一个对象,并通过动态字段连接到英雄角色,表示“这是我手里拿着的东西”。如果他们有一双靴子,则通过另一个动态字段表示“这是我脚上的东西”。你不必提前知道需要哪些东西,具有很大的灵活性来进行混合和匹配。Sui的开发者结合这些特性做出了许多令人印象深刻的东西,赋予了系统更多的丰富性和功能。

Move的持续开发提高了其效率和开发者体验。

现在就迁移到Move 2024吧!

关于 Sui Network

Sui是基于第一原理重新设计和构建而成的L1公有链,旨在为创作者和开发者提供能够承载Web3中下一个十亿用户的开发平台。Sui上的应用基于Move智能合约语言,并具有水平可扩展性,让开发者能够快速且低成本支持广泛的应用开发。获取更多信息:https://linktr.ee/sui_apac

官网英文Twitter中文TwitterDiscord英文电报群中文电报群

--

--