rust木炭有用吗_如何看待 Rust 这门语言?

作为一个学了一年半rust的菜鸡,我也来说两句。

首先rust的语言要素里,真正创新的确实不多,很多都是在学术界提出老久了。但是目前还真就rust一个把这些早就有的东西组合到一起,并且和工程紧密结合,而且还做起来了的。把以前只能想的东西真的做出来,就已经是独一档了。目前TIOBE前20,除了rust,基本5名以后大多数都是特定平台,特定领域,或者用于特定软件的语言。不说有多nb,但是就同类型的需求真的别无分店了。

至少我认为rust的设计还是部分解决了c/c++的痛点的,并不是只有所谓的安全。而且我最喜欢的反而不是安全这块,而是用的舒服,心智负担小,工具好用,包管理和项目管理齐全简单,基本上一个C/C++程序员想要的小工具都给你集成进去了。学了这么久我几乎只需要cargo及其子命令和rustup就能干完大部分事。本身确实一堆都是早就用烂了的东西,但是很遗憾很多在C/C++里就是没有,或者用起来麻烦,而且长期以来底层语言只有这两个包袱非常厚重的语言可选,已经持续很久了,现在来个新的,那先不说有多强,开创性是绝对有的。像C++已经进化几十年,再加内容真要加成编程语言界的弗兰肯斯坦了,而其本身又用来写各种基本库,不敢搞大变革怕不兼容,这时候也该需要一个另起炉灶的语言了。

还有什么安全其实我从来不吹的,正是深入学了才知道,哪有什么真正的安全,rust社区自己都经常给自己找内存安全的bug。而unsafe更像是一个指示你出错了哪里可能性大的标识而已,我个人是该用就用的,C这种还不如C++ safe的语言照样是几乎所有计算机的基石,用点unsafe没啥问题,标准库不照样一堆unsafe,写个链表不用unsafe也不好写。安全只能说相对安全,能减少问题但是不能消灭问题,至少能消除大部分愚蠢却容易犯的问题。另外安全问题也不只是内存问题,事实上一段符合rust借用规则,并且处理了错误的程序,出各种数据竞争,和漏判错误的可能性也小的多。rust的借用检查会逼你写一些质量相对较好的代码,什么时候要所有权,什么时候要复制,怎么管理所有权,这些其实在什么时候要引用,都是有理有据的,编译器的报错也非常友好。而且这些C/C++里都是有的,只不过没有官方具体提出来而已,写代码的时候说不定你已经使用了这些原则。

然后就是友好程度,由于配套设施比较完善,少了很多跟各种引入和配置三方库,以及编写构建脚本扯皮的时间。然后语言强制你处理错误,自带backtrace,debug信息丰富,其实真的很友好了。虽然刚开始用感觉就是被老师揪着耳朵写程序,但是用熟了真的感觉写起来很爽,要少考虑很多有的没的的小细节。

大部分的不友好的地方我觉得可能在于和Cfamily差别较大的语法,以及严格的编译器,这些都对基本只接触过Cfamily语言的人造成困难,但是我真心觉得不管你以后会不会当主力用,如果你是靠C/C++吃饭的,真的应该学一学,平时拿来练手或者做小工具会方便很多,还能拿来学学不一样的设计思路,开拓开拓视野。另外现在rust也在尝试进军嵌入式,web领域,社区也非常活跃。虽然要挑战C/C++的地位短时间内我个人感觉很难,毕竟这两座基石已经支撑了计算机届几十年了,语法和设计都深入人心。但rust也不失一项额外选择。

另外语言火不火其实并不只看语言本身的,比如D语言的设计我觉得也不错,但是D语言热度甚至更低。rust在跟两个编程语言届爷爷级别的语言竞争能有现在的热度我觉得已经很好了。而且目前至少还有mozilla这个不算差的爸爸。说不定以后还能认个ms这样的干爹(

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值