求大佬解答 作为一名编程小白,在浏览过一些博客介绍后了解到Rust这门语言。作为一名希望入门计算机行业的我,英语方面很差,但对操作系统,程序运行过程和底层运行机制有些兴趣,不知道用Rust当作敲门砖是不是一个合适的想法。 因为在各种博客中看到过许多开发者对于用作系统开发的C,C++和Rust的对比评价,以及解释语言Python对于后期深入理解操作系统和底层运行机制的不友好,我很迷惑,希望大佬能对我的用Rust作为计算机入门的敲门砖的想法做一个中肯的评价。 --十分感谢您的解答!!! --小白致
1
共 11 条评论, 1 页
评论区
写评论-- 您好,现在再来看您的回答,感觉是非常正确的。作为一个语言只学过皮毛的,碰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的难度并不小。
希望能坚持住。
对以下内容的回复:
我觉得可以,但是我觉得语言多看几个多学几个也不浪费多少时间,而且越学越快。 另外看看c和c++的坑也有很多好处。
要是碰到大坑或者深坑了,要是没捞到大佬设计的足够长的梯子在说吧🤔😄 对以下内容的回复:
纠结了半天,还是先干起来吧😄
对以下内容的回复:
谢谢您的回复!😀我想试着走一条非主流的线路吧,顺便也弥补下循规蹈矩的生活的无聊😊,到捡起C language重学的时候,在开始补充笔记啦!!! 对以下内容的回复:
谢谢您的指导
对以下内容的回复:
只要有兴趣,干就行,考虑那么多干嘛,
路上会有很多很多坑,一个个填就是了,当然你也可能会死在坑里。
(作为不是计算机系科班出身的,或许我应该给你泼一些冷水)
如果你真的准备研究操作系统,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的难度并不小。
我觉得可以。但是,这是一个漫长的过程。如果时间上能 cover 这个学习的过程,肯定可以。
其实计算机知识,语言只是很重要的一面。其它计算机原理,Unix原理,数据结构,算法,等等,都是重要的一部分。