ref2

本文来自rust社区wiki ### 什么是Rust

针对初学者和专业人员的 Rust 编程语言文档,Rust 从设计之初遍是为了更好的内存安全,现在已可作为生产力语言。

Rust 是一门系统级编程语言,开始由 Graydon Hoare 开发。后来 Mozilla 实验室接管了此项目

应用级编程语言 v/s 系统级编程语言

像 Java/C# 的应用级编程语言被用来构建直接服务于用户的应用程序。比如我们常用的 Excel, World 应用程序,网站和手机 App。

像 C/C++ 这类的属于系统级编程语言,常用来构建软件和软件平台,操作系统,游戏引擎,编译器,等等 。通常会需要一些偏底层的操作,比如大量的和硬件交互。

系统级比应用级有两个主要的问题

  • 编写内存安全的代码很困难。
  • 编写多线程代码很困难。

Rust 是什么

  • Rust 是一个系统级编程语言,被 Mozilla 员工 "Graydon Hoare" 于 2006 年 开发。他形容 Rust 是一种线程安全的支持并发的实用型的编程语言,支持函数式编程与命令式编程。

  • rust 的语法和 C++ 类似。

  • Rust 是免费开源的软件,即任何人可以免费的使用它,并且源代码是开源分享的,因此人们还可以去提高它的软件设计。

  • 在 2016 年,2017 年和 2018 年的 stack overflow 开发人员调查中,Rust 被评比为 “最受欢迎的编程语言” 之一。

  • 没有例如 calloc(动态内存分配并做初始化)或者 malloc(动态内存分配不做初始化)这样直接的内存管理模式。这意味着,内存会由 Rust 进行内部管理。

为什么选择 Rust

Rust 关注三个目标

  • 安全
  • 快速
  • 并发

该语言旨在以简单的方式开发高度可靠且快速的软件系统。Rust 可被用于从高级程序到硬件特定程序的编写。

性能

Rust 编程语言没有设计垃圾回收器( GC )。这个设计提高了程序运行的性能(译者注:相对于其他设计有 GC 的编程语言,例如 Java 和 C# )。

编译时内存的安全性

使用 Rust 构建的软件可以避免出现诸如空指针,缓存溢出和内存泄漏的内存问题。

多线程应用

Rust 所有权和内存安全的特性为没有数据竞争的并发提供了支撑。

支持 Web Assembly (WASM)

Web Assembly 有助于,在浏览器,嵌入式设备或者其他任何地方,执行计算密集型算法。它的运行速度和本机代码一样飞快。 Rust 可以被编译成 Web Assembly ,以保证代码执行的快速和可靠。

Rust 带来了什么

因为许多理由,Rust 语言成为很多人的最佳选择。

让我们来看一看,都有哪些缘由:

  • 开发者团队: 事实证明,对于开发者团队, Rust 非常实用。低水平的编程代码会包含很多 bug,需要测试人员进行覆盖测试广泛验证。然而,对于 Rust ,如果程序包含 bug,编译器将拒绝编译代码。因为编译器的并行编译工作,开发者可以专注在程序的逻辑实现而不是 bug。
  • 学术: 许多人可以学习如何使用 Rust 开发操作系统。 Rust 团队正在努力让普罗大众更容易理解系统概念,特别是对于编程新手。
  • 公司: 有大公司也有小公司使用 Rust 完成各种开发任务。这些任务包括命令行工具,Web 服务,DevOps 工具,嵌入式设备,音频和视频的分析和转码,加密货币,生物信息学,搜索引擎,物联网应用,机器学习,甚至是火狐浏览器的重要组成部分。
  • 开源开发者: Rust 是一种开源的编程语言,这意味着源代码可以供人们任意使用。因此,人们还可以利用开源的源代码参与进提升 Rust 设计的工作。

———————————————— 原文作者:Summer 转自链接:https://learnku.com/rust/wikis/36705 版权声明:著作权归作者所有。商业转载请联系作者获得授权,非商业转载请保留以上作者信息和原文链接。