你還不夠了解的5個指令碼語言
從作業系統到基本應用,從遊戲到Web頁面,指令碼語言無處不在。指令碼語言讓忙碌的開發人員不再迴圈在"編譯-測試-校訂"週期裡。有了指令碼語言,開發者只需要"編輯-執行"。
你可能熟知 Perl, Python, VBA, JavaScript...今天,我們要來談談另外5個指令碼語言,雖然你可能還不夠熟悉,不過他值得一看。
Wren
Wren是一個基於類的併發開源指令碼語言,有5000行左右c寫成,前遊戲開發者Bob Nystrom(《the Games Programming Pattern》作者)完成了他。 Wren 致力於通過基於類的架構改善Lua指令碼語言。體積小速度快,有簡單的C API,少於10個函式呼叫(需要 C99 編譯器)。Wren指令碼語言是Wren虛擬機器編譯成位元組碼。
class Wren { flyTo(city) { IO.print(“Flying to “, city) } }
Candle
CandleScript由一個叫Henry Luo的開發者開發,致力於處理任何分層資料。它將標記資料作為一個內建的資料型別並提供處理能力。
由於Candle是函數語言程式設計,包括程式式程式設計,所以可以提供控制流語句。表示式也是函式式的。
<!--?csp1.0?--> function main() { let var = 123; "Outer var: " {var} <br> <div> let var = 345; "Inner var: " {var} <br> </div> }
Fancy
Fancy靈感來自Ruby,Christopher Bertels開發。是物件之間的訊息傳送系統,與Objective-C 或 Smalltalk 相似,操作很簡單。下面是計算斐波納契數的示例:
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 }
Pikt
由 Robert Osterlund開發,Pikt為Problem Informant/Killer Tool的首字母縮寫。是Linux和Unix系統的監視設定管理軟體。程式碼。下面是一個指令碼示例,寫出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
PPL是JVM的跨平臺語言,生成.jar或.class檔案。有Christian Neumanns開發,致力於提高java null安全性和穩定性。編譯器檢null pointer錯誤並將其標記為編譯錯誤標記。其他的特性還有:Design by Contract、整合單元測試、預設不可變隊形、靜態型別等。這些功能都意味著在編譯時間中檢測更多錯誤。
他下面的示例顯示了一個簡單的輸入/輸出,包括整合單元測試:
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
相關文章
- 你最喜愛的程式語言不夠好
- C++ 能否成為你新的指令碼語言?C++指令碼
- 世界上的程式語言已這麼豐富 為什麼還不夠?
- 掌握了開源框架還不夠,你更需要掌握原始碼框架原始碼
- 關於C語言Switch語句,先學這些技巧夠不夠?C語言
- C++ 的指令碼語言:ChaiScriptC++指令碼AI
- 指令碼語言的安全性指令碼
- 你真的需要了解多種程式語言嗎?
- javascript是指令碼語言嗎JavaScript指令碼
- 比特幣指令碼語言比特幣指令碼
- 指令碼語言怎麼理解指令碼
- 你想要了解GO語言嗎?帶你入門!Go
- 漂亮還不夠!遊戲化設計策略讓你APP的粘度更高!遊戲APP
- 一個能夠生成 Markdown 表格的 Bash 指令碼指令碼
- 誰說設計師不會寫程式碼?—Photoshop指令碼語言簡介指令碼
- 為什麼自制指令碼語言是程式語言的最高境界?指令碼
- 編譯語言、解釋語言與指令碼語言之間的區別編譯指令碼
- try/catch/finally:“前端的好厚米,我覺得你們不夠了解我呀~”前端
- 如果你的系統還不夠平面化,那需要重新設計
- 你對CSS權重真的足夠了解嗎?CSS
- 好你個C語言,原來還有這麼多副面孔!C語言
- 計算機程式語言的分類,解釋型語言、編譯型語言、指令碼語言的關係計算機編譯指令碼
- Web程式語言和指令碼語言的就業趨勢Web指令碼就業
- Jeff Dean等人新作:換個角度審視語言模型,規模不夠發現不了模型
- 一個可用與資料庫SQL封裝的指令碼語言--TCL資料庫SQL封裝指令碼
- C語言_來了解一下GCC編譯器編譯C可執行指令碼的過程C語言GC編譯指令碼
- 機器碼 指令 組合語言 的關係機器碼組合語言
- ASP程式中常使用的幾種指令碼語言指令碼
- Streem:Ruby之父開發的新指令碼語言指令碼
- awk指令碼語言程式設計指南指令碼程式設計
- TCL指令碼語言基礎介紹指令碼
- Kotlin 都轉正成 Android 官方語言了,你還不試一下?KotlinAndroid
- newLISP 10.5.3 釋出,類 Lisp 的指令碼語言Lisp指令碼
- 如何用 ANTLR 4 實現自己的指令碼語言?指令碼
- 兩週自制指令碼語言 - 讀後心得指令碼
- 流行Linux和Windows指令碼語言列表LinuxWindows指令碼
- 很想有種像javascript語法的伺服器指令碼語言JavaScript伺服器指令碼
- 在redis中使用lua指令碼讓你的靈活性提高5個逼格Redis指令碼