Mojo比Python快35000倍?这门新语言想搞个大新闻!( 三 )


 
2021年,Mozilla 联合微软、谷歌、AWS、华为四大技术厂商创立 Rust 基金会的消息成为社区热门话题,也让 Rust热持续升温 。有了这么多好爸爸,“中途夭折”这种命运估计也不会落到Rust头上了 。
 
作为一门系统编程语言,Rust相较C++来说,更安全也更快速 。因为能在编译时检查出几乎所有安全问题,比如内存泄漏、分段错误、二次释放等;性能上也优于C++,接近于 C 的性能 。不过Rust的缺点也很鲜明,比如编译器检查更为严格,学习曲线更为陡峭 。
 
最近Rust的新闻不少,微软正在用 Rust 编程语言重写核心 windows 库,这也是微软近年来探索使用 Rust 作为 C、C++ 替代方案的举措之一 。另外在 AWS的资金支持下,sudo 和 su 命令正在用 Rust 重写,以提高这些广泛依赖的软件的内存安全 。
 
不过一切向好的发展大势下依旧存有隐忧,更广的市场渗透率、更好的平台支持、更高的生产力才是用户的追求,而目前来看,Rust 要做到这些尚需时日 。
3.Zig:一切皆有可能的“黑马” 
诞生于 2016 年的Zig被视为C语言的有力竞争者,在5月的Tiobe编程语言排行榜上名列第88位 。但在上个月的榜单中,Zig曾一下蹿升到第46位 。起起落落间,已经有了点出其不意的黑马之姿 。
 
Zig出现后就处在了C语言的挑战位,也有人认为其有望成为C语言的替代品 。它保有C语言的部分功能特性,同时也舍去了其中不太理想的一些功能设计 。
 
Zig和C语言一样是通过手动管理内存的;Zig兼容C语言,可以导入 .h 头文件并直接使用 C 语言的类型、变量和函数,但是减少了很多冗余,增加了泛型数据结构和函数;Zig通过协程实现并发,相比C语言的多进程和多线程更加高效 。
 
在语法上,Zig最大的创新是编译期值和编译期函数 。简言之,你可以写一些函数是在编译期运行的,这些函数能够通过编译器反射获取很多元信息,然后通过这些元信息生成真正的运行函数或者类型 。
 
曾有人对Zig语言的设计者Andrew Kelley 表示,在编译时运行代码是个蠢主意 。不过Kelley 还是坚持了这一想法,多年以后,这个看着不怎么聪明的点子成为了 Zig 最鲜明的招牌 。Zig 可以在编译时运行代码的能力让开发者们可以在不明确任何泛型或模板支撑的情况下,编写通用代码或是进行元编程 。
 
此外,Zig另外一个重要的特色就是对嵌入式领域和系统级编程的支持,这也是其将自己定位成C语言竞争者的原因之一 。Zig的交叉编译工具做得非常极致,在非常小的编译器工具中内置了非常多系统的交叉编译支持 。目前来看,Zig要取代C语言还太过稚嫩,但至少它提供了一种让人耳目一新的可能 。
四、结语 
编程语言无论是大众还是小众,并没有绝对的优劣之分 。无论使用哪种或哪些编程语言,真正的关键从不在于语言的种类,而在于编码的技能水平 。就像Pony语言的创建者Sylvan Clebsch所说,“一门编程语言只是另一种工具 。与语法无关,与表达性无关,与范式或模型无关,仅与解决难题有关 。”
 
参考链接:https://www.tiobe.com/tiobe-index/
https://codesignal.com/2023-state-of-engineer-hiring/
www.modular.com/mojo
https://medium.com/@napsaga/mojo-lang-a-fast-futuristic-python-alternative-cf090e6db344




推荐阅读