整理 | 丁广辉 责编 | 张红月
出品 | CSDN(ID:CSDNnews)
每位程序员都很了解自己使用的语言的优缺点 , 有些语言的优点很明显 , 但它所存在的缺点往往也会让人绞尽脑汁 , 却又无可奈何 。 比如Java的优点就很明显 , 简单 , 安全 , 稳定 , 还能跨平台使用 。 但是它所需要的内存量太大了 , 因为他还需要一系列的硬盘空间来存储Java文件和.class文件以及对应的版本文件 。
同样的Python也有很明显的优点 , 编写简单 , 有丰富的内置代码库以及大量的第三方库 。 但是运行速度慢 , 写出来的代码还不能加密 。 我们在过去的程序编写中或多或少地留下了一些无法解决得问题 , 但直到Rust的发布 。 我并不是说Rust就是最好的 , 它也存在问题 , 但它确实解决了不少以前让我们头疼的难题 。
Rust是诞生于2015年的编程语言? ,在2016年被 Stack Overflow 评选为最受开发者喜爱的语言 ? 。国内外许多知名互联网或科技公司纷纷拥抱Rust , 用它来优化或者重构技术栈 , 比如字节跳动的飞书 , Google 的 Fuchsia 、Linux 内核也开始尝试Rust等 。 那么Rust好在哪里呢?
首先 Rust 没有历史包袱 , 采百家之长 。 从语言的内核看 ,Rust 重塑了对基本概念的理解 。 比如它清晰地定义了变量的生命周期 , 不仅摒弃 GC 这样的内存和性能杀手 , 还不用关心手动内存管理 , 让内存安全和高性能兼得 。
其次 , 从语言的外观来看 , 它用起来很像 Python/Type 这样的高级语言 , 表达能力一流 , 但性能丝毫不输于 C/C++ , 表达力和高性能二者兼得 。
所以 , 集表达力、高性能、内存安全于一身的 Rust, 在很多场景里都能大施拳脚 。 除了在传统的系统开发领域 , 如操作系统、设备驱动、嵌入式等方向高歌猛进之外 , Rust 还在服务端高性能、高并发场景遍地开花 。
但是就是这样一个很好用的新兴底层语言 , 却依然有很多人在“抨击”说Rust是在炒作 。 对此 , 一名拥有30多年编程经验的开发者喊话 , 请停止吧!
Rust为什么会被“炒作”?
事实上 , 每次讨论关于Rust的话题都会以无休止的抨击Rust过度宣传而告终 , 有不少人认为它“言过其实了”认为那些说Rust好话的人都是在为Rust炒作 。
【说大话还是真实力,Rust 是被炒“火”的吗?】还有人记得Java横空出世的时候吗?可能很多人都已忘记 , 也可能是因为你太年轻 。 在过去的日子里 , 有很多关于Java文章的讨论 。 有不乏对Java的前景的赞美 , 当然也有一些人“看不起”Java并贬低它 , 说它已死之类的言论 。 当然我们都知道最后的结果如何 。 Java不负众望 , 在这个行业风生水起了20多年 。 当时的互联网还不是个充满仇恨的地方 , 但是对Java的抨击和现在的Rust是一样的 , 所以请不要在抨击Rust炒作之类无意义的事情了 。 让我们把视线聚焦到真正的解决方案之中 , 如何解决现实的编程问题才是第一位 。
在Rust出现之前 , 反复强调没有解决方案的问题是毫无意义的 。 例如Java对解决缓冲区溢出问题很有帮助 , Python则有助于改善开发人员编写数据结构 。 而对于类似ease of composition和内容安全这样的问题就没有讨论的必要 , 因为除非重新设计一门语言 , 否则根本没有可用的解决办法 。 当然在近几十年 , 有关内存安全问题已经是一个被充分理解的问题类别 , 但要解决它需要在性能和可维护性方面做出权衡(Python、Ruby、Erlang) , 要么就不能真正解决它(Java、Java、PHP) 。
面对种种问题 , 大家除了抨击之外 , 却一直没有找到最佳的解决方案 。 只能用不同的技术解决不同的问题 , 然而Rust的诞生改变了这种情况 , 人们用Rust就可以解决大部分问题 。 这就让Rust可以存在于各种程序中 , 让人觉得它无处不在 , 且与我们的程序息息相关 。 他能帮助技术人员编写更好地程序 , 正是因为它够好 , 所以才会有这么多炒作 。
特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
