在 Rust 语言发布七周年(2022.5.15)之际,本人代表Rust 中文社区发起本次调研活动,旨在了解 Rust 语言在广大高校中的教育普及状况。本次调查报告一共有224人参与,其中有效数据为219份。希望这份报告可以反映出广大学生对于学习 Rust 语言的渴望和呼声。
参与统计的大学
“排名不分先后,非常感谢大家的参与!
有 Rust 相关课程的学校:
清华大学、北京大学、西北工业大学、电子科技大学、中山大学
有 Rust 相关实践的学校:
上海交大实验室、上海大学、上海应用科技大学
参与调查但未开设 Rust 相关课程实践的大学:
北京邮电大学、华东师范大学、杭州电子科技大学、江苏科技大学、长江大学、西安电子科技大学、青岛科技大学、山东大学、 贵州大学、西南科技大学、安徽工业大学、电子科技大学、重庆理工大学、大连民族大学、东莞理工学院、西安电子科技大学、福州大学、国防科技大学、华中科技大学、沈阳理工、广州大学、中央民族大学、重庆邮电大学、河南科技大学、江西师范大学、郑州大学、中国科学技术大学、济南大学、哈尔滨工业大学、浙江大学、香港科技大学、山西大学、郑州轻工业大学、成都信息工程大学、东华大学、成都信息工程大学、复旦大学、东北林业大学、辽东学院、上海电子信息职业技术学院、西南交通大学、南京邮电大学、华中师范大学、临沂职业学院、北京科技大学、东北大学、哈尔滨工业大学(威海)、青海大学、中南大学、北京交通大学、中国矿业大学、玉林师范学院、太原理工大学、芜湖联合大学、广东工业大学、福建工程学院、福建师范大学、北京林业大学、三峡大学、五角场文理学院、山东师范大学、郑州西亚斯学院、南京大学、首都师范大学、黑龙江大学、西安理工大学、北京航空航天大学、许昌学院、河池学院、中国地质大学(北京)、杭州职业技术学院、河海大学、四川师范大学、安徽大学、湖南中医药大学、湘潭大学、济南大学、浙江传媒学院、南辛庄防疫大学、苏州大学、西安交通大学、湖北科技职业学院、华中农业大学、上海财经大学、华侨大学、北方工业大学、长沙理工大学、重庆师范大学、河南工程学院、华南理工大学、蚌埠芜湖大学、暨南大学、广东财经大学、大连理工大学、西安石油大学、四川大学、华南师范大学、哈尔滨工业大学、集美大学、南昌航空大学科技学院、武汉理工大学、应急管理大学、天津工业、东南大学、广东外语外贸大学、浙江工业、武汉科技大学、河北农业大学、北京工业大学、西南民族大学、上海科技大学、燕山大学、河北大学、南京航空航天大学、厦门大学、西南石油大学(成都校区)、山东科技大学、合肥工业大学、齐鲁工业大学(山东省科学院)、辽宁科技大学。
以上大学,虽未开设任何课程,但绝大部分都已经知道 Rust 语言的存在。只有一例,将 Rust 语言误以为是 R 语言。
基本统计结果
准确来说,全国只有清华大学有一门和 Rust 相关的必修课,但是并不是 Rust 语言的必修课,而是操作系统,即 rCore: 从零开始 用 Rust 语言写一个基于 RISC-V 架构的 类 Unix 内核 。只不过这门课使用了 Rust 语言。
而北京大学和西北工业大学有选修课,但主要也是和清华的 rCore 相关。
电子科技大学有一门 Rust 区块链开发的选修课。
上海交大实验室有在用 Rust 。上海大学和上海应用大学学生社团有组织学习 Rust 课程。
中山大学听说有Rust 选修课程,但是参与调查的人并不清楚具体课程。
其余大学没有和 Rust 相关的任何形式的课程。
对 Rust 课程的基本诉求
大家对 Rust 语言的基本诉求,各有不同,但可以总结为以下几个方面:
- 希望可以开设像 C 语言那样的专业的 Rust 入门课程。
- 希望在 C/C 课程之后可以开 Rust,作为和 C/C 的对比来学,然后把 C/C 的课程内容用 Rust 重新实现一遍。
- 希望可以通过 Rust 来学习操作系统。
- 希望可以开设 Rust 入门 和 进阶类课程,最好结合实际项目。
- 希望能开设系统的 Rust 课程,不仅仅讲解如何用,而是深入一门语言创建的初衷、设计和语言如何改进。
- 希望可以通过 Rust 语言学习程序的设计,学完Rust,学生们对语言能做到一通百通。
- 希望可以提供 Rust 嵌入式方向的课程。
- 希望可以提供 Rust 开发高性能、网络服务相关项目实践。
- 希望基于 Rust 来学习计算机科学。比如 Rust 版的 NEMU (NJU 计算机原理课程作业)、编译器课程、带PL领域相关的知识,了解一些计算理论。
其他的一些心声呼唤:
- 现阶段提供Rust课程对于一个二本院校来说有些太早,最重要的是Rust就业形势在国内是相当的不乐观;其次是师资能力不允许,很多老师连Java都教得迷迷糊糊,更何况Rust这种入门曲线颇高的编程语言。抛开现实情况不说,我期待我校能提供一个Rust基础课和配套习题,之后再提供一个可以用Rust实践的课程,就比如操作系统用Rust来实现一个mini系统什么的,毕竟我校的操作系统课缺乏实践,导致理论知识不是很牢固。
- 最好是面向大二下以后的同学,因为我校教授 c ,有了一定基础后再学 rust 才更能体会到其优美之处。rust 的教学最好是和并发一起学(据我所知我校对并发的教学并不看重) 我学习 rust 是通过 stanford cs106l 的课程。感觉他们的教学方式几乎是理想中的样貌了。希望多些代码练习,最好是能做些比较 geeky 的东西而不局限于管理系统。
- 你们请来的讲 Python 的老师水平都不行,我就不奢求你们讲 Rust 来误人子弟了。
- 用 Rust 做 OS,做各种小游戏之类的(校内现在的 OS 课程是用 C 语言来做 RISC-V OS,巨难写 & 难调试) 希望还能有 FP 相关的选修课程
- 从实际出发来讲能开出课来就很好了 理想情况下希望 Rust 能取代现在我校选择的 C 的地位,成为程序语言、面向对象、数据结构、算法等课程的教学语言和操作系统、编译原理等课程的推荐实验用语言 但说实话我对此支持但不看好,阻力相当大。
- 由于一些现实因素问题,不建议在我校设立rust课程。设立rust课程的前提是教学水平能让学生拥有基本的工程能力,在这基础之上才适宜进一步了解rust。
- 我觉得可能需要一个比较好的老师以及一些好教程,这样学习才有效果。不过目前可能可以先作为选修课开设,供有兴趣的同学学习,以后再慢慢普及。
- 自学就可以,如果有机会可以邀请这方面的领头人物进行讲座。
- 高性能,低延迟,但是目前一些量化交易的接口都是c 的,如果用rust封装一遍,使用还是会有几十纳秒的延迟,可能是本人能力差,不知道能不能有真正的0成本的封装
- 我对Rust不怎么了解。第一次也是唯一一次听说Rust是在本学期的第一节操作系统课上,老师说往届很多懂技术的学生都对Rust这门语言很感兴趣,还说现在有一种趋势,就是用Rust重写Linux,以增强Linux的鲁棒性。
- 没有太多期望,因为学校的课程主要面向找工作,所以不太可能开Rust。
- 他能给我把Java早点上了就不错了,Rust实在不敢想。
- 期望有啥用,学校的老古懂些怕改变。
小结
Rust 语言作为新一代系统级编程语言,有潜力成为未来几十年基础设施和应用领域替代 C/Cpp/Java 等语言的重量级语言,在各大高校的普及刻不容缓。Rust 语言是一门完全开源的语言,它属于全球开发者和编程爱好者,作为一门现代化的先进语言,非常值得我们学习。
希望这份报告可以反映出广大学生对于学习 Rust 语言的渴望和呼声。虽然现在学校没有公开的课程,但广大学生完全可以自学。在此呼吁广大学校的学生社团可以组织大家一起学习 Rust 。