请教各位高手,下一代编译型语言Go、Rust、Zimbu的对比?


之所以选这三种语言,是因为这三种比较相似:

  1. 都是编译型的静态语言
  2. 都能跨平台运行
  3. 运行效率都可以,起码好过脚本语言很多,可能会超越已经优化了十几年的jvm
  4. 有动态语言的开发效率,比C/C++学习难度低很多
  5. 都有高人在主导开发,相信会做的不错
  6. 都有可能成为下一代系统级别的编程语言,甚至用来开发操作系统
  7. 可用来写后端的大量运算服务,压榨服务器性能,在服务器端有很多方面可以替换C/C++

  1. Go:Google公司主导开发,内置GC,但最近读了很多文章在指出GC的弱点,怀疑有GC的语言运行效率会打折扣,始终没办法成为系统级的编程语言。
  2. Rust:Mozilla公司主导开发,可以选择是否启用GC,运行效率不会输给C/C++,而开发效率又不错,国内用的好像很少。
  3. Zimbu:Vim作者开发,是不是目前只有一个人?比起其他两个,好像势单力薄些。

还有一些跨平台在运行效率和开发效率都不错的语言,HaXe、Julia、Opa、Falcon、JVM上的N种语言等,这些跟这几种差别比较大些。

现在的服务器端处理要求越来越复杂,单纯的脚本语言已经很难适应业务的需求,要既能照顾开发效率,包括新人的学习接受能力,又要比较快的运行效率。相信各位在开发中也碰到这样的需求吧?

我们最近要把很多原本是PHP写的后端服务全部转换成一种新的编译型语言,为了提升性能和利用并发处理,在不是非常仔细研究Go和Rust之后,选择了Go,因为Rust好像还不是很成熟,尤其是教程缺乏,Zimbu就更缺少人关注了,但我们还是很希望有一种编译型的语言能成为我们后端开发的主力语言,因为要涉及大量复杂的运算,在效率方面比较看重,还考虑到开发效率是,所以不可能选择C、C++的,至于JVM上的语言,也不会考虑。

希望各位高人能指点一二,非常感谢。

rust go zimbu 编译型语言 c

educt 11 years, 2 months ago

如果单纯从兴趣和研究的角度来说,可以关注一下 Rust、Zimbu。但是如果是大规模的应用于生产坏境,个人建议还是 Golang 靠谱一点。毕竟生产坏境还是需要实际项目检验的。

三个对比建议分项目列一个表格:

  1. 语法上

  2. 安装配置和运行上

  3. 文档上

  4. 社区活跃度上

  5. 跟你的应用契合度上

分这几个层面打分,然后你就知道选什么最适合你的项目了。

PS:很多原本是PHP写的后端服务全部转换成一种新的编译型语言,为了提升性能和利用并发处理。这句话看起来背后隐藏了很多细节,建议动手之前慎重评估一下可行性。

绫波丽X明日香 answered 11 years, 2 months ago

Your Answer