編譯 | 核子可樂 褚杏娟
策劃 | Tina 計算機網(wǎng)絡(luò)、編譯原理和
操作系統(tǒng)相關(guān)知識,肯定不會過時。 文件夾與目錄結(jié)構(gòu)這些幫助前幾代人理解計算機的基本理論,在很多年輕一代看來已經(jīng)成了一種莫名其妙的“瘋話”。
兩代人之間的碰撞 天體物理學(xué)家 Catherine Garland 從 2017 年開始逐漸意識到這個問題。當(dāng)時她正在教授一門工程課程,要求學(xué)生們使用仿真軟件為噴氣發(fā)動機中的渦輪機建模。雖然作業(yè)布置得很清楚,但她卻不斷接到學(xué)生們的求助電話,他們都說自己收到了同樣的錯誤提示:程序找不到他們的文件(File not Found Error)。當(dāng) 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),而且他會把智能手機上的照片按類別進(jìn)行區(qū)分。2000 年初,他在上大學(xué)的時候也會認(rèn)真整理論文?,F(xiàn)在,他的硬盤驅(qū)動器就像一個井井有條的文件柜。“我打開一個抽屜,里面有一個柜子,打開柜子,里面又有更多抽屜,這就像是一種嵌套結(jié)構(gòu)。最終,我總能找到自己需要的文件夾或者文件?!?
Guarín-Zapata 的這種認(rèn)知模型通常被稱為目錄結(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ū)別。他這樣描述自己的認(rèn)知模型:最直觀的東西就是臟衣簍,我們把所有東西都放進(jìn)去,需要的時候再拿出來。
作為一名運籌學(xué)與金融工程專業(yè)的學(xué)生,Drossman 懂得如何編程,在本科期間也接受過目錄與文件夾導(dǎo)航的相關(guān)培訓(xùn)。即使如此,他仍然做不到教授們那樣。在參與一個持續(xù)九個月的大項目時,Drossman 發(fā)現(xiàn)相關(guān)文件實在太多,最終選擇了放棄管理。“我本來打算把順序排好,但有時候文件實在太多了,弄得人頭痛不已。”Drossman 回憶道。最終,他把眾多項目全部塞進(jìn)了一個巨大的文件夾內(nèi)。
某本科大學(xué)的計算物理專業(yè)教授表示,這些學(xué)生是聰明人,但“在 C 驅(qū)動器上查找文件夾”的概念對這些人來說是陌生的。他們在大學(xué)期間買了筆記本電腦,但完全不知道當(dāng)他們登錄到 Windows 桌面上時,他們在看什么。讓他們使用 IDE 進(jìn)行設(shè)置并安裝 Python 是一個痛苦的經(jīng)歷,但他們實際上很快掌握了編程,并能及時對熱擴散或其他東西進(jìn)行建模,盡管幾乎不知道他們把東西保存在了哪里。
得克薩斯州農(nóng)工大學(xué)新聞專業(yè)的 Aubrey Vogel 談到自己的文件管理習(xí)慣時表示,“我也希望把文件組織起來、還做了實際嘗試,但最終只會弄得一團糟。我的家人最受不了我的桌面,上面密密麻麻擺著無數(shù)個圖標(biāo)?!?
而另一方面,教授們對自己學(xué)生的行為也完全無法理解。“學(xué)生們在實驗室里都要用電腦,但他們會把無數(shù)文件直接丟在桌面上,毫無組織、毫無紀(jì)律?!眴讨蚊飞髮W(xué)物理學(xué)與天文學(xué)副教授 Peter Plavchan 說道。
目前,各個學(xué)科的 STEM 教授們都在編程課中遇到了教學(xué)雙方無法溝通的問題。
為什么會發(fā)生變化? “在第一次使用計算機之前,我根本就沒考慮到這個問題。”Drossman 說道。
據(jù) codecentric CTO Uwe Friedrichsen 觀察,大約每五年就會出現(xiàn)一批新的來自大學(xué)或其他地方的開發(fā)人員?!斑@在一定程度上意味著,我們每五年就會失去一次集體記憶。這些人不知道幾年前讓你大開眼界的談話或文章,他們必須重新開始學(xué)習(xí)所有的東西。”
就像教授們熟悉的文件夾概念,似乎已經(jīng)過時了。很多像 Drossman 那么大的孩子在高中階段已經(jīng)開始把文件存儲在 OneDrive 和 Dropbox 中,并徹底告別了紙質(zhì)文件。
如今的學(xué)生最熟悉的是手機和平板電腦,由于對云的依賴,這些設(shè)備幾乎隱藏起了操作系統(tǒng)的概念。有大學(xué)教計算機基礎(chǔ)課程的老師現(xiàn)身說法:
“在這門課上,學(xué)生們按照指令制作一些文檔,這些幾乎都是在 MS Office 中完成的。完成后,他們會保存文件,然后上傳到我們的服務(wù)器。這些文檔通過自動作弊檢測后,我再下載下來進(jìn)行評分。在 OneDrive 出現(xiàn)之前,一切都很順利。
但現(xiàn)在,學(xué)生們提交未完成的作品是非常常見的,因為他們會將作品保存到 OneDrive,然后立即開始上傳作品提交。他們不知道剛剛保存到云的版本還沒有被觸發(fā)下載到本地機器上,因此他們會提交一份不完整的文件。作業(yè)做得很差,然后向我證明他們正確地完成了作業(yè),最終迫使我重新評分。一段時間內(nèi),我會對 Microsoft 工作流程的這種變化感到不滿?!?
“我不知道為什么提供商反而認(rèn)為云存儲是最佳解決方案?!边@也是很多網(wǎng)友提出的疑問。
另一方面,Instagram、TikTok、Facebook 以及 YouTube 等主流智能手機應(yīng)用都在引導(dǎo)學(xué)生們從龐大的在線海洋中提取內(nèi)容,而不用再把信息放置在緊密嵌套的結(jié)構(gòu)當(dāng)中,這可能也導(dǎo)致了新一代人對文件夾概念并不熟悉。
“在我翻動 Snapchat 和 Twitter 時,里面的內(nèi)容沒有任何特定順序,但我還是能記住對應(yīng)的內(nèi)容大概在哪里。”有位 iPhone 忠實用戶坦言?,F(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(wǎng)友評價道?!斑@個年齡段里有一些真正的奇才,但也有很多人除了點擊 TikTok 符號、打開 TikTok 之外,對計算機概念一無所知。”
這種新的思維方式可以說是技術(shù)進(jìn)步的直接體現(xiàn)。但問題在于,開發(fā)人員在編寫并通過命令行運行代碼時,必須明確指定要訪問的文件存放在哪里,程序無法自行搜索這些文件。有些編程語言雖然提供搜索功能,但由于實現(xiàn)難度太大,使用頻率很低。
舊知識還有價值嗎? “從 MS-DOS 開始。
cd(或 chdir)——改變目錄
dir -- 列出當(dāng)前目錄中的文件
mkdir -- 創(chuàng)建一個目錄...
甚至在我開始使用 Unix 之前,這些就已經(jīng)烙進(jìn)我的腦子里了?!?
很多人回憶起了自己初學(xué)計算機時的情況,也有很多人開始討論“文件夾”、“目錄”的區(qū)別。但隨著新技術(shù)的發(fā)展,這些 5 年、10 年甚至 20 多年前的東西還有價值嗎?
codecentric CTO Uwe Friedrichsen 曾表示,在 IT 中,“新”被認(rèn)為是“有價值的”,而“舊”被認(rèn)為是“毫無價值”。前人一遍又一遍地講述同樣的故事,但對于每年大量加入 IT 行業(yè)的新開發(fā)人員來說,這些故事仍是聞所未聞的。
知乎上有人將編程知識可以分為經(jīng)驗型知識和原理型知識兩類。瀏覽器兼容性和系統(tǒng)兼容性知識、由于技術(shù)標(biāo)準(zhǔn)演進(jìn)而被淘汰的方案、跟平臺強綁定的開發(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)知識,肯定不會過時。