经常听一些媒体介绍一些新型的开发语言,所以最近心血来潮,安装了几种感受了一些。
先看名气,如ziglang,网址为:Home ⚡Zig Programming Language 号称是可以取代C语言的一门新语言,其实我主要是受下面这篇文章的影响:Zig 编写的"全家桶" JavaScript 运行时 Bun,性能完爆 Node.js 和 Deno - OSCHINA - 中文开源技术交流社区
Bun是一个要取代大名鼎鼎Node.js的东西,Bun牛啊。而Bun是Zig语言编写的。那看看Zig语言。发现Zig语言还没有发正式版本,截至到2024.07.03,其最新版本还是0.13.0。然后想着写一个TCP的服务程序吧,发现如果用Zig语言自己的标准库中的网络发现,不太好精细的控制socket的特性,如果用Zig语言的C语言接口,发现经常要转换数据类型,虽然Zig语言可以直接使用C语言的结构体,但这种结构体与Zig语言原生的结构体是不兼容的,折腾了半天,发现如果真要写一个高性能的网络程序,还是等Zig语言的标准库成熟之后再说吧,当前还是直接用C语言来写比较方便。
从功能上看,Zig语言今后是有可能取代C语言的,但当前还没有到稳定版本,取代的路还漫漫长。
又看看了北欧大神奥丁语言Odin:Overview | Odin Programming Language
看了看Odin语言,其与golang比较类似,但语法比golang更灵活,这个语言感觉是golang的兄弟,不过我没有更仔细的尝试。
然后又看了看号称是比Python快68000倍的mojo语言,发现其现在主攻方向是AI, 其提供的一键安装的脚本只有 Ubuntu 20.04/22.04 LTS,不支持其它发行版本的Linux,感觉有点low啊。这个语言是由 LLVM 和 Swift 编程语言的联合创始人 Chris Lattner 创办的,名气大,易用性需要改进,成熟度还不够。
在github上还发现了另一款号称可以取代Python语言的语言:
GitHub - exaloop/codon: A high-performance, zero-overhead, extensible Python compiler using LLVM
Codon的运行速度确实比Python快很多,但目前Python很多的库还没有移植过来,估计成熟度还不如mojo语言,但一键安装包没有象mojo语言那样只能在Ubuntu 20.04/22.04上安装,只要下载下来通用的Linux安装跑,就可以跑。
对于初学者,不管是mojo还是Codon取代python看起来还有点早,当前还是把Python学好比较实在。
之前一直喜爱lua语言,还发现一块可以编译成独立程序的lua语言:
nelua语言与lua一样小巧,这个语言粗粗试了试,感觉比较值得今后进一步研究。
还发现两款号称试better C的语言:
GitHub - c2lang/c2compiler: the c2 programming language
C3 | An evolution, not a revolution
c2lang语言自己编译安装比较顺利。而C3语言只提供了debian12的安装包,自行在Rocky Linux 9下没有编译通过,应该试LLVM的静态链接的问题。C3语言是受C2启发,做了更多的功能,但感觉上C2的功能很多时候也够用了,他们最大的特点是去掉了C语言的头文件,有了包管理的功能,直接导入import 源码文件可以使用别的包中的函数了。
当然还有比较小众的语言NIM语言:
目前nim语言的最新版本为2.0.6,nim语言虽然小众,但是已经是一个比较成熟的语言了。
其实还有一个不算是新语言的D语言:
对于一些想找一个能取代C/C++语言人来说,不如试试D语言。D语言非常成熟,文档也很全。
而谷歌发布号称要取代C++的语言carbon:
https://github.com/carbon-language/carbon-lang
这个语言还处于非常的早期,基本没有试用的必要。
有人问我咋还不说说最近媒体上火的仓颉语言:
华为自研编程语言"仓颉"来了!鸿蒙应用开发新语言,性能优于 Java、Go、Swift_编程语言_Tina_InfoQ精选文章
我的建议是再等等吧,其实很多人都不知到,华为最厉害的不是技术而是营销。目前仓颉语言没有开源,目前的消息是"华为计划将仓颉编程语言开源"。你看看国外的开源开发语言的搞法,都是发布的时候就开源出来了。不要让自己过早的成为小白鼠(当然最后可能还是小白鼠)。
其实国人做的比较好的开源语言是易语言:
易语言开发windows GUI程序是一把好手,只是可惜被杀毒软件厂家给整死了。
其实国人开发的开源语言值得关注的还有go+语言:
GoPlus - The Go+ language for engineering, STEM education, and data science