腳本語言 是一類無需編譯為機器碼,直接由解釋器逐行執行原始碼的程式語言。原始碼即為可執行單元,執行時需有對應的解釋器環境。
| 特性 | 說明 |
|---|---|
| 免編譯 | 不產生獨立可執行檔(.exe, .out),原始碼直接執行 |
| 解釋執行 | 由解釋器逐行解析執行,錯誤即時回報 |
| 跨平台 | 同一原始碼在不同作業系統上,只要有解釋器即可運行 |
| 動態型別 | 變數型別執行期決定,靈活但易發生型別錯誤 |
| 高階抽象 | 內建豐富資料結構(陣列、雜湊、正則)、記憶體自動管理 |
| 開發效率高 | 寫少量代碼即可完成複雜任務,適合快速原型、自動化腳本、Web 開發 |
| 執行速度較慢 | 比編譯語言(C/C++/Go/Rust)慢,但現代 JIT(如 V8, PHP 8+)大幅縮小差距 |
| 維度 | 腳本語言 | 編譯語言 |
|---|---|---|
| 部署 | 原始碼 + 解釋器 | 編譯後二進位檔 |
| 原始碼可見性 | 可見(除非混淆/加密) | 不可見 |
| 修改後生效 | 即時 | 需重新編譯 |
| 效能 | 較低(有 JIT 改善) | 高 |
| 型別系統 | 動態為主 | 靜態為主 |
| 典型用途 | Web、自動化、膠水語言、快速開發 | 系統程式、高效能服務、嵌入式 |
腳本語言以「開發效率」換取「執行效率」,是現代軟體開發不可或缺的一環。選擇語言時依專案屬性、團隊熟悉度、生態系成熟度決策。