為什么新一代的程序員連操作系統(tǒng)的基本知識都不懂?
點擊“開發(fā)者技術(shù)前線”,選擇“星標” 讓一部分開發(fā)者看到未來

來自公眾號:InfoQ編譯 | 核子可樂 褚杏娟??策劃 | Tina
文件夾與目錄結(jié)構(gòu)這些幫助前幾代人理解計算機的基本理論,在很多年輕一代看來已經(jīng)成了一種莫名其妙的“瘋話”。
天體物理學(xué)家 Catherine Garland 從 2017 年開始逐漸意識到這個問題。當時她正在教授一門工程課程,要求學(xué)生們使用仿真軟件為噴氣發(fā)動機中的渦輪機建模。雖然作業(yè)布置得很清楚,但她卻不斷接到學(xué)生們的求助電話,他們都說自己收到了同樣的錯誤提示:程序找不到他們的文件(File not Found Error)。當 Garland 詢問學(xué)生作業(yè)是保存在桌面上還是共享驅(qū)動器時,學(xué)生們好像完全聽不懂?!澳谡f什么?”他們甚至根本聽不懂 Garland 的問題。
其他教授對第一次遇到這類問題的情景同樣記憶猶新。蘇塞克斯大學(xué)心理學(xué)系講師 Lincoln Colling 要求全班的研究生們從特定目錄中打開文件,但學(xué)生們都很疑惑。同一學(xué)期,哥倫比亞大學(xué) EAFIT 應(yīng)用物理學(xué)家兼講師 Nicolás Guarín-Zapata 也注意到,自己班上的學(xué)生很難找到他們的文件。同年,SETM 教育者論壇上開始出現(xiàn)帖子,求助該怎么向?qū)W生們解釋清楚文件的概念。
這個現(xiàn)象從 2017 年左右開始出現(xiàn),距今已經(jīng)持續(xù)了四年左右。
作為哥倫比亞大學(xué) EAFIT 應(yīng)用物理學(xué)家兼講師,Guarín-Zapata 的電腦上有一套完整且錯綜復(fù)雜的文件夾結(jié)構(gòu),而且他會把智能手機上的照片按類別進行區(qū)分。2000 年初,他在上大學(xué)的時候也會認真整理論文?,F(xiàn)在,他的硬盤驅(qū)動器就像一個井井有條的文件柜?!拔掖蜷_一個抽屜,里面有一個柜子,打開柜子,里面又有更多抽屜,這就像是一種嵌套結(jié)構(gòu)。最終,我總能找到自己需要的文件夾或者文件。”
Guarín-Zapata 的這種認知模型通常被稱為目錄結(jié)構(gòu),也是現(xiàn)代計算機操作系統(tǒng)用于排列文件的分層系統(tǒng)?,F(xiàn)代計算機不只會持續(xù)接收文件,還會把它們保存在“下載”文件夾、“桌面”文件夾或者“文檔”文件夾內(nèi),而這一切又位于“我的電腦”里面。每個文件夾之內(nèi)還可能包含下一級文件夾。對于每一位接觸計算機比較早的朋友,都會對這樣的管理機制習(xí)以為常。
對于 Guarín-Zapata 這代人來說,這是個直觀、甚至不需要解釋的基本思路,但他們的學(xué)生們卻對此一無所知。
普林斯頓大學(xué)大四學(xué)生 Joshua Drossman 從記事起對計算機系統(tǒng)的感受就跟 Garland 教授有所區(qū)別。他這樣描述自己的認知模型:最直觀的東西就是臟衣簍,我們把所有東西都放進去,需要的時候再拿出來。
作為一名運籌學(xué)與金融工程專業(yè)的學(xué)生,Drossman 懂得如何編程,在本科期間也接受過目錄與文件夾導(dǎo)航的相關(guān)培訓(xùn)。即使如此,他仍然做不到教授們那樣。在參與一個持續(xù)九個月的大項目時,Drossman 發(fā)現(xiàn)相關(guān)文件實在太多,最終選擇了放棄管理?!拔冶緛泶蛩惆秧樞蚺藕?,但有時候文件實在太多了,弄得人頭痛不已?!盌rossman 回憶道。最終,他把眾多項目全部塞進了一個巨大的文件夾內(nèi)。
某本科大學(xué)的計算物理專業(yè)教授表示,這些學(xué)生是聰明人,但“在 C 驅(qū)動器上查找文件夾”的概念對這些人來說是陌生的。他們在大學(xué)期間買了筆記本電腦,但完全不知道當他們登錄到 Windows 桌面上時,他們在看什么。讓他們使用 IDE 進行設(shè)置并安裝 Python 是一個痛苦的經(jīng)歷,但他們實際上很快掌握了編程,并能及時對熱擴散或其他東西進行建模,盡管幾乎不知道他們把東西保存在了哪里。
得克薩斯州農(nóng)工大學(xué)新聞專業(yè)的 Aubrey Vogel 談到自己的文件管理習(xí)慣時表示,“我也希望把文件組織起來、還做了實際嘗試,但最終只會弄得一團糟。我的家人最受不了我的桌面,上面密密麻麻擺著無數(shù)個圖標?!?/p>
而另一方面,教授們對自己學(xué)生的行為也完全無法理解?!皩W(xué)生們在實驗室里都要用電腦,但他們會把無數(shù)文件直接丟在桌面上,毫無組織、毫無紀律?!眴讨蚊飞髮W(xué)物理學(xué)與天文學(xué)副教授 Peter Plavchan 說道。
目前,各個學(xué)科的 STEM 教授們都在編程課中遇到了教學(xué)雙方無法溝通的問題。
“在第一次使用計算機之前,我根本就沒考慮到這個問題?!盌rossman 說道。
據(jù) codecentric CTO Uwe Friedrichsen 觀察,大約每五年就會出現(xiàn)一批新的來自大學(xué)或其他地方的開發(fā)人員?!斑@在一定程度上意味著,我們每五年就會失去一次集體記憶。這些人不知道幾年前讓你大開眼界的談話或文章,他們必須重新開始學(xué)習(xí)所有的東西?!?/p>
就像教授們熟悉的文件夾概念,似乎已經(jīng)過時了。很多像 Drossman 那么大的孩子在高中階段已經(jīng)開始把文件存儲在 OneDrive 和 Dropbox 中,并徹底告別了紙質(zhì)文件。
如今的學(xué)生最熟悉的是手機和平板電腦,由于對云的依賴,這些設(shè)備幾乎隱藏起了操作系統(tǒng)的概念。有大學(xué)教計算機基礎(chǔ)課程的老師現(xiàn)身說法:
“在這門課上,學(xué)生們按照指令制作一些文檔,這些幾乎都是在 MS Office 中完成的。完成后,他們會保存文件,然后上傳到我們的服務(wù)器。這些文檔通過自動作弊檢測后,我再下載下來進行評分。在 OneDrive 出現(xiàn)之前,一切都很順利。
但現(xiàn)在,學(xué)生們提交未完成的作品是非常常見的,因為他們會將作品保存到 OneDrive,然后立即開始上傳作品提交。他們不知道剛剛保存到云的版本還沒有被觸發(fā)下載到本地機器上,因此他們會提交一份不完整的文件。作業(yè)做得很差,然后向我證明他們正確地完成了作業(yè),最終迫使我重新評分。一段時間內(nèi),我會對 Microsoft 工作流程的這種變化感到不滿。”
“我不知道為什么提供商反而認為云存儲是最佳解決方案。”這也是很多網(wǎng)友提出的疑問。
另一方面,Instagram、TikTok、Facebook 以及 YouTube 等主流智能手機應(yīng)用都在引導(dǎo)學(xué)生們從龐大的在線海洋中提取內(nèi)容,而不用再把信息放置在緊密嵌套的結(jié)構(gòu)當中,這可能也導(dǎo)致了新一代人對文件夾概念并不熟悉。
“在我翻動 Snapchat 和 Twitter 時,里面的內(nèi)容沒有任何特定順序,但我還是能記住對應(yīng)的內(nèi)容大概在哪里?!庇形?iPhone 忠實用戶坦言。現(xiàn)代的瀏覽方式已經(jīng)形成了一種肌肉記憶。
同時,年輕一代的用戶們也習(xí)慣了直接從用戶界面中搜索內(nèi)容,而不是一層層翻文件夾或者目錄結(jié)構(gòu)。而在很多教授的成長過程中,手機和電腦上從來就沒有搜索功能。
全球第一款互聯(lián)網(wǎng)搜索引擎在 1990 年左右開始普及,而 Windows 搜索與 Mac OS 上的 Spotlight 等功能也在 2000 年初正式出現(xiàn)。iPhone 剛誕生時,現(xiàn)在的 95 后還在讀小學(xué)或初中,而且這一代人的歲數(shù)跟谷歌差不多大。
“這代人并不比以往任何時候都更精通技術(shù),他們只是更深入地沉浸其中,甚至越來越多的人迷失了。”有網(wǎng)友評價道?!斑@個年齡段里有一些真正的奇才,但也有很多人除了點擊 TikTok 符號、打開 TikTok 之外,對計算機概念一無所知?!?/p>
這種新的思維方式可以說是技術(shù)進步的直接體現(xiàn)。但問題在于,開發(fā)人員在編寫并通過命令行運行代碼時,必須明確指定要訪問的文件存放在哪里,程序無法自行搜索這些文件。有些編程語言雖然提供搜索功能,但由于實現(xiàn)難度太大,使用頻率很低。
“從 MS-DOS 開始。
cd(或 chdir)——改變目錄
dir -- 列出當前目錄中的文件
mkdir -- 創(chuàng)建一個目錄...
甚至在我開始使用 Unix 之前,這些就已經(jīng)烙進我的腦子里了。”
很多人回憶起了自己初學(xué)計算機時的情況,也有很多人開始討論“文件夾”、“目錄”的區(qū)別。但隨著新技術(shù)的發(fā)展,這些 5 年、10 年甚至 20 多年前的東西還有價值嗎?
codecentric CTO Uwe Friedrichsen 曾表示,在 IT 中,“新”被認為是“有價值的”,而“舊”被認為是“毫無價值”。前人一遍又一遍地講述同樣的故事,但對于每年大量加入 IT 行業(yè)的新開發(fā)人員來說,這些故事仍是聞所未聞的。
知乎上有人將編程知識可以分為經(jīng)驗型知識和原理型知識兩類。瀏覽器兼容性和系統(tǒng)兼容性知識、由于技術(shù)標準演進而被淘汰的方案、跟平臺強綁定的開發(fā)經(jīng)驗和第三方庫 / 框架的使用經(jīng)驗等都可以歸為經(jīng)驗型知識。而像如何根據(jù)業(yè)務(wù)需求選擇業(yè)務(wù)模式、在業(yè)務(wù)開發(fā)過程中理解各種設(shè)計模式的工程意義、在 NodeJS 研發(fā)的過程中深刻理解 HTTP 等都是原理型知識。
經(jīng)驗型知識貶值速度要快于原理型知識。雖然 IT 知識更新速度快,但對整個目前知識系統(tǒng)顛覆性的改變不常有。
就像網(wǎng)友總結(jié)的:JSP、Struts2、SSM 和 Vue 之類的概念,可能在十幾二十年后真沒什么用了,但是計算機網(wǎng)絡(luò)、編譯原理和操作系統(tǒng)相關(guān)知識,肯定不會過時。
參考鏈接:
https://www.theverge.com/22684730/students-file-folder-directory-structure-education-gen-z
—?完?—
點這里??關(guān)注我,記得標星呀~
前線推出學(xué)習(xí)交流一定要備注:研究/工作方向+地點+學(xué)校/公司+昵稱(如JAVA+上海 掃碼加小編微信,進群和大佬們零距離
回復(fù)“電子書”?“資料”?領(lǐng)取一份干貨,數(shù)百面試手冊等
