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