Carroll Robinson

IDE 的優點與盲點#

現今許多軟體開發工具都以 **IDE(Integrated Development Environment)**的形式提供。Microsoft Visual Studio 和 Eclipse 是兩個常見的例子。IDE 有很多優點——不僅容易使用,還能幫程式設計師省去許多 build 流程的瑣碎細節。

然而,易用性也有其弊端。當工具替你做決策並在幕後自動完成大量工作時,如果 IDE 是你唯一使用過的程式開發環境,你可能永遠不會真正理解工具實際上在做什麼。你按一個按鈕,某些魔法發生了,然後可執行檔就出現在專案資料夾裡。

命令列工具的學習價值#

透過命令列建構工具,你可以學到更多關於工具實際行為的知識:

  • 撰寫自己的 make 檔案可以幫你理解建構可執行檔的所有步驟(編譯、組譯、連結等)
  • 實驗命令列工具的各種選項本身就是寶貴的學習經驗
  • 你可以使用開源命令列工具如 GCC,或使用 IDE 附帶的工具——畢竟,設計良好的 IDE 本質上就是命令列工具的圖形前端

命令列的額外優勢#

除了加深對 build 流程的理解外,某些任務用命令列工具比用 IDE 更有效率:

  • grepsed 提供的搜尋和替換功能通常比 IDE 中的更強大
  • 命令列工具天然支援腳本化(scripting),可以自動化排程建構、創建多個版本的專案、執行測試套件等任務
  • 在 IDE 中,這類自動化可能很困難甚至不可能,因為 build 選項通常透過 GUI 對話框指定、用滑鼠點擊來啟動
  • 如果你從未跳出 IDE 的範圍,你可能根本不會意識到這些自動化任務是可能的

建議#

這裡的建議不是讓你停止使用 IDE,而是你應該**「看看引擎蓋下面」**,理解 IDE 為你做了什麼。最好的方法就是學習使用命令列工具。當你回到 IDE 時,會對它做的事情有更深入的理解。另一方面,一旦你掌握了命令列工具的威力和靈活性,你可能會發現自己更偏好命令列而非 IDE。