Diomidis Spinellis
為什麼選擇 Unix 工具#
如果被流放到荒島,必須在 IDE 和 Unix 工具之間做選擇,作者會毫不猶豫地選擇 Unix 工具。以下是你應該精通 Unix 工具的理由。
IDE 的局限性#
- IDE 侷限於特定語言,而 Unix 工具能處理任何以文字形式呈現的內容
- 在今日的開發環境中,新語言和符號不斷湧現,學習 Unix 工具是一項能反覆回報的投資
- IDE 只能執行開發者預設的命令,但 Unix 工具可以像樂高積木一樣自由組合,創造你想要的任何命令
Unix 工具的優勢#
極高的效能:Unix 工具誕生於多用戶電腦只有 128KB 記憶體的年代,這種精巧的設計意味著它們能極為高效地處理巨量資料。大多數工具像過濾器一樣運作,一次處理一行,對資料量沒有上限。
強大的組合能力:你可以將常用的命令序列打包成 shell script,利用管道(pipe)、迴圈和條件判斷等程式結構。透過 pipeline 執行的 Unix 命令,還能自然地將負載分散到多核心 CPU 上。
跨平台可用:Unix 工具以小巧精美著稱,開源實作讓它們在資源受限的平台上也能使用,如機上盒、DSL 路由器等。在 Windows 上,Cygwin 環境提供了完整的 Unix 工具。
可擴展性#
如果現有工具都不符合需求,你可以很容易地自己寫一個程式來擴展 Unix 工具的世界。只需遵循幾個簡單規則:
- 程式應只執行單一任務
- 從**標準輸入(standard input)**讀取文字資料
- 將結果以乾淨的格式輸出到標準輸出(standard output)
- 透過命令列參數控制行為
每個 IDE 操作只針對特定任務,而磨練 Unix 工具技能則讓你在任何任務上都更有效率。這是通用技能與專用技能的根本差異。