當我們在談「Unix 哲學」(Unix Philosophy)時,可以把它想像成一套設計電腦程式的生活哲學。這套哲學來自一個叫 Unix 的作業系統,它的設計方式影響了很多程式的寫法與思考方式。它的核心概念:
1. 讓每個程式只做好一件事
想像你是一個科學實驗的小助手,負責某個步驟,比如「量水」。你不需要同時管實驗結果、記錄數據、清洗器材。只要專心把水量準確就好。Unix 裡的程式也是這樣設計的:每個程式專注在做好自己的工作,簡單而專業。
2. 把工具連接起來,解決大問題
如果要做一個大實驗,你可以把不同的小助手組合起來,比如一個負責量水、一個負責加熱、一個負責記錄數據。Unix 哲學強調程式之間的合作,利用簡單的「輸入」和「輸出」連接起來,就能完成複雜的任務。
在程式語言中,這通常透過「管線」(pipeline)來實現,比如:
cat data.txt | grep "apple" | sort > result.txt
這裡的 cat
是負責讀檔案,grep
負責找關鍵字,sort
負責排序。每個程式只做自己的事,但它們聯合起來完成了一個複雜的工作。
3. 使用文字作為通用介面
在 Unix 的世界裡,大部分程式的輸入和輸出都是文字檔案,因為文字簡單、直觀,而且易於被其他工具處理。你可以把這理解成一種「大家都說同一種語言」,這樣合作起來就不會有障礙。
4. 試著讓程式設計變簡單
簡單的東西比較不容易出錯,也比較容易修改。Unix 哲學提倡讓程式的功能簡單明瞭,讓使用者容易理解和使用,而不是一大堆複雜的選項。
為什麼這樣的哲學很酷?
它讓程式更像是「樂高積木」,可以拆開來用,也可以拼在一起,創造出各種可能性。
它強調協作:不需要每個程式都包山包海,分工合作更高效。
它適合解決真正的問題,因為簡單的設計通常更實用。