陈天 · Rust 编程第一课
陈天
Tubi TV 研发副总裁
23196 人已学习
新⼈⾸单¥68
登录后,你可以任选4讲全文学习
课程目录
已完结/共 65 讲
基础篇 (21讲)
陈天 · Rust 编程第一课
15
15
1.0x
00:00/00:00
登录|注册

用户故事|语言不仅是工具,还是思维方式

成为大师的机会
锻炼思维
改变编码习惯
性能、安全、语言表达力
《浪潮之巅》
《硅谷来信》
《Rust in Action》
《深入理解计算机系统》
Rust 的学习与应用
Rust 的集大成特性
编码习惯的改进
概念的完整理解
初学挑战
网络协议栈
内核
协程
适合内核、数据库、网络
安全与性能并重
高度抽象、表达能力强
思维的惯性
思维的桎梏
思想的表达
语言的选择与应用
人脑思维与计算机思维的平衡
抽象层次:机器码 -> 汇编 -> 高级语言
声明式编程:JavaScript
命令式编程:C语言
高级语言:C语言、Java、JavaScript、Rust
汇编语言
计算机语言:二进制机器语言、指令集
人类语言:肢体动作、神情、声音、文字
性能、成本、易用性权衡
分支、跳转、上下文
递归、分治
取舍
迭代快
协作性
全局性
多维度、多任务
自顶向下
参考资料
Rust 的学习曲线
Rust 的工程能力
Rust 的特点
语言对思维的影响
语言作为工具
编程语言的进化
编程范式
编程语言的抽象
语言作为思维载体
计算机思维的体现
人脑思维与计算机思维差异
总结
Rust
工具
语言
思维
Rust 编程语言

该思维导图由 AI 生成,仅供参考

你好,我是 Pedro,一名普普通通打工人,平平凡凡小码农。
可能你在课程留言区看到过我,也跟我讨论过问题。今天借着这篇用户故事的机会,正好能跟你再多聊几句。
我简单整理了一下自己入坑编程以来的一些思考,主要会从思维、语言和工具三个方面来聊一聊,最后也给你分享一点自己对 Rust 的看法,当然以下观点都是“主观”的,观点本身不重要,重要的是得到观点的过程。

从思维谈起

从接触编程开始,我们就已经开始与编程语言打交道,很多人学习编程的道路往往就是熟悉编程语言的过程。
在这个过程中,很多人会不适应,写出的代码往往都不能运行,更别提设计与抽象。出现这个现象最根本的原因是,代码体现的是计算机思维,而人脑思维和计算机思维差异巨大,很多人一开始无法接受两种思维差异带来的巨大冲击
那么,究竟什么是计算机思维?
计算机思维是全方位的,体现在方方面面,我以个人视角来简单概括一下:
自顶向下:自顶向下是计算机思维的精髓,人脑更加适合自底向上。计算机通过自顶向下思维将大而难的问题拆解为小问题,再将小问题逐一解决,从而最终解决大问题。
多维度、多任务:人脑是线性的,看问题往往是单维的,我们很难同时处理和思考多个问题,但是计算机不一样,它可以有多个 CPU 核心,在保存上下文的基础上能够并发运行成百上千的任务。
全局性:人的精力、脑容量是有限的,而计算机的容量几乎是无限的;人在思考问题时,限于自己的局部性,拿到局部解就开始做了,而计算机可以在海量数据的基础上再做决策,从而逼近全局最优。
协作性:计算机本身就是一件极其精细化的工程艺术品,它复杂精巧,每个部分都只会做自己最擅长的事情,比如将计算和存储剥离,计算机高效运作的背后是每个部分协作的结果,而人更擅长单体作战,只有通过大量的训练,才能发挥群体的作用。
迭代快:人类进化、成长是缓慢的,直到现在,很多人的思维方式仍旧停留在上个世纪,而计算机则不同,进入信息时代后,计算机就遵循着摩尔定律,每 18 个月翻一番,十年前的手机放在今天可能连微信都无法正常运行。
取舍:在长期的社会发展中,人过分喜欢强调对与错,喜欢追求绝对的公平,讽刺的是,由二进制组成的计算机却不会做出非黑即白的决策,无论是计算机本身 (硬件),还是里面运行的软件,每一个部分都是性能、成本、易用性多角度权衡的结果。
So on…
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

Rust语言:思想与工具的完美结合 Rust语言作为一门极其现代的编程语言,集百家之长,将性能、安全、语言表达力都做到了极致。文章介绍了Pedro对编程思维的重要性以及对Rust编程语言的优势的观点。Pedro强调编程语言不仅是工具,更是一种思维方式,从计算机思维与人脑思维的差异、编程语言的发展历程和Rust编程语言的特点展开讨论。通过介绍简单协程、简单内核和简单网络协议栈三个例子,展示了Rust语言的强大表现力、生态和底层能力,以及其在协程、内核和协议栈方面的简单和方便应用。Rust语言对开发者极其严格,要求对所有概念都有深入的认识,这无疑也是一个巨大的机会,改掉不好的编码习惯,锻炼思维,让程序员成为真正的大师。总的来说,Rust语言的思想性和工具性的完美兼顾,赋予了极强的工程表达能力和完成能力。 Rust语言的学习曲线陡峭,但对于想要成为真正大师的程序员来说,学习Rust语言是一个值得投入的机会。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《陈天 · Rust 编程第一课》
新⼈⾸单¥68
立即购买
登录 后留言

全部留言(4)

  • 最新
  • 精选
  • 安迪
    谢谢分享! 说到计算机思维,最近正在看吴军老师的《计算之魂》这本书,书中重点讲解了如何塑造计算机思维。

    作者回复: 👍

    2021-12-24
    1
  • 罗杰
    写的非常精彩,感谢分享

    作者回复: 👍

    2021-12-24
  • 周杨
    这片文章写的真的好啊
    2022-11-25归属地:湖南
  • 老实人Honey
    感谢分享
    2022-04-25
收起评论
显示
设置
留言
4
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部