Rust 为什么能成为 Stack Overflow 最受欢迎的语言?

栏目: 编程语言 · Rust · 发布时间: 5年前

内容简介:下面开始今天的学习~

点击上方 蓝字 关注我们

下面开始今天的学习~

Rust 为什么能成为 Stack Overflow 最受欢迎的语言?

每年,开发者问答网站 Stack Overflow 都会对 程序员 社区展开年度调查,包括他们最喜爱的技术到工作偏好的所有内容。 在2017 年和2018 年Stack Overflow 年度开发者调查中,Rust语言已经连续两年成为最受欢迎语言Top 1。

2018 年  Stack Overflow  最受欢迎语言榜单

Rust 为什么能成为 Stack Overflow 最受欢迎的语言?

▼  2017 年  Stack Overflow 最受欢迎语言 榜单

Rust 为什么能成为 Stack Overflow 最受欢迎的语言?

Rust语言有哪些特别之处呢?下面,我给大家简单介绍一下这门语言。

Rust 语言简介

Rust 为什么能成为 Stack Overflow 最受欢迎的语言?

首先上一段 Hello World 的代码:

Rust 为什么能成为 Stack Overflow 最受欢迎的语言?

类似于 C 语言,这个简单程序定义了一个 main 函数,该函数是该程序的指定入口点(而且每个程序都有一个)。该函数使用 fn 关键字后跟括号 (()) 中的一组可选参数来定义。花括号 ({}) 标示该函数的边界,这个函数包含对 println! 宏的一次调用,根据该字符串参数的定义,这会向控制台发出格式化的文本 (stdout)。

相对于前辈产品,Rust 是一种较新的语言,但它的血统造就了它的多模式方法。Rust 被视为一种类似 C 的语言,但它包含的其他特性带来了相较其前辈产品的优势。

Rust 是一个由 Mozilla 主导开发的新兴语言,其官方网站介绍如下:

Rust is a modern systems programming language focusing on safety, speed, and concurrency. It accomplishes these goals by being memory safe without using garbage collection. 

Rust 语言特性

Rust 有着非常优秀的特性,例如:

  • 可重用模块

  • 内存安全和保证(安全的操作与不安全的操作)

  • 不可恢复和可恢复的错误处理特性

  • 并发性支持

  • 复杂的数据类型(称为集合)

如果与我们比较熟悉的 C++ 相比的话,Rust 可以比较的地方太多了,这里我仅仅举一个比较简单的部分(模块引入)来看,在 C++ 中我们可能会需要以下头文件:

Rust 为什么能成为 Stack Overflow 最受欢迎的语言?

而如果要在 Rust 中完成的话,我们只需要:

Rust 提供大量默认的标准库。上面的代码中,就第一行,就 use 了一堆模块,这一点和 Python 的  import xxx 比较相似,此外:

C++ 还是那个老问题:惯用法。析构函数、拷贝构造函数。写对了没有。单线程下是对的,也许多线程就错了。要知道你可能从前写好了基础库,没有完整测试它在高并发下的表现,继续用可能就出错了(数据错误、内存访问错误)。Rust 呢?Rust 有一套基础设施(borrow checker), 从语义上检查了跨线程共享。

对 Rust 来说,编译器保证指出你的错误,对 C++ 来说,编译器没有这种保证,它也无法保证。

Rust 语言应用

在我们决定加入一个语言的“宗教”前,我们先来看看 Rust 已经做到了哪些,可以给我们带来哪些优秀的实用工具:

mdBook

一个可以将 Markdown 文档生成类似文档库的工具,mdBook 和 Rust 的所有文档就是通过 mdBook 完成的。

Rust 为什么能成为 Stack Overflow 最受欢迎的语言?

i3status-rust

对于 i3 窗口管理器适用的一个状态栏显示工具,使用 Rust 编写,非常易扩展。

Rust 为什么能成为 Stack Overflow 最受欢迎的语言?

Rust 编译器执行内存安全保证和其他检查,让该编程语言变得很安全。所以,在 Rust 中,永远不必担心悬空指针,或者担心在释放对象后使用它。这些是核心 Rust 语言的一部分。

虽然目前还没有针对 Rust 成熟的 IDE,但是在 LeetCode Playground 中,我们已经率先开启了针对 Rust 的支持,使用 Rust 1.31.0。

要入门 Rust?可以参考 Rust 官方的一个非常易懂的 Rust by Example ,通过学习网站上的例子并且在 LeetCode Playground 上进行尝试,Rust 可以很快入门,当然,如果要精通的话就需要大量的练习啦。

推荐阅读

Rust 为什么能成为 Stack Overflow 最受欢迎的语言?

Rust 为什么能成为 Stack Overflow 最受欢迎的语言?

Rust 为什么能成为 Stack Overflow 最受欢迎的语言?

Rust 为什么能成为 Stack Overflow 最受欢迎的语言?

Rust 为什么能成为 Stack Overflow 最受欢迎的语言?

Rust 为什么能成为 Stack Overflow 最受欢迎的语言?

Rust 为什么能成为 Stack Overflow 最受欢迎的语言?

Rust 为什么能成为 Stack Overflow 最受欢迎的语言?


以上所述就是小编给大家介绍的《Rust 为什么能成为 Stack Overflow 最受欢迎的语言?》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Node.js硬实战:115个核心技巧

Node.js硬实战:115个核心技巧

【美】Alex R. Young、【美】Marc Harter / 承竹、慕陶、邱娟、达峰 / 电子工业出版社 / 2017-1 / 109.9

《Node.js 硬实战:115 个核心技巧》是一本面向实战的Node.js 开发进阶指南。作为资深专家,《Node.js 硬实战:115 个核心技巧》作者独辟蹊径,将着眼点放在Node.js 的核心模块和网络应用,通过精心组织的丰富实例,向读者充分展示了Node.js 强大的并发处理能力,读者从中可真正掌握Node 的核心基础与高级技巧。《Node.js 硬实战:115 个核心技巧》总共有三部分......一起来看看 《Node.js硬实战:115个核心技巧》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换