Sam Blackshear谈Move语言的创新

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

https://youtu.be/PoI2z4mSUqs

视频内容

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

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英文电报群中文电报群

相关推荐
果冻人工智能15 分钟前
打造 AI Agent 对于中产阶级来说就是场噩梦
人工智能
碧海饮冰16 分钟前
Crypto加密货币生态构成及较有前景的几个crypto项目
区块链
MediaTea28 分钟前
AI 文生图:提示词撰写技巧与示例(ChatGPT-4o 篇)
人工智能
墨绿色的摆渡人38 分钟前
用 pytorch 从零开始创建大语言模型(三):编码注意力机制
人工智能·pytorch·语言模型
中科岩创43 分钟前
某地老旧房屋自动化监测项目
大数据·物联网·自动化
zm-v-159304339861 小时前
ChatGPT 与 DeepSeek:学术科研的智能 “双引擎”
人工智能·chatgpt
果冻人工智能1 小时前
美国狂奔,中国稳走,AI赛道上的龟兔之争?
人工智能
果冻人工智能1 小时前
再谈AI与程序员: AI 写的代码越来越多,那我们还需要开发者吗?
人工智能
大脑探路者1 小时前
【PyTorch】继承 nn.Module 创建简单神经网络
人工智能·pytorch·神经网络