为什么新一代的程序员连操作系统的基本知识都不懂?
共 4068字,需浏览 9分钟
·
2021-12-24 04:15
点击“开发者技术前线”,选择“星标” 让一部分开发者看到未来
来自公众号:InfoQ编译 | 核子可乐 褚杏娟 策划 | Tina
文件夹与目录结构这些帮助前几代人理解计算机的基本理论,在很多年轻一代看来已经成了一种莫名其妙的“疯话”。
天体物理学家 Catherine Garland 从 2017 年开始逐渐意识到这个问题。当时她正在教授一门工程课程,要求学生们使用仿真软件为喷气发动机中的涡轮机建模。虽然作业布置得很清楚,但她却不断接到学生们的求助电话,他们都说自己收到了同样的错误提示:程序找不到他们的文件(File not Found Error)。当 Garland 询问学生作业是保存在桌面上还是共享驱动器时,学生们好像完全听不懂。“您在说什么?”他们甚至根本听不懂 Garland 的问题。
其他教授对第一次遇到这类问题的情景同样记忆犹新。苏塞克斯大学心理学系讲师 Lincoln Colling 要求全班的研究生们从特定目录中打开文件,但学生们都很疑惑。同一学期,哥伦比亚大学 EAFIT 应用物理学家兼讲师 Nicolás Guarín-Zapata 也注意到,自己班上的学生很难找到他们的文件。同年,SETM 教育者论坛上开始出现帖子,求助该怎么向学生们解释清楚文件的概念。
这个现象从 2017 年左右开始出现,距今已经持续了四年左右。
作为哥伦比亚大学 EAFIT 应用物理学家兼讲师,Guarín-Zapata 的电脑上有一套完整且错综复杂的文件夹结构,而且他会把智能手机上的照片按类别进行区分。2000 年初,他在上大学的时候也会认真整理论文。现在,他的硬盘驱动器就像一个井井有条的文件柜。“我打开一个抽屉,里面有一个柜子,打开柜子,里面又有更多抽屉,这就像是一种嵌套结构。最终,我总能找到自己需要的文件夹或者文件。”
Guarín-Zapata 的这种认知模型通常被称为目录结构,也是现代计算机操作系统用于排列文件的分层系统。现代计算机不只会持续接收文件,还会把它们保存在“下载”文件夹、“桌面”文件夹或者“文档”文件夹内,而这一切又位于“我的电脑”里面。每个文件夹之内还可能包含下一级文件夹。对于每一位接触计算机比较早的朋友,都会对这样的管理机制习以为常。
对于 Guarín-Zapata 这代人来说,这是个直观、甚至不需要解释的基本思路,但他们的学生们却对此一无所知。
普林斯顿大学大四学生 Joshua Drossman 从记事起对计算机系统的感受就跟 Garland 教授有所区别。他这样描述自己的认知模型:最直观的东西就是脏衣篓,我们把所有东西都放进去,需要的时候再拿出来。
作为一名运筹学与金融工程专业的学生,Drossman 懂得如何编程,在本科期间也接受过目录与文件夹导航的相关培训。即使如此,他仍然做不到教授们那样。在参与一个持续九个月的大项目时,Drossman 发现相关文件实在太多,最终选择了放弃管理。“我本来打算把顺序排好,但有时候文件实在太多了,弄得人头痛不已。”Drossman 回忆道。最终,他把众多项目全部塞进了一个巨大的文件夹内。
某本科大学的计算物理专业教授表示,这些学生是聪明人,但“在 C 驱动器上查找文件夹”的概念对这些人来说是陌生的。他们在大学期间买了笔记本电脑,但完全不知道当他们登录到 Windows 桌面上时,他们在看什么。让他们使用 IDE 进行设置并安装 Python 是一个痛苦的经历,但他们实际上很快掌握了编程,并能及时对热扩散或其他东西进行建模,尽管几乎不知道他们把东西保存在了哪里。
得克萨斯州农工大学新闻专业的 Aubrey Vogel 谈到自己的文件管理习惯时表示,“我也希望把文件组织起来、还做了实际尝试,但最终只会弄得一团糟。我的家人最受不了我的桌面,上面密密麻麻摆着无数个图标。”
而另一方面,教授们对自己学生的行为也完全无法理解。“学生们在实验室里都要用电脑,但他们会把无数文件直接丢在桌面上,毫无组织、毫无纪律。”乔治梅森大学物理学与天文学副教授 Peter Plavchan 说道。
目前,各个学科的 STEM 教授们都在编程课中遇到了教学双方无法沟通的问题。
“在第一次使用计算机之前,我根本就没考虑到这个问题。”Drossman 说道。
据 codecentric CTO Uwe Friedrichsen 观察,大约每五年就会出现一批新的来自大学或其他地方的开发人员。“这在一定程度上意味着,我们每五年就会失去一次集体记忆。这些人不知道几年前让你大开眼界的谈话或文章,他们必须重新开始学习所有的东西。”
就像教授们熟悉的文件夹概念,似乎已经过时了。很多像 Drossman 那么大的孩子在高中阶段已经开始把文件存储在 OneDrive 和 Dropbox 中,并彻底告别了纸质文件。
如今的学生最熟悉的是手机和平板电脑,由于对云的依赖,这些设备几乎隐藏起了操作系统的概念。有大学教计算机基础课程的老师现身说法:
“在这门课上,学生们按照指令制作一些文档,这些几乎都是在 MS Office 中完成的。完成后,他们会保存文件,然后上传到我们的服务器。这些文档通过自动作弊检测后,我再下载下来进行评分。在 OneDrive 出现之前,一切都很顺利。
但现在,学生们提交未完成的作品是非常常见的,因为他们会将作品保存到 OneDrive,然后立即开始上传作品提交。他们不知道刚刚保存到云的版本还没有被触发下载到本地机器上,因此他们会提交一份不完整的文件。作业做得很差,然后向我证明他们正确地完成了作业,最终迫使我重新评分。一段时间内,我会对 Microsoft 工作流程的这种变化感到不满。”
“我不知道为什么提供商反而认为云存储是最佳解决方案。”这也是很多网友提出的疑问。
另一方面,Instagram、TikTok、Facebook 以及 YouTube 等主流智能手机应用都在引导学生们从庞大的在线海洋中提取内容,而不用再把信息放置在紧密嵌套的结构当中,这可能也导致了新一代人对文件夹概念并不熟悉。
“在我翻动 Snapchat 和 Twitter 时,里面的内容没有任何特定顺序,但我还是能记住对应的内容大概在哪里。”有位 iPhone 忠实用户坦言。现代的浏览方式已经形成了一种肌肉记忆。
同时,年轻一代的用户们也习惯了直接从用户界面中搜索内容,而不是一层层翻文件夹或者目录结构。而在很多教授的成长过程中,手机和电脑上从来就没有搜索功能。
全球第一款互联网搜索引擎在 1990 年左右开始普及,而 Windows 搜索与 Mac OS 上的 Spotlight 等功能也在 2000 年初正式出现。iPhone 刚诞生时,现在的 95 后还在读小学或初中,而且这一代人的岁数跟谷歌差不多大。
“这代人并不比以往任何时候都更精通技术,他们只是更深入地沉浸其中,甚至越来越多的人迷失了。”有网友评价道。“这个年龄段里有一些真正的奇才,但也有很多人除了点击 TikTok 符号、打开 TikTok 之外,对计算机概念一无所知。”
这种新的思维方式可以说是技术进步的直接体现。但问题在于,开发人员在编写并通过命令行运行代码时,必须明确指定要访问的文件存放在哪里,程序无法自行搜索这些文件。有些编程语言虽然提供搜索功能,但由于实现难度太大,使用频率很低。
“从 MS-DOS 开始。
cd(或 chdir)——改变目录
dir -- 列出当前目录中的文件
mkdir -- 创建一个目录...
甚至在我开始使用 Unix 之前,这些就已经烙进我的脑子里了。”
很多人回忆起了自己初学计算机时的情况,也有很多人开始讨论“文件夹”、“目录”的区别。但随着新技术的发展,这些 5 年、10 年甚至 20 多年前的东西还有价值吗?
codecentric CTO Uwe Friedrichsen 曾表示,在 IT 中,“新”被认为是“有价值的”,而“旧”被认为是“毫无价值”。前人一遍又一遍地讲述同样的故事,但对于每年大量加入 IT 行业的新开发人员来说,这些故事仍是闻所未闻的。
知乎上有人将编程知识可以分为经验型知识和原理型知识两类。浏览器兼容性和系统兼容性知识、由于技术标准演进而被淘汰的方案、跟平台强绑定的开发经验和第三方库 / 框架的使用经验等都可以归为经验型知识。而像如何根据业务需求选择业务模式、在业务开发过程中理解各种设计模式的工程意义、在 NodeJS 研发的过程中深刻理解 HTTP 等都是原理型知识。
经验型知识贬值速度要快于原理型知识。虽然 IT 知识更新速度快,但对整个目前知识系统颠覆性的改变不常有。
就像网友总结的:JSP、Struts2、SSM 和 Vue 之类的概念,可能在十几二十年后真没什么用了,但是计算机网络、编译原理和操作系统相关知识,肯定不会过时。
参考链接:
https://www.theverge.com/22684730/students-file-folder-directory-structure-education-gen-z
— 完 —
点这里👇关注我,记得标星呀~
前线推出学习交流一定要备注:研究/工作方向+地点+学校/公司+昵称(如JAVA+上海 扫码加小编微信,进群和大佬们零距离
回复“电子书” “资料” 领取一份干货,数百面试手册等