從機器碼到人類可讀的抽象
高階語言是相對於組合語言而言的程式語言,它使用更接近人類自然語法的表達方式,讓程式設計師無需直接處理暫存器配置、記憶體位址等硬體細節。高階語言的產生是計算機科學中最重要的抽象之一,它使得軟體開發從少數專家才能掌握的技藝,轉變為大規模工業化的工程實踐。
最早的程式直接以二進制機器碼撰寫,每條指令對應 CPU 能直接執行的操作。組合語言的出現以助記符號替代二進制碼,但與特定 CPU 架構緊密耦合。這成為高階語言產生的根本驅動力。
程式執行前由編譯器完整翻譯為機器碼。代表:C/C++(GCC/Clang)、Rust(rustc)、Go(gc)。優勢是執行效率極佳,適合效能關鍵場景。
執行時由直譯器逐行翻譯並執行。優勢是開發效率高、跨平臺性強。代表:Python、JavaScript、Ruby。
先編譯為平臺無關的位元組碼,再由虛擬機執行。代表:Java(JVM)、C#(.NET CLR)。
| 策略 | 代表語言 | 優缺點 |
|---|---|---|
| 手動管理 | C、C++ | 完全控制但易洩漏 |
| 垃圾回收 | Java、Python、Go | 安全但有暫停開銷 |
| 所有權系統 | Rust | 無 GC 開銷且安全 |