序言
计算机是20世纪最伟大的科学技术发明之一。从第一台计算机诞生到今天,计算机运行速度越来快,功能越来强大,当然也越来越复杂。计算机各个方面的书籍汗牛充栋,新技术不断涌现,更新换代速度极快,让人无所适从。“该如何高效的学习计算机知识?” 成为摆在所有学习者面前必须优先思考的一个重要问题。对于这个问题,每个人都会有自己的回答。 而本书给出的回答是:学习计算机底层的原理,以不变应万变。本书将分上中下三卷共七十二篇(七十二变)以简要、有趣的文字、由浅入深地讲解计算机的原理。
内容概要
全书分为三卷:
- 上卷 数据与编码 主要介绍常见的几种重要数据是如何通过编码,构建计算机的数字化世界的。
- 中卷 运算与转换 主要介绍各种数据是如何通过运算与转换,解决现实世界的各种问题的。
- 下卷 秘密与密码 主要介绍如果通过密码技术实现数据的安全存储、传输等一些列问题。
标准、规范、协议是计算机、互联网的基石
如果将0、1比作沙子,那么该如何使用这些沙子高效地构建整个计算机、互联网世界的大厦呢?很显然沙子太小而大厦则相对则大得多,直接使用沙子来建设大厦简直是天方夜谭。唯一可行的做法就是:先使用沙子制作砖块、混凝土、玻璃等最基本的材料(实际上需要的材料还有很多,比如钢铁、木材),然后根据施工标准,采用恰当的构建方法,按照一定的步骤一步步构建起最终的大厦。计算机、互联网世界也是如此,就软件而言,0、1二进制首先构成了各种编程语言的类型系统中的各种类型的数据,整数、浮点数、字符串、数组、队列、堆、栈、文件等等,这些类型的各种方法实现了类型的各种计算、转换等逻辑,而我们常说的软件、代码则是使用编程语言(当然编程语言本身也是代码)表达的一定业务逻辑的符号系统。可以看出在构建整个大厦的过程中,沙子、砖块、混凝土等等都是最基础的材料,然后更为重要的是加工、制造这些材料的方法,以及经过大量实践证明,被大多数人遵循和采用的经验总结,进而上升为各种标准、规范、协议。
制定标准、规范、协议是实力与话语权的象征
“无规矩不成方圆”,社会生活中,为了规范每个人、各种社会组织、团体的行为,保持社会稳定,我们制定了各种规章制度、法律法规、民俗公约。
计算机、互联网世界的则是各种标准、规范、协议。从ASCII (American Standard Code for Information Interchange ,美国信息交换标准代码)开始,
在不到一百年时间里,计算机世界里出台了成百上千的标准、规范、协议,而且还处在不断的新增、完善的过程中。这些极大的促进了计算机的应用和发展。美国最早发明了计算机、互联网,
同时也是众多标准、规范、协议的制定者,体现了其强大的科技创新实力、强大的话语权。
“海到无边天作岸,山登绝顶我为峰”,每个希望变得强大,且愿意为全人类做贡献的国家、组织,都应该在各个行业、各个领域努力做到最好,推动制定相关领域的标准、规范、协议,共同推动全人类的发展、进步。
为什么学习、使用Rust?
对公司而言,使用Rust更省钱,更省心,更省事
### 性能卓越,更省钱
云计算时代,CPU、内存、网络(流量、带宽)就如城市中水和电一样,都可以轻易获得,但大规模使用成本不容忽视。看看各大云服务商的数据中心,仅仅耗电一项就是巨大开支。Rust凭借优异的性能,能够大幅减少CPU运行的时间,同时消耗较少的内存,这就意味着消耗更少的电力——对于老板而已,这意味着做同样的事情花费更少的成本。
《Energy Efficiency across Programming Languages How Do Energy, Time, and Memory Relate?》 这篇论文详细比较各种编程语言的能耗、运行时间、内存消耗。
【Rust 生态观察】 Rust 实现的事件处理引擎 tremor-runtime 已经在 美国最大家具电商公司 Wayfair 生产环境跑了三年
### 内存安全,更省心
在数据安全以及隐私越来越受重视的今天,安全漏洞造成的损失和影响都将是巨大的。java开源库接连爆出重大漏洞,影响极大。
### 系统健壮,更省事
系统稳定运行意味着后期维护时,再也不用担心服务随时可能宕机了。Rust的健壮性为系统稳定运行奠定了坚实的基础。
对个人而言,学习Rust是一个十分明智的选择
Java内卷太严重,我要学习Rust。
### Rust渐成主流,入门门槛较高,内卷程度不高
在国内,Java绝对是大部分企业的主力开发语言。Java程序员需求量大,相关的职位也最多。随着高薪的吸引,大量科班、非科班的就业人群涌入IT、互联网行业,Java行业的内卷(竞争)程度也越来越激烈。Golang、Rust等新兴编程语言经过多年的快速发展,在国内也逐渐成为主流。
## 重剑无锋,大巧不工——Rust就是这样一柄重剑
Rust是就像一柄重剑,刚开始学习使用时非常吃力。