Rust:鱼和熊掌可兼得

 国内外不少知名互联网或科技公司,都在采用 Rust 重构技术栈,比如字节的飞书、Google 的 Fuchsia 等。非凸科技也在原有基础上全面升级到互联网新一代技术架构,采用Rust构建智能算法交易平台,逐步迭代,持续为券商、量化私募等众多大型金融机构提供优质的算法服务。

在可预见的未来,Rust 或在大多数领域代替 C/C++,成为开发者的主力语言。

编程语言设计在两个看似不可调和的愿景之间长期存在矛盾对立:

1. 安全

想要强类型系统静态地排除大量错误

想要自动内存管理

想要数据封装

......

这样我们就能对私有变量执行不变的对象的表示形式,确保它们将不会被不受信任的代码所破坏。

2. 控制

想要了解数据的字节级表示

想要用底层语言的编程技术优化程序的时间和空间的使用

想要在需要时使用裸机

......

因为对于Web 浏览器、操作系统、游戏引擎这样的系统编程程序,约束它们的性能或资源是一个重要的问题。

然而,按照传统的看法,“鱼和熊掌不可兼得”。

Java语言给了我们极大的安全保障,但代价是牺牲对底层的控制。于是,很多系统编程应用程序,唯一现实的选择是使用一种像C/C++那样提供细粒度的语言控制资源管理。然而,获得这种控制需要很高的成本。例如,微软近期报告表示,修复的70%安全漏洞归因于内存安全违规行为33,且都能能被强类型系统排除。

为解决“不可兼得”的问题,Rust语言应运而生,既能安全系统编程,又能对底层有控制权。

用Rust编写的程序,运行时速度和内存使用量应该和用C编写的程序相差不大,但这两种语言的总体编程风格不同。

1. Rust 语言抽象程度比C语言更高,抽象会隐藏一些不那么优化的代码。这意味着,默认实现的 Rust 代码性能不是最好的。所以,你的Rust代码必须经过优化才能达到媲美 C 的性能。Unsafe Rust 就是高性能出口。

2. Rust 默认线程安全,消除数据竞争,让多线程并发编程更具实用价值。

3. Rust 在某些方面比C快。理论上,C 语言什么都可以做,但在实践中,C 抽象能力比较低,开发效率也比较低。

现阶段,非凸科技正在寻找行业内优秀的Rust开发工程师,薪资福利超级优厚。关键是团队有很好的Rust开发氛围,Rust大神手把手辅导,助你从Rust新人不断升级。非凸诚挚邀您加入!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值