< 返回版块

KenLuobo 发表于 2020-06-19 12:35

Tags:新手上路,求入门解答

求大佬解答 作为一名编程小白,在浏览过一些博客介绍后了解到Rust这门语言。作为一名希望入门计算机行业的我,英语方面很差,但对操作系统,程序运行过程和底层运行机制有些兴趣,不知道用Rust当作敲门砖是不是一个合适的想法。 因为在各种博客中看到过许多开发者对于用作系统开发的C,C++和Rust的对比评价,以及解释语言Python对于后期深入理解操作系统和底层运行机制的不友好,我很迷惑,希望大佬能对我的用Rust作为计算机入门的敲门砖的想法做一个中肯的评价。 --十分感谢您的解答!!! --小白致

评论区

写评论
kenluobo 2021-10-01 10:51

-- 您好,现在再来看您的回答,感觉是非常正确的。作为一个语言只学过皮毛的,碰rust这种东西没有啥好处。在学数据结构时,示例代码都是流行语言;学操作系统时,全是C代码(都只是过了点皮毛)。然后我又学起了C++,现在还是一头雾水,但感觉能透过它了解一些东西,至少现在还不知道,但都这样去做,应该问题不大。 👇
Neutron3529: (作为不是计算机系科班出身的,或许我应该给你泼一些冷水)

如果你真的准备研究操作系统,C比Rust更重要。

并不是Rust不够先进,只是我们的操作系统太落后了。

就比如操作系统处理类似printf这样的带变长度参数函数的时候……你用Rust的眼光看那就是一个unsafe

——但这样的函数有很多……


可能未来Rust能写出比C更好的操作系统。

但对初学者,还是学C吧。

嗯,或者说,先学计算机组成原理,再学编译原理,最后上操作系统。

三本书,第一本讲汇编是什么,是如何执行的,第二本讲C是怎么变成汇编的,最后一本才开始讲操作系统的故事。

——这三本书里,不会出现Rust语言。


曾经,我作死,准备装一个Gentoo/Linux的操作系统

装Gentoo的时候,连Linux内核和gcc都可以自己编译(方法是gcc提供的bootstrap,详细的我也不知道)……编译过程并没有Rust的影子,而编译依旧不太完美(不知为什么桌面很卡,可能是显卡驱动没调好)

去年我花了全部五一假期的时间做这件事,而今年,我成功地投奔了Manjaro

——原因只是我悟到了,大神口中的“不建议初学者使用”的意思,其实只是,如果你不是计算机科班出身的,不要试图用这种先进武器……

Rust的地位跟Gentoo可能真的差不多。

如果你真的想学习怎么用Rust写操作系统,或许你应该先找找相应的教材。

(虽然把C翻译成等价Rust代码也是一条路)

但我总感觉,如果你不先把C学好,直接上手Rust的难度并不小。

Neutron3529 2020-06-20 23:20

希望能坚持住。

对以下内容的回复:

Nalleyer 2020-06-20 14:07

我觉得可以,但是我觉得语言多看几个多学几个也不浪费多少时间,而且越学越快。 另外看看c和c++的坑也有很多好处。

作者 KenLuobo 2020-06-19 18:19

要是碰到大坑或者深坑了,要是没捞到大佬设计的足够长的梯子在说吧🤔😄 对以下内容的回复:

作者 KenLuobo 2020-06-19 18:15

纠结了半天,还是先干起来吧😄

对以下内容的回复:

作者 KenLuobo 2020-06-19 18:13

谢谢您的回复!😀我想试着走一条非主流的线路吧,顺便也弥补下循规蹈矩的生活的无聊😊,到捡起C language重学的时候,在开始补充笔记啦!!! 对以下内容的回复:

作者 KenLuobo 2020-06-19 17:55

谢谢您的指导

对以下内容的回复:

imoegirl 2020-06-19 13:39

只要有兴趣,干就行,考虑那么多干嘛,

gmg137 2020-06-19 13:37

路上会有很多很多坑,一个个填就是了,当然你也可能会死在坑里。

Neutron3529 2020-06-19 13:30

(作为不是计算机系科班出身的,或许我应该给你泼一些冷水)

如果你真的准备研究操作系统,C比Rust更重要。

并不是Rust不够先进,只是我们的操作系统太落后了。

就比如操作系统处理类似printf这样的带变长度参数函数的时候……你用Rust的眼光看那就是一个unsafe

——但这样的函数有很多……


可能未来Rust能写出比C更好的操作系统。

但对初学者,还是学C吧。

嗯,或者说,先学计算机组成原理,再学编译原理,最后上操作系统。

三本书,第一本讲汇编是什么,是如何执行的,第二本讲C是怎么变成汇编的,最后一本才开始讲操作系统的故事。

——这三本书里,不会出现Rust语言。


曾经,我作死,准备装一个Gentoo/Linux的操作系统

装Gentoo的时候,连Linux内核和gcc都可以自己编译(方法是gcc提供的bootstrap,详细的我也不知道)……编译过程并没有Rust的影子,而编译依旧不太完美(不知为什么桌面很卡,可能是显卡驱动没调好)

去年我花了全部五一假期的时间做这件事,而今年,我成功地投奔了Manjaro

——原因只是我悟到了,大神口中的“不建议初学者使用”的意思,其实只是,如果你不是计算机科班出身的,不要试图用这种先进武器……

Rust的地位跟Gentoo可能真的差不多。

如果你真的想学习怎么用Rust写操作系统,或许你应该先找找相应的教材。

(虽然把C翻译成等价Rust代码也是一条路)

但我总感觉,如果你不先把C学好,直接上手Rust的难度并不小。

Mike Tang 2020-06-19 12:48

我觉得可以。但是,这是一个漫长的过程。如果时间上能 cover 这个学习的过程,肯定可以。

其实计算机知识,语言只是很重要的一面。其它计算机原理,Unix原理,数据结构,算法,等等,都是重要的一部分。

1 共 11 条评论, 1 页