总结的原文大概 2w 字,在这里分享一下:
|      1duke807      2022-02-27 00:56:01 +08:00  5 人生苦短,我還是用 C 和 Python 吧 感覺用 unsafe rust 還不如用 C 感覺 95% 以上的人是無法精通 C 的,因爲要對底層硬件很熟悉,譬如中斷上下文、cache 、dma 、虛擬內存等等 爲了防止大多數不適合編程的人搞事情,所以才引入 rust 這樣諸多限制的語言,目的是降低編程門檻 否則用 C 把內存搞出問題,一般人根本就沒有能力排查問題 所以,做爲 C 程序員,如果你也跟風追捧 rust ,其實是爲了方便小白而給自己找麻煩 | 
|  |      2secondwtq      2022-02-27 01:23:34 +08:00 只要我够聪明我就可以手写机器码 | 
|  |      3leimao      2022-02-27 01:28:29 +08:00 via iPhone 我精通数十种语言的 hello world | 
|  |      4ihciah      2022-02-27 01:33:33 +08:00 via iPhone  10 @duke807 再厉害的大佬也会犯错,并且很多是不注意导致的低级错误。所以用一定的机制来收敛可能导致内存错误的代码段是有用的,无论是对小白还是老手。 c 写出问题之后查错成本高,但对于生产环境来说错误本身导致的代价更大。所以能形式化证明代码没问题很重要,这样会降低很大的潜在成本。 | 
|  |      5thedrwu      2022-02-27 02:14:15 +08:00 via Android @duke807 #1 再大牛写 C 也有疏忽的时候,不如编译器保障一些正确性。 况且和 C 比自带内存管理、自带 string 库和 test 库、自带 lsp 和 linter ,和 C++比又没有历史包袱,真香 | 
|  |      6thedrwu      2022-02-27 02:15:53 +08:00 via Android  1 每个 rust 程序员都会写链表的文章,就像每个 haskell 程序员都会写一篇 monad 的文章 | 
|      7duke807      2022-02-27 02:19:43 +08:00 @ihciah  沒錯,所以我說的是用 *unsafe* rust 還不如用 C 正如操作系統用宏內核還是微內核之爭 微內核派說要隔離錯誤,每個模塊都要隔離起來,反而增加了開銷和複雜度 而宏內核的 linux 系統,很多內核任務也是以內核線程來執行,某個線程出錯系統不一定會死掉 我的態度是,不要追求極端,linux 內核就是比較理想的折中選擇 生產環境,對於大多數人,即便用 c 也是在用戶空間,用戶空間本來就有保護,不同進程隔離開,問題可以縮小排查 爲了降低成本,用 python 、go 這樣更高階的語言開發更快,代價更小 綜上,我覺得 rust 就是一種極端的存在,不是我的菜 | 
|      8duke807      2022-02-27 02:23:36 +08:00 | 
|      10hbdh5      2022-02-27 03:56:57 +08:00  2 文章写的还好,只是写了太多太初级的东西。都用 unsafe 了一般都会假设读者有一定的知识背景,写太多有点水文章的嫌疑。关于 subtyping 的部分用了太多像是"收缩,扩张,至少"之类的感觉不太合适的词汇,整个概念没有说清楚。从左右值的概念入手可能会比较好一些 | 
|  |      11yzbythesea      2022-02-27 07:35:43 +08:00  1 虽说是奇技淫巧,但是我还挺喜欢的。博文就应该有深度,比很多直接抄下 user manual ,贴个 example 的好太多了。 | 
|      12yannxia      2022-02-27 08:52:44 +08:00 @duke807 很多人是 high level 的程序员···搞硬件不是他们所擅长和期望的,Rust 也很方便做系统编程(和硬件不相关的), | 
|  |      13jasonkayzk OP @hbdh5 #10 的确是加了很多基础性的东西,因为考虑到还是有些人对 rust 不太了解(比如我自己也是懵懵懂懂吧);更多的是对自己学过的一些基础知识的理解和回顾!谢谢大佬给的建议啊! | 
|  |      14jasonkayzk OP @duke807 #1 不是每一个人都是 C 语言领域的专家,对于有些编程能力不强的人来说,rust 编译器提供的能力是非常有必要的! | 
|  |      15jasonkayzk OP @yzbythesea #11 谢谢夸奖! | 
|  |      16yangbin9317      2022-02-27 10:18:39 +08:00 via iPhone 谢谢楼主,看完之后收获很大 | 
|  |      17jasonkayzk OP @yangbin9317 #16 多谢夸奖,这也是我自己在学习 rust 时的一些总结,希望能对大家有帮助;❤️ | 
|  |      18yangbin9317      2022-02-27 12:17:30 +08:00 @jasonkayzk 你讲 Rust 实现链表,他非要说 C 有多么自由,是真能杠啊 | 
|      20hbdh5      2022-02-27 14:36:29 +08:00 @duke807 但凡你深入接触过 rust 社区你就会知道用 unsafe rust 的群体大多都是 library 的开发者,水平就算不说很高,对你说的那些所谓的底层有的是人比你懂得多。unsafe rust 的目的从来不是和 c 比,甚至也不是和 c++比,而是为上层的,高阶的 rust 提供一个可靠的,安全的抽象。 | 
|      21duke807      2022-02-27 16:02:52 +08:00 via Android  1 | 
|  |      22luckyrayyy      2022-02-27 16:13:05 +08:00  1 rust 不太懂,但是楼主的博客好棒!应该还很年轻,技术就挺厉害了 | 
|  |      23sagaxu      2022-02-27 16:17:03 +08:00 via Android C Is Not a Low-level Language Your computer is not a fast PDP-11. | 
|  |      24jasonkayzk OP @luckyrayyy #22 谢谢夸奖,博客都是一些学习的笔记总结而已,没什么创新… | 
|  |      25chuanqirenwu      2022-02-27 20:04:55 +08:00 感谢分享,等看完 the rust pl 好好研究一下这个例子。 | 
|  |      26jasonkayzk OP @chuanqirenwu #25 hhh 、不客气 | 
|  |      27Yain      2022-02-28 00:37:47 +08:00 楼主也太强了吧,如何才做到博客更新频率那么高 | 
|  |      28jasonkayzk OP @Yain #27 最近一个多月也就写了三篇…,这个频率不高吧; | 
|      29kxuanobj      2022-03-03 10:31:27 +08:00 @duke807 这个双向链表是为 safe Rust 提供一个链表实现,使 safe Rust 可以在 safe 的上下文上使用链表。 这种情况下,显然不能用 C 实现链表,然后通过 ffi 给 safe Rust 来用。 没有 unsafe Rust ,哪来的 safe Rust ? | 
|      30fpure      2022-03-07 16:42:47 +08:00 不错,收藏起来慢慢看 | 
|  |      31jasonkayzk OP @fpure #30 感谢支持❤️ | 
|  |      32ecloud      2022-06-13 22:51:14 +08:00 @duke807 微内核最开始的出发点是跨硬件。那个时代可不像现在,光 RISC 就有 6-7 种,CISC 有 2 种常见的,另外还有一大堆 S/390,AS400 和 PDP 在活跃。微内核的想法就是靠一个 core 通吃,然后稍微修改一点外围就能杀全场。哪像现在就一个 X86 和 ARM 还算活跃,mips 和 ppc 基本就是半死,其余的几乎都躺尸了 |