首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

動態語言崛起:從腳本工具到通用開發的華麗蛻變

     編輯:Java 相關知識

腳本與程式的本質區別

Larry Wall 名言:「腳本給演員看,節目給觀眾看。」程式服務終端用戶,腳本服務程式設計師。Shell 腳本擴展命令行能力,成為系統管理員必備武器與膠水語言。Perl 融合 C 與 Lisp 特性,成為最流行腳本語言之一。Web 成為腳本語言最肥沃土壤:Perl 做 CGI、PHP 專為動態網頁、Ruby 憑 Rails 風行、JavaScript 因 AJAX 進入程式設計師視野。

動態語言 ≠ 腳本語言

腳本語言以用途為標誌,動態語言以語法特征為標誌。並非所有腳本語言都是動態語言(如 Bash),並非所有動態語言天生為腳本(如 Lisp)。當腳本語言從專用發展為通用、勝任複雜應用開發,「動態語言」提法更合理。

動態特征與核心理念

運行期可改變資料結構、函數定義、物件行為、指令流程。核心理念:「優化人時間而非機器時間」——寧犧牲效能或買更好硬體,換取開發效率。語法簡潔自由、多為動態/弱類型、天然支援泛型、eval 函數與豐富反射支援元編程、多支援函數式(高階函數、閉包)與物件式編程。

大型應用適用性

雖語法寬鬆易出錯,但代碼量少、Bug 相對少;IDE 日益強大降低出錯成本;提供位元碼編譯甚至 JIT 彌補效能;類介面變動無需重編譯相關模組;靈活適應需求變更、開發週期短、適合快速原型開發(先用動態語言搭建,交付時轉靜態語言)。

靜靜雙雄共舞

Java/.NET 平台鋪設動態語言跑道(JRuby、IronPython、Groovy),自身也吸納動態特性。但靜態語言憑藉安全穩定、效能優越、成熟普及、融合動態優點,不可能被完全取代。程式設計師當「靜如處子,動如脫兔,如履平地般游走於高高的梅花樁上」。

動態語言特性
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved