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

相关推荐
3DVisionary4 分钟前
3D-DIC与机器学习协同模拟材料应力-应变本构行为研究
人工智能·机器学习·3d·3d-dic技术 机器学习·应力-应变本构行为·卷积神经网络(ecnn)·数字图像相关法(dic)
神经星星6 分钟前
无需预对齐即可消除批次效应,东京大学团队开发深度学习框架STAIG,揭示肿瘤微环境中的详细基因信息
人工智能·深度学习·机器学习
神经星星6 分钟前
【vLLM 学习】调试技巧
人工智能·机器学习·编程语言
守护者17015 分钟前
JAVA学习-练习试用Java实现“实现一个Hadoop程序,使用Hive进行复杂查询和数据筛查”
java·学习
程序员Linc24 分钟前
写给新人的深度学习扫盲贴:向量与矩阵
人工智能·深度学习·矩阵·向量
CryptoPP25 分钟前
springboot 对接马来西亚数据源API等多个国家的数据源
spring boot·后端·python·金融·区块链
xcLeigh32 分钟前
OpenCV从零开始:30天掌握图像处理基础
图像处理·人工智能·python·opencv
果冻人工智能36 分钟前
如何有效应对 RAG 中的复杂查询?
人工智能
2305_797882091 小时前
AI识图小程序的功能框架设计
人工智能·微信小程序·小程序
吴梓穆1 小时前
UE5学习笔记 FPS游戏制作35 使用.csv配置文件
笔记·学习·ue5