2020年开发人员调查的结果再次出现,Rust再次成为参与该计划的65,000位程序员中最受欢迎的语言之一。

自2016年以来,Rust一直排名第一,这表明使用它的开发人员都喜欢它。表示目前正在使用Rust的调查受访者中有86.1%希望明年继续使用Rust.这是Rust连续第五年荣登榜首,因此我们认为它必须有一些特别之处。

几个月前,Stack Overflow的主要Rust贡献者Jake Goulding(又名Shepmaster)解释编码人员为何如此喜爱用Rust语言,他这样认为:

"简单来说,Rust解决了许多其他语言中存在的痛点,从而在有限的缺点下迈出了坚实的一步。"

对于Rust语言的评价也非常多,下面这些是网盾小编整理的Rust聊天室和Rust论坛上用户们发表的评论,他涵盖了Rust对于来自其他语言的编码人员的好处(以及痛点)。我们希望听到更多用户的来信。

Rustaceans本身(包括Rust核心团队的两名成员)的评论:

“全新的成熟的功能。尽管某些语言只是在增加和简化现有概念,但一些用户认为Rust实际上是在用编程语言来做新的事情。而且它并不是为了炫耀而做新的事情。他们认为这些设计选择解决了现代编程中的难题”

ZiCog:“Rust是我四十年来专门使用的唯一一种语言,它实际上引入了真正的新功能。就这样,在没有垃圾回收或复杂的系统运行时情况下,使用经过编译的,真实的系统编程语言来保护内存使用的整个思想。"

DenysSéguret:“当我们发现一个非常强大的功能(例如在env变量的伪装下读取一个编译上下文元素)可以如此优雅地完成,甚至在编译时解决而没有任何难看的不一致之处时,我们常常会充满热情。”

Janriemer: “pm工程师克里斯·迪金森(Chris Dickinson)的一句话对我来说是完美的总结,因为我当时也是这么想的,当时我还不知道这句话:‘我对Rust的最大称赞是它很无聊,这是一个了不起的称赞。Rust是一种编程语言,看起来像是由用户体验设计师开发的。他们对语言有清晰的愿景(原因),并在倾听社区真正需求的同时,仔细选择要添加到语言中的内容和返工的内容。没有零散的结局,它是一个连贯的整体,可以完美地支持开发人员的工作流程。"

skysch:“我是从Haskell来到Rust的,我觉得Haskell是一种非常优雅和安全的语言。对我而言,最大的区别在于,Haskell中的高性能代码和惯用的“干净”代码之间的差异比Rust中的差异更大。大多数Rust代码看起来像大多数其他Rust代码,即使它们表现良好。如果某人在与您通常执行的操作不同的库和目标下进行操作,Haskell可能很快就会变得陌生。语法上的微小差异会导致行为上的巨大差异,Rust在该基准线上具有更高的一致性。”

PubNub的设计师Jay Oster:“除了安全和性能外,我们还有:一般性的特质;

代数类型;

功能和命令式范式;

也许是世界上最好的依赖管理和构建工具;

实际上已经解决了“依赖苦痛的境况”问题;

对联机的文档,测试和基准的出色支持;

庞大且不断发展的库,抽象和工具生态系统;

程序宏指令;

FFI现有代码的互操作性;

支持数十种平台(更多功能即将推出!);

以及有益健康且确凿的开发人员体验。

Rust是勾选所有框的唯一语言:内存安全

类型安全

无数据竞争

提前编译

建立并鼓励零成本抽象

最小的运行时间(没有垃圾回收机制,没有JIT编译器,没有VM)

低内存占用(程序在资源受限的环境中运行,例如小型微控制器)

定位裸机(例如,编写OS内核或设备驱动程序;将Rust用作“高级汇编程序”)

daboross:“编译时间保证:当我想到“静态类型的语言”时,我想到的是Java,C#或类似TypeScript的东西。它们为编译时保证您的代码具有正确的类型,并将一系列错误从运行时转移到编译时。Rust在这方面更进一步!编译时间检查扩展到线程安全,所有权语义和验证。

枚举意味着在编译时,我可以声明数据可以存在的一组变体,并且在访问该数据时,我不得不考虑所有可能性。特性意味着,当我的代码是模板/通用的时,我具有所需的确切功能。

Rust非常向后兼容。我可以运行为Rust 1.0编写的代码。同样,我可以编写一些代码,这些代码使我知道下次更新Rust时不必更新。

而且不只是Rust本身-语言可用库拥有相同的保证。考虑两个事实:

1、在类型检查中,仅考虑功能的签名。无需依靠实现来确定请求是否正确(就像您在Scala或Haskell中所做的那样)

2、广泛的类型系统意味着对接口的不正确使用将成为类型错误,而不是运行时错误。

由于这两件事,库可以100%确保在发布新接口时它们保持向后兼容性。在Python,Java,Javascript或Scala或Haskell中,如果要确保保持向后兼容性,则需要特别注意事物的贯彻。在Rust中,它是免费的:如果您还没有更改功能签名,它将保持不变。”

Peter Varo:“Rust发现了一个好地方:它与C或C ++一样基础,具有所有这些优点(例如,控制,大小,速度等)。同时,它与Haskell具有惊人的功能传承。它仍然是必须的,因此大多数人都可以使用,并且它与Python一样灵活。例如,诸如“鸭式打字”之类的概念是在编译时发生的(即特征边界),但是它没有过时的,面向对象的编程模型及其所有众所周知的问题。

最后但并非最不重要的一点是,其中包括以下内容:简洁的语法,少量语言提供的功能,标准库的完整性以及其一致性和文档质量,包括两者初学者和高级用户的学习材料都是影响因素。”

Blonk:“借助Rust / cargo,我可以专注于实际代码,而不是构建系统。无需花一整天的时间来阅读“另一个构建系统”。与Rust的交叉编译是如此简单和轻松,以至于当您阅读如何做时,您会不禁想到“等等,我一定会丢失一些东西。”

当您不在Rust之外时,有些听起来像是空口号,但是当您开始使用它时,您会惊喜地意识到有很多真相:

在花费时间来编译代码时,您可以节省时间,而不必调试代码。

您不再担心大型重构。重构的代码编译后,即可正常工作。

它确实确实迫使您执行适当的多线程处理(嗯,您仍然可以有死锁,但是崩溃的错误类型要困难得多)。

我发现自己做的样板代码要少得多。以及我需要的样板代码,我通常可以将其隐藏在其他模块中,以免妨碍实际的应用程序逻辑代码.最常见的例子是错误类型转换)。”

PubNub的设计师Jay Oster:“这就像在整个职业生涯中在完全黑暗的环境中徘徊,突然被两个事物所点亮:

1、你不完美。你会犯错误。这些错误会给您带来很多问题。

2、不必是这种方式。

我看到一个共同的异议,有些人宣称它们实际上是完美的,并且确实编写了完美的代码,而且一切都是桃花心木,并且他们无法理解为什么其他所有人都对Rust如此感兴趣。但是对于这只老山羊很明显,这些人还没有意识到问题不仅仅在于他们自己。其他人。这是规模经济的问题。

换句话说,如果我有时间和精力去关注每一个细节,并且精心编写每条漂亮的代码,而不管语言或实现细节如何,我本人就可以孤立地编写无缺陷且无错误的代码。但这没关系。一旦我开始依靠其他人编写的代码或新的贡献者来进行修改,我所有所谓的完美保证现在都不符合现实。“按惯例正确性”无法扩展。

惯例将有缺点,并且将花费不切实际的时间和精力来尝试使本来不应该存在的创可贴自动化。“啊哈!”现在意识到,通过将相同的约定直接烘焙到语言和编译器中,实际上可以得到更强大的保证。

最重要的是,如果您愿意,您还可以获得与微调的手写程序集相当的性能。您可以吃蛋糕也可以吃!”

Daboross:“作为库类的作者,复杂的特征/通用系统意味着我可以制作复杂但易于使用的界面。这些界面不能被错误地使用,这意味着我不必执行运行时检查,并且我的用户甚至不必考虑问题案例,因为他们无法编写它们。

作为库类的使用者,丰富而广泛的模板生态系统使我能够在广泛的不同领域中编写代码,而无需深入研究每个领域的细节。我不需要知道JSON解析器或编写器如何使用Serde,而且我的知识不足永远不会成为bug的来源,因为我得到的是编译时错误,而不是运行时错误。

使用Rust时,我真的感到很被照顾。从包升级到类型错误,再到传递接口不期望的字符串,再到随机运行时错误,这些琐碎的事情变得非常多,而我在Rust中完全没有这种错误。我可以考虑一下算法!

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

  1. rust木炭有用吗_【一点资讯】Rust语言2020调查报告发布:Rust 太难,生命周期更难...

    关注 "脚本之家 Rust 官方博客发布 了 2020 年度的 Rust 调查报告. 此次调查共收到以 14 种不同语言完成的 8323 份回复,使用英语的受访者人数占比最高,为 75%,其 ...

  2. rust木炭有用吗_半个月使用rust语言的体验

    从第一次下载rust语言的编译器到今天刚好第14天. 简单说一下对这个语言的感觉吧. 一.性能 把以前用java写的一个中文地址切分的算法,用rust重新实现了一下(https://github.co ...

  3. rust主播排行_「Rust日报」2019每周精选 • 第四期

    前言: 从2018年开始,我每天会花1个小时关注Rust社区动态,并且在Rust.CC论坛.tg channel.Steemit.GitHub.语雀订阅都开通了Rust日报,分享我每天的见闻,偶尔也夹 ...

  4. rust放置木箱转向_[易学易懂系列|rustlang语言|零基础|快速入门|(17)|装箱crates]...

    [易学易懂系列|rustlang语言|零基础|快速入门|(17)|装箱crates] 实用知识 装箱crates 我们今天来讲讲装箱技术crates. 什么是crates? 英语翻译是: 英 [kre ...

  5. rust关闭抗锯齿_腐蚀Rust画面设置指南 游戏设置优化心得分享

    今天小编要为大家带来得是腐蚀Rust画面设置指南,腐蚀Rust是一款第一人称僵尸生存网络游戏,在游戏中玩家需要防范动物.僵尸.玩家的袭击,并依靠各类物品进行生存. 画面设置优化指南 图像质量1~3为一 ...

  6. rust怎么造双层_腐蚀rust双层防炸地基教学 rust伪分离图文教学

    腐蚀rust双层防炸地基教学 rust伪分离图文教学 2018-02-10 11:57:14来源:游戏下载编辑:野狐禅评论(0) 腐蚀rust是近日发售的一款FPS游戏,很受玩家欢迎,一些技巧也被玩家 ...

  7. rust木炭有用吗_Rust 2020 调查报告出炉,95%的开发者吐槽Rust难学

    同时,今年 3 月,苹果也表示对将 C 代码移植到 Rust 感兴趣,希望投身到使用 Rust 编写代码的潮流中.此前通过苹果的一则招聘公告可以看出,其想要在基于 Linux 的服务器端平台上将 C ...

  8. rust自创服务器_用Rust写了一个简单的Web服务器

    Rust 最近学了一阵Rust,这个语言的目的是系统编程,卖点是无GC的内存安全.为了实现这一点,Rust引入了所有权.借用.生命周期的概念.可以在编译器检查出可能的内存问题,如野指针.局部变量指针等 ...

  9. rust如何改睡袋_腐蚀rust怎么做睡袋 | 手游网游页游攻略大全

    发布时间:2016-05-07 腐蚀是一款FPS僵尸类生存游戏,这款游戏中玩家可以体验到非常自由的游戏方式,玩家需要寻找生存的资源,同时也需要及时预防僵尸和其他不怀还以的玩家的入侵,下面是新手全面攻略 ...

  10. 少儿学python真的有用吗_如何看待海淀妈妈们认为Python是儿童才学的低端编程?...

    海淀妈妈没说错啊~ 对于她们,python确实是儿童才学的低端编程. 儿童学编程,最重要的是易上手,当然要用代码看起来更简单的动态语言. 主流的动态语言里,ruby太骚,js太贱,php太浪,只有py ...

最新文章

  1. Linux目录读写和可执行权限
  2. react-dnd-dom_我如何使用react-dnd和react-flip-move构建React游戏
  3. 为什么需要权重初始化(weight initialization)?常见的权重初始化方式有哪些?启发式权重初始化的好处?
  4. Redis的三种启动方式【转】
  5. “Survey of machine learning techniques for malware analysis ”
  6. 北斗三号b1c频点带宽_北斗三号导航信号的创新设计(一)
  7. rtt面向对象oopc——3.对官方IO设备模型框架图的补充绘图
  8. Java——链表的增删查改
  9. git 提交代码的步骤
  10. [zoj]3575 Under Attack III
  11. PE-2 暴模...
  12. 【FZU 2277】Change
  13. CDOJ 1330 柱爷与远古法阵(高斯消元)
  14. sqlmap注入命令大全
  15. 2017,站在巨人肩膀我们一路前行
  16. ubuntu 下使用unixbench 这种benchmark 工具测试系统性能
  17. Apache Curator实战
  18. 两步路轨迹文件位置_两步路户外助手新手使用指南
  19. 星象仪- 大塚爱 歌词
  20. centos7安装yearning

热门文章

  1. Intel® QAT 助力Nginx压缩处理
  2. 九存:重新定义存储矿机
  3. 【高薪、俱进、携手】只要你敢来,海云就敢要!
  4. mysan用的什么树mysql_Mysql储存引擎MyISAM和InnoDB中B+树索引的区别
  5. linux内核提高系统实时性,Linux操作系统实时性分析及改进策略
  6. go语言 读文件最后一行_Go 语言核心文件调试
  7. 会做饭的机器人曰记_会做饭的机器人作文二百字
  8. sql统计各科成绩大于平均分的人_SQL第三关:汇总分析
  9. html中li整体变色,JS+CSS实现鼠标经过div(li)背景变色
  10. php 重定义数组k,PHP基础篇之数组