Posted on 2007-12-25 13:57
江邊之鳥 閱讀(622)
評(píng)論(0) 編輯 收藏 引用
對(duì)軟件工程來(lái)說(shuō),腳本語(yǔ)言相當(dāng)于輸送管,他們強(qiáng)大的富有表現(xiàn)力的語(yǔ)法是他們能夠比較理想地處理軟件開發(fā)過(guò)程中的外圍特殊任務(wù)。腳本語(yǔ)言常用于批處理、小工具包、自動(dòng)構(gòu)建過(guò)程和實(shí)驗(yàn)性原理等。
C#/C++/VB顯然是.net項(xiàng)目的主要語(yǔ)言,他們都是很強(qiáng)的靜態(tài)類型編程語(yǔ)言。然而實(shí)際中的某些問(wèn)題,這些語(yǔ)言解決起來(lái)并不時(shí)很理想,這時(shí)引入其他的語(yǔ)言和概念無(wú)疑是有幫助的。
下面是一些適合使用腳本語(yǔ)言的例子:
1、 試驗(yàn)用戶界面模型
2、編寫代碼生成器
3、編寫自動(dòng)測(cè)試腳本
4、可控制批處理
5、特定報(bào)表生成
6、自動(dòng)編譯和發(fā)布過(guò)程
腳本語(yǔ)言的主要特性包括:
1、強(qiáng)大的語(yǔ)言構(gòu)建能力和自由的語(yǔ)法
2、富于表現(xiàn)力的語(yǔ)法
3、松散類型
4、解釋而不是編譯執(zhí)行
在過(guò)去的幾年中,軟件行業(yè)誕生了大量的腳本語(yǔ)言。下面是一些廣為人知并受到高度評(píng)價(jià)的腳本語(yǔ)言
1、Python
2、Perl
3、Ruby
4、Tcl
下面介紹一個(gè).net平臺(tái)之上,使用類似Python語(yǔ)法的一個(gè)全新的靜態(tài)語(yǔ)言Boo。
官方定義:
Boo is a new object oriented statically typed programming language for
the Common Language Infrastructure with a python inspired syntax and a
special focus on language and compiler extensibility. 網(wǎng)站:
http://boo.codehaus.org/Home?nocache
從定義可以看出,Boo一方面可以獲取動(dòng)態(tài)語(yǔ)言,例如類似Python這樣的語(yǔ)言語(yǔ)法方面的優(yōu)勢(shì),例如一些內(nèi)建數(shù)據(jù)結(jié)構(gòu);另一方面,其又是有類型的靜態(tài)
語(yǔ)言(通過(guò)Duck類型支持運(yùn)行時(shí)類型識(shí)別等動(dòng)態(tài)語(yǔ)言的特征,個(gè)人覺得類似VB的Variant類型),具有速度等方面的優(yōu)勢(shì)。
Boo作為靜態(tài)語(yǔ)言,具有類型安全,速度等優(yōu)勢(shì),而通過(guò)推導(dǎo)(inference)來(lái)模擬或者模仿動(dòng)態(tài)語(yǔ)言的特性。Boo的文檔,網(wǎng)站,例子做得很好,而且已經(jīng)有了一些應(yīng)用,例如#Develop的插件。Boo Primer〔
http://boo.codehaus.org/Boo+Primer?nocache〕是一份很詳細(xì)的Boo的入門文檔。Boo目前在#Develop下有Addin支持,可以作為其IDE。目前,已經(jīng)有很多使用Boo創(chuàng)建的程序:
http://boo.codehaus.org/Boo+Applications?nocache參考:
http://maweifeng.cnblogs.com/archive/2006/01/31/324461.html http://boo.codehaus.org/BooManifesto.pdf