Facebook开源全新静态语言Skip
极客时间编辑部
讲述:丁婵大小:1.16M时长:02:32
近日,Facebook 宣布开源全新语言 Skip,这是 Facebook 开发的一个实验性质的编程语言,从 2015 年到 2018 年开发了三年。
作为一个研究项目,Skip 的主要目标是探索支持准确、高效、基于记忆化(memoization)的缓存和缓存失效的语言和运行时。通过静态类型系统追踪可变性,Skip 可以支持现代语言特征,例如 trait、泛型与子类型。
根据介绍,它的主要特性包括以下方面:
1. 反应无效的缓存
Skip 主要的新特性是精准跟踪副作用,包括值的可变性和区分非确定性数据源,以及能够提供反应无效的数据源(当数据发生变化时告诉 Skip)。当 Skip 的类型系统能够证明给定函数边界没有副作用时,开发人员可以选择安全地记忆该计算。
2. 安全的并行化
Skip 支持两种互补的并发编程,由于它可以跟踪副作用,这两种编程都避免了常见的线程安全问题。首先,Skip 支持使用 async/await 语法的 ergonomic 异步计算,可以安全地并行执行。其次,Skip 具有用于直接并行计算的 API,同样利用其追踪副作用的特型来防止线程安全问题。
3. 高效和可预测垃圾回收器(GC)
Skip 使用一种新型方法进行内存管理,即结合典型的垃圾回收特性和更直接的线性分配模式。由于 Skip 可以追踪副作用,垃圾回收器仅需要扫描从底层计算处访问的内存。在实践中,这意味着开发者能够使用可预测 GC 来写代码。
4. 面向函数和面向对象的混合语言
Skip 的一大特点是混合了面向函数和对象的方法,将二者整合形成一种具备聚合力的语言。与函数式语言类似,Skip 表达能力强,支持抽象的数据类型、模式匹配、简单的匿名函数(easy lambdas)和高阶函数等。
5. 绝佳的开发者体验
Skip 的设计初衷是支持绝佳的开发者体验,实现迅速迭代(常见于动态语言)。编译器支持增量类型检查,提供常见的语法错误提示,帮助新手学习语言、识别方法/类别名的打字错误,甚至识别 Skip 标准库方法名的常见别名,并建议正确的名称。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论