程式語言發展的下一個里程碑是「面向應用」:開發者只需描述「要做什麼」,編譯器即自動生成演算法並處理細節,這就是非程序化語言的願景。
Dennis Ritchie於1970年代創建C語言,繼承ALGOL結構化精髓,設計為精簡、高效的系統程式語言。在此之前,作業系統僅能用組合語言撰寫,難以移植。C語言首次實現系統級程式碼跨平台移植,奠定現代OS開發基礎。
核心語法與ANSI函式庫具移植性,但涉及GUI、系統API等平台相關功能仍需重寫或使用跨平台庫。
C++繼承C語言並加入物件導向(OOP)特性。程式由封裝資料與函式的「物件」組成,豐富的類別庫(如GUI、資料庫)讓開發如同堆疊積木。但語言龐大複雜、編譯器實作差異大、執行效率較C稍慢。
組合語言是處理器機器指令的助記符號表示,直接操作暫存器、堆疊等底層資源。適合極致效能優化與硬體相關開發,但開發效率低、可讀性差、不可移植。
| 語言 | 適用場景 | 學習曲線 |
|---|---|---|
| C | 作業系統、嵌入式、高效能庫 | 中等 |
| C++ | 大型系統、遊戲引擎、高效能應用 | 陡峭 |
| 組合語言 | 驅動程式、啟動碼、極致優化 | 極高 |