Pony语言简介
发表于2019-07-09,长度671,
38个单词,
1分钟读完
Pony语言,或者称为ponylang,是一门小众语言。诞生了有两三年,但是一直不温不火。它是基于Actor模型创建的语言,所以能够使用Actor模型的场景可以使用它。比如事件驱动、高并发、低延迟等。不过它的前辈,smalltalk、erlang、akka模型,没有一个🔥的,它想🔥还十分艰难。
特性
类型安全
真的很安全,不信的话…我拿一篇数学论文证明给你看:Deny Capabilities for Safe, Fast Actors。
内存安全
不会有野指针或者内存溢出。Pony也没有null的概念!
异常安全
这个“异常”是抛异常的那个异常,不是“非常”的意思😸。Pony没有运行时异常,所有的异常都定义了语义,总是会被捕获。
没有竞态
Pony没有锁、原子操作,或与之类似的东西。相反,它的类型系统保证了并发程序也不会有竞态。所以可以随便写高并发程序都不会有问题。
没有死锁
连锁都没有,当然不会死锁咯!死锁这东西在Pony中绝对不会出现。
本地执行
Pony使用了提前编译(AOT),没错就是安卓也在用的那个。所以不用解释执行也不依赖虚拟机。(不过编译是真慢,llvm的锅?)
兼容C/C++
Pony和C可以互相调用(啥,C还能调用Pony?C认识Pony是谁?没错,C没法直接调用,Pony会自己生成头文件供C调用)。
结论
看起来不错吧,不过我还是不用,我用Julia😁
作者是Julia官方文档中文本地化翻译小组成员,所以也推荐大家学习Julia哦
对了,Pony是开源的,这是它的库:https://github.com/ponylang/ponyc
Written on July 9, 2019
分类:
dev,
标签:
pony
julia
如果你喜欢,请赞赏!
