你還不夠了解的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++ 的指令碼語言:ChaiScriptC++指令碼AI
- 關於C語言Switch語句,先學這些技巧夠不夠?C語言
- 指令碼語言怎麼理解指令碼
- javascript是指令碼語言嗎JavaScript指令碼
- 為什麼自制指令碼語言是程式語言的最高境界?指令碼
- 編譯語言、解釋語言與指令碼語言之間的區別編譯指令碼
- 一個能夠生成 Markdown 表格的 Bash 指令碼指令碼
- 你想要了解GO語言嗎?帶你入門!Go
- 計算機程式語言的分類,解釋型語言、編譯型語言、指令碼語言的關係計算機編譯指令碼
- try/catch/finally:“前端的好厚米,我覺得你們不夠了解我呀~”前端
- ASP程式中常使用的幾種指令碼語言指令碼
- 機器碼 指令 組合語言 的關係機器碼組合語言
- awk指令碼語言程式設計指南指令碼程式設計
- 好你個C語言,原來還有這麼多副面孔!C語言
- Jeff Dean等人新作:換個角度審視語言模型,規模不夠發現不了模型
- 你對CSS權重真的足夠了解嗎?CSS
- 還不來了解ChatGPT?免費賬號ChatGPT
- 啥?你的 Tap bar 不夠花裡胡哨,試試這個!
- 極思維很棒,但還不夠好
- 鹿鳴還不夠,米哈遊又整了個人工老公陸離?
- windows10不顯示語言欄怎麼辦_win10還原語言欄的解決方法WindowsWin10
- Lua 指令碼在 Redis 中能夠保證操作不會被其他指令插入或打擾 ??指令碼Redis
- Go語言 | 你還在這樣獲取檔案的大小嗎?Go
- 關於ASP程式中常見的幾種指令碼語言介紹指令碼
- Linux學習之Shell指令碼語言的優勢是什麼?Linux指令碼
- 帶你學夠浪:Go語言基礎系列 - 8分鐘學基礎語法Go
- 帶你學夠浪:Go語言基礎系列 - 8分鐘學控制流語句Go
- 你應該知道Go語言的幾個優勢Go
- 看完這個你還不會 插入排序 麼排序
- 以太坊Solidity程式語言開發框架————10、外部指令碼Solid框架指令碼
- JVM 還支援哪些語言JVM
- 你還不會ES的CUD嗎?
- Go語言&&Redis 實現分散式鎖,你會不會 ?GoRedis分散式
- 雙十一有很多一元秒殺的商品!網速不夠?Python指令碼來湊!Python指令碼
- HTML5的output是非常棒的一個標籤,你對它有了解嗎?HTML
- 開發者需要了解的領域特定語言(DSL)