Rust是近两年呼声比较高的一种新型开发语言。市场占有量并不大,但增长速度*为迅猛。有人统计过,在计算机行业,平均每33.5天就有一种所谓的新型开发语言面世,这还不包括很多企业内部、项目内部的内置简易流程工具。然而大浪淘沙,如今仍然占据着市场地位的,不过仍然是耳熟能详的有限几种。
对于初学者,Rust具有比较陡峭的学习曲线,虽然学习Rust能训练良好的编程习惯,从长远看对提高学习者的开发素养*具价值。但短期的大量付出很容易让初学者心力交瘁。并且尽管官方文档并不欠缺,但学习资料对于初学者来讲仍然是远远不够的。所以比较而言,得不偿失。
而什么是C++?
C++是一种高级、通用的编译语言,已经存在一段时间了。由于其语法复杂,C++代码用于需要高速和并发的程序。C++以帮助您真正接近金属而闻名。C++是 C 的扩展,因此它继承了许多相似之处,但偏向于嵌入式软件和大型系统
它以其性能、稳健性和效率而闻名。C++提供了对系统及其内存的大量控制。C++是构建Microsoft Windows 等操作系统和视频游戏开发的主要语言,因为一些游戏开发框架是用 C++编写的。
C++还提供了一个丰富的标准库,称为标准模板库。有了它,可以轻松构建从 GUI 应用程序到桌面应用程序,再到3D 图形和游戏的所有内容。游戏引擎:总的来说还停留在小型项目的阶段,并没有虚幻这种成熟的大型引擎的出现,但是目前缺乏的是人力,而不是技术上做不到。我相信Rust在3D图形方面比C++要更好。(2D GUI除外)硬件驱动:虽然和内核开发差不多,但是可能需要自己写一个unsafe的wrapper,可能会导致大量重复的代码或者是使用宏来处理,但是这是没办法的办法。听说AMD的GPU驱动充斥着大量使用不知道哪来的代码生成器生成的C代码,导致代码体积十分庞大,可维护性*差。一定程度上复杂的代码也是硬件驱动的必然吧。当前有两个标志性事件,linux kernel,已经同意使用rust来编写内核模块,这个绝对够底层了。android,Google也决定引入rust来开发底层服务。linux kernel加上android,是两个使用广泛的操作系统,rust在这两领域突破影响是巨大的。*先 Rust 并不是变魔术消除 complexity,它是把 complexity 圈禁在 unsafe code 里。如果你的项目大部分都是 safe code,这个是否还叫底层开发就值得商榷。你把好多 safe code 归到底层,这就是说你的架构可能就不清晰。其次底层开发强调一个项目尽可能通用,可重用,功能稳定。这种项目的管理本身消除了 C++在快速迭代上的弱势,凸显了 C++语言本身稳定,工具链成熟的优势。为什么这么选呢,因为过去多少问题都是C/C++的内存操作引起的,rust在语言层面对解决这个问题有全面的考虑。
免责声明:本站所有内容及图片均采集来源于网络,并无商业使用,如若侵权请联系删除。
上一篇:资料 | JAVA基础案例教程