主要观点:作者自 2016 年起参与 Rust 项目,深知其学习和使用的难度,后与 Jane Losare-Lusby 秘密研发一种安全系统语言 June,旨在使其易于学习和使用,探讨了改变内存思考方式、分组分配的好处与弊端、安全内存回收等方面,June 有望成为 Rust 的良好补充,未来将继续探索和改进。
关键信息:
- Rust 学习难度大,作者教 Rust 两年后开始研发 June。
- June 可像学习 Go 一样快速学习,改变内存思考方式,如让相关分配共享生命周期。
- 分组分配的好处包括代码更轻、生命周期和推断更简单、可创建任意数据结构等。
- 但存在内存膨胀问题,需安全回收内存,可通过全封装实现,有“半自动”内存回收机制。
- June 有机会成为 Rust 的补充,超越 OOP 进行代码复用等探索,文档已在 June 仓库可用。
重要细节: - Rust 代码示例如
struct Node { data1: &Data, data2: &Data, data3: &Data; }
需添加生命周期参数和注释才完整。 - June 中不同分配的生命周期有 Local、Param(xxxx)、Return 三种。
- 为使用共享可变指针,需驯服可能出现的竞争条件和“远距离诡异行为”。
- 安全内存回收通过全封装创建“围栏内”指针集,有“半自动”回收命令。
- June 仍有语言设计和工具方面的挑战需解决,如检测程序内存膨胀。
- June 与 Rust 可互补,Rust 有稳定 ABI 后 June 可调用其 crate 生态。
- 感谢众多专家和私人 beta 测试者的帮助。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。