電腦科學界有一句名言:「電腦科學中的任何問題,都可以透過增加一個抽象層來解決。」看完這個單元,你就會理解到:原來整個電腦軟體工程發展的歷史,就是一個不斷往上疊加抽象層的過程。
同樣是想要在螢幕上顯示一小段文字訊息,每個年代的做法都截然不同:從直接面對機器,到高階語言,再到 AI 接住人類意圖。抽象化不是讓底層消失,而是讓你不用每次都親手碰它;成熟的開發者知道自己站在哪一層,也知道什麼時候需要往下看。
早期
在紙卡上打孔用機器語言跟電腦溝通。
你要理解電腦的每一個位元。
中階
高階語言幫你包掉細節
你用語法表達邏輯,編譯器或直譯器負責翻譯。
高階
好的,製作頁面中。
AI 開始接住人類意圖
你描述目的、限制和驗收標準,AI 產生底層程式碼。
拖拉卡片,或用右側的箭頭移動。最頂層是最高度抽象,最底層是最貼近機器。
✓ 完全正確!
四組抽象全部就位。繼續往下,點擊金字塔的每一層深入了解它的細節。
你對 AI 說「幫我做一個歡迎頁面」,這句話會被六層接力變形,最後變成螢幕上的光。點下面的每一層,看你的話在那一站變成了什麼樣子;你會發現自己只碰了最上面那一層,下面每一層都還在,只是不再需要親手碰。
以記帳 App 為例,你可以點選切換時代,看工程師的時間實際花在哪。要做的事從來沒有變少,變的是人親手做哪一段;越往後,人的時間越集中在定義問題與驗收結果。帶箭頭的項目可以點開,看那個年代具體要做哪些事。
點下面三張卡片,看看「會寫程式」這件事被 AI 放大之後,人類價值轉移到哪裡。
軟體工程的歷史,就是人類把機械細節往下封裝,把心智拉回問題本身。從機器語言、組合語言、高階語言,到框架、雲端與 AI,每一層抽象都讓我們少碰一點底層細節,多處理一點邏輯、架構、創意與判斷。選一個你認為最準確的答案。