rust

      注意:这本书的版本与No Starch Press发行的印刷版和电子书格式的Rust编程语言相同。
      欢迎使用Rust编程语言,这是一本有关Rust的入门书籍。 Rust编程语言可帮助您编写更快,更可靠的软件。 高级人机工程学和低级控制在编程语言设计中常常是矛盾的。 Rust挑战向这个冲突发起了挑战。 通过平衡强大的技术能力和出色的开发人员经验,Rust为您提供了控制底层细节(例如内存的使用)的选项,而无需传统上与此类控制相关的所有麻烦。
Rust 适合谁?
    由于多种原因,Rust是许多人的理想选择。 让我们看一些最重要的小组。
开发团队
    事实证明,Rust是用于在具有不同级别的系统编程知识的大型开发人员团队之间进行协作的高效工具。 低级代码容易出现各种细微的错误,只有在经验丰富的开发人员进行大量测试和仔细的代码审查之后,才能发现大多数其他语言中的错误。 在Rust中,编译器通过拒绝使用这些难以捉摸的错误(包括并发错误)来编译代码,从而起到了看门人的作用。 通过与编译器并肩工作,团队可以将时间花在专注于程序的逻辑上,而不是寻找错误。
    Rust还为系统编程世界带来了当代开发人员的工具:
        · Cargo是随附的依赖项管理器和构建工具,使添加,编译和管理依赖项在整个Rust生态系统中变得轻松而一致。
      · Rustfmt确保开发人员之间一致的编码风格。
      · Rust语言服务器为集成开发环境(IDE)集成提供了强大的功能,以实现代码完成和内联错误消息。
    通过在Rust生态系统中使用这些工具和其他工具,开发人员可以在编写系统级代码时提高工作效率。
学生们
    Rust适用于学生以及对学习系统概念感兴趣的人。 使用Rust,许多人了解了诸如操作系统开发之类的主题。 社区非常欢迎并乐于回答学生的问题。 通过本书的努力,Rust团队希望让更多的人更容易理解系统概念,特别是那些刚开始编程的人。
公司
    数百家大小公司都在生产中使用Rust来完成各种任务。 这些任务包括命令行工具,Web服务,DevOps工具,嵌入式设备,音频和视频分析和转码,加密货币,生物信息学,搜索引擎,物联网应用程序,机器学习,甚至是Firefox Web浏览器的主要部分。
开源开发人员
    Rust适用于想要构建Rust编程语言,社区,开发人员工具和库的人。 我们希望您能为Rust语言做出贡献。
重视程序速度和稳定性的人
    Rust适用于渴望使用某种语言的速度和稳定性的人。 所谓速度,是指您可以使用Rust创建的程序的速度,以及Rust允许您编写程序的速度。 Rust编译器的检查通过添加功能和重构来确保稳定性。 这与没有进行这些检查的语言中易碎的旧代码相反,开发人员通常不敢对其进行修改。 通过努力实现零成本抽象,将高级功能编译为低级代码的速度与手动编写的代码一样快,Rust努力使安全代码也成为快速代码。
Rust语言希望也能支持其他许多用户。 这里提到的只是最大的利益相关者。 总体而言,Rust的最大志向是通过提供安全性,生产率,速度和人体工程学来消除程序员数十年来接受的折衷方案。 尝试一下Rust,看看它的选择是否对您有用。
这本书适合谁
     本书假定您已经用另一种编程语言编写了代码,但没有对哪种编程语言做任何假设。 我们已尝试使具有广泛编程背景的人员可以广泛使用这些材料。 我们没有花很多时间谈论什么是编程或如何思考它。 如果您是编程的新手,那么最好阅读一本专门介绍编程的书,为您提供更好的服务。
如何使用这本书
    一般而言,本书假定您是从前到后依次阅读的。 后面的章节以前面的章节中的概念为基础,而前面的章节可能不会深入研究某个主题。 我们通常会在下一章中重新讨论该主题。
    在本书中,您会发现两种章节:概念章节和项目章节。 在概念章节中,您将学习Rust的一个方面。 在项目章节中,我们将一起应用您到目前为止所学到的内容来构建小型程序。 第2、12和20章是项目的章节; 其余的是概念章节。
第1章介绍了如何安装Rust,以及如何编写“ Hello,world!”。 程序,以及如何使用Rust的包裹管理器和构建工具Cargo。
第2章是Rust语言的动手入门。
在这里,我们从高层次介绍概念,以后的章节将提供更多详细信息。 如果您想立即弄脏手,那么第二章就是您的最佳选择。 起初,您甚至可能想跳过第3章,它涵盖了Rust与其他编程语言类似的功能,而直接进入第4章以了解Rust的所有权系统。 但是,如果您是一个特别细致的学习者,并且喜欢在继续学习下一个细节之前先学习每一个细节,那么您可能想跳过第2章,直接进入第3章,而当您想学习一个细节时又回到第2章。 应用您所学到的细节的项目。
第5章讨论结构和方法,
第6章讨论枚举,匹配表达式以及if let控制流的构造。 您将使用结构和枚举在Rust中创建自定义类型。
在第7章中,您将了解Rust的模块系统以及用于组织代码及其公共应用程序编程接口(API)的隐私权规则。
第8章讨论了标准库提供的一些常见的集合数据结构,例如向量,字符串和哈希图。
第9章探讨了Rust的错误处理哲学和技术。
第10章深入探讨了泛型,特征和生存期,使您能够定义适用于多种类型的代码。
第11章是关于测试的,即使使用Rust的安全保证,也必须进行测试,以确保您的程序逻辑正确。
在第12章中,我们将通过grep命令行工具构建自己的功能子集,该工具可在文件中搜索文本。 为此,我们将使用上一章中讨论的许多概念。
第13章探讨了闭包和迭代器:Rust的功能,它们来自函数式编程语言。
在第14章中,我们将更深入地研究Cargo,并讨论与他人共享您的图书馆的最佳做法。
第15章讨论了标准库提供的智能指针以及启用其功能的特征。
在第16章中,我们将介绍并发编程的不同模型,并讨论Rust如何帮助您轻松地在多个线程中进行编程。
第17章介绍了Rust习惯用法与您可能熟悉的面向对象编程原理的比较。
第18章是有关模式和模式匹配的参考,它们是在整个Rust程序中表达思想的有力方法。
第19章包含了一系列有趣的高级主题,包括不安全的Rust,宏以及有关生存期,特征,类型,函数和闭包的更多信息。
在第20章中,我们将完成一个项目,在该项目中我们将实现一个低级多线程Web服务器!
最后,一些附录以更类似参考的格式包含有关该语言的有用信息。
附录A涵盖了Rust的关键字,
附录B涵盖了Rust的运算符和符号,
附录C涵盖了标准库提供的可派生特征,
附录D涵盖了一些有用的开发工具,
附录E解释了Rust版本。
读这本书没有错误的方法:如果您想跳过,那就去吧! 如果遇到任何困惑,您可能必须跳回到前面的章节。 但是,尽一切可能为您工作。
学习Rust的过程的重要部分是学习如何读取编译器显示的错误消息:这些将指导您使用有效的代码。 因此,我们将提供许多无法编译的示例,以及编译器将在每种情况下向您显示的错误消息。 要知道,如果您输入并运行一个随机示例,则该示例可能无法编译! 确保您阅读了周围的文字,以查看您尝试运行的示例是否有误。 Ferris还将帮助您区分不起作用的代码:
在大多数情况下,我们会引导您找到所有未编译代码的正确版本。
源代码
生成本书的源文件可以在GitHub上找到。

《rust》有一个想法

发表评论

电子邮件地址不会被公开。 必填项已用*标注