原創(chuàng)|行業(yè)資訊|編輯:龔雪|2015-01-15 09:50:52.000|閱讀 778 次
概述:從操作系統(tǒng)到基本應用,從游戲到Web頁面,腳本語言無處不在。有了腳本語言,開發(fā)者只需要"編輯-運行"。Wren、CandleScript、Fancy、Pikt、PPL。今天,我們要來談談這5個腳本語言,雖然你可能還不夠熟悉,不過他值得一看。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
從操作系統(tǒng)到基本應用,從游戲到Web頁面,腳本語言無處不在。腳本語言讓忙碌的開發(fā)人員不再循環(huán)在"編譯-測試-校訂"周期里。有了腳本語言,開發(fā)者只需要"編輯-運行"。
你可能熟知 Perl, Python, VBA, JavaScript...今天,我們要來談談另外5個腳本語言,雖然你可能還不夠熟悉,不過他值得一看。
Wren是一個基于類的并發(fā)開源腳本語言,有5000行左右c寫成,前游戲開發(fā)者Bob Nystrom(《the Games Programming Pattern》作者)完成了他。 Wren 致力于通過基于類的架構改善Lua腳本語言。體積小速度快,有簡單的C API,少于10個函數(shù)調(diào)用(需要 C99 編譯器)。Wren腳本語言是Wren虛擬機編譯成字節(jié)碼。
class Wren { flyTo(city) { IO.print(“Flying to “, city) } }
CandleScript由一個叫Henry Luo的開發(fā)者開發(fā),致力于處理任何分層數(shù)據(jù)。它將標記數(shù)據(jù)作為一個內(nèi)置的數(shù)據(jù)類型并提供處理能力。
由于Candle是函數(shù)式編程,包括過程式編程,所以可以提供控制流語句。表達式也是函數(shù)式的。
<?csp1.0?> function main() { let var = 123; "Outer var: " {var} <br/> <div> let var = 345; "Inner var: " {var} <br/> </div> }
Fancy靈感來自Ruby,Christopher Bertels開發(fā)。是對象之間的消息發(fā)送系統(tǒng),與Objective-C 或 Smalltalk 相似,操作很簡單。下面是計算斐波納契數(shù)的示例:
class Fixnum { def fib { match self { case 0 -> 0 case 1 -> 1 case _ -> self – 1 fib + (self – 2 fib) } } } 15 times: |x| { x fib println }
由 Robert Osterlund開發(fā),Pikt為Problem Informant/Killer Tool的首字母縮寫。是Linux和Unix系統(tǒng)的監(jiān)視設置管理軟件。代碼。下面是一個腳本示例,寫出crontab的變化:
crontab_change(u) init status =piktstatus level =piktlevel task "Report changes in (u) crontabs" input proc "if [ -e =hstdir/log/(u).crontab.bak ]; then =diff =hstdir/log/(u).crontab.bak =hstdir/log/(u).crontab else =cat =hstdir/log/(u).crontab 2>/dev/null; fi" begin doexec wait "=crontab -u (u) -l > =hstdir/log/(u).crontab" rule output mail $inlin end doexec wait "=mv =hstdir/log/(u).crontab =hstdir/log/(u).crontab.bak"
PPL是JVM的跨平臺語言,生成.jar或.class文件。有Christian Neumanns開發(fā),致力于提高java null安全性和穩(wěn)定性。編譯器檢null pointer錯誤并將其標記為編譯錯誤標記。其他的特性還有:Design by Contract、集成單元測試、默認不可變隊形、靜態(tài)類型等。這些功能都意味著在編譯時間中檢測更多錯誤。
他下面的示例顯示了一個簡單的輸入/輸出,包括集成單元測試:
command double_string in string type:string end out result type:string end script o_result = i_string & i_string // simply return twice the input string end test // start of test script script test "a" // call co_double_string with i_string = "a" verify v_result =v "aa" // verify result is "aa" test "foo" verify result =v "foofoo" end end end end
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務必注明出處、不得修改原文相關鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:慧都控件網(wǎng)