Rust:涌现统计语言


Rust语言当前炙手可热,集合高级语言的易写、系统语言的快速执行,唯独ownership+lifetime在编译通过环节增加阻力。

应用场景🔗

表扬Rust的通俗故事有这么几个:
微软发现其推送的漏洞70%与内存泄漏有关,Rust恰恰能在编写时候就可以发现此类漏洞,由此采用Rust;
Amazon Prime Video用Rust Wasm实现一次编写、同时应用给8000多种设备;
Google用Rust改写部分底层功能;
华为用Rust写了个虚拟机;
Rust for Linux;
Blockchain;
自动驾驶;
关于选择新技术的价值就不过多赘述,这里谈两点对Rust语言的思考:

更现代:涌现统计编程语言第一步🔗

“更现代”是一个非常笼统但比较合适的描述。
这里的现代指“更符合当下的科学理念”,更确切的描述是指用统计学取代专家进行指导。当代人工智能的蓬勃发展架构于“统计学”理论之上,其爆发之前,主宰人工智能的设计理念是“专家知识”。

Rust之于之前的编程语言,更不易出错,这个令之脱颖而出的功能并不是通过高屋建瓴的天才智慧,而是一系列safety rules。这些rules的存在是前人在进行之前各种语言编程中遇到问题的总结,是一种统计学认知下的有意限制。
正是这些规则的应用,使得Rust堪称编程语言的一个里程碑产品。
Rust当然不会是编程语言的终极产品,但却是编程语言新时代的开创者。高德地图的导航里经常会说一句话,在开车时听到这句话总觉得它是多此一句,放在这里却非常应景:虽然前方拥堵,但您依然在最优路线上。

通过rules的使用而使得基础产品获得更高级的能力,这一点恰恰是复杂系统的涌现,从这个角度思考,Rust就显得更更现代了。

适合大规模协作:文档即权威🔗

lints是一系列编程教官,秉承相同理念的教官在同一个项目中时刻规范每个协作者的动作。
因为lint的存在,每个协作者在写好自身代码的同时,已经是在配合整个项目。

也可以从“文档即权威”的角度来看待这个观察。
不管哪个团队,权威的存在是必要的,久远之前一个高瞻远瞩的“领导”是这个权威,随着知识体系的爆发式扩张,任何领导已无法系统性掌握所有领域的知识,当下所谓的扁平化组织是一种被迫选择,并非基于权利、公平等“美丽概念”的态度;当“领导(user)”无法完成“权威(role)”的角色时,“权威(role)”的需求依然存在,此时“文档”就站出来承担“权威”这个role。
同理,lints作为共识下的文档,对于协作编程的项目来说,就是权威这个role。

当然,这些都是在编程的基础属性层面的探讨,而非代码的技巧性问题。

Keep find, Keep create