对更简单安全系统编程的探索

主要观点:作者自 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 测试者的帮助。
阅读 17
0 条评论