微軟推最新程序語(yǔ)言Bosque 以Functors取代Loop循環(huán)
微軟推出了一種名為Bosque的全新程序語(yǔ)言。據(jù)語(yǔ)言的開發(fā)者M(jìn)ark Barron介紹,Bosque并未遵循目前大家熟知的傳統(tǒng)程序語(yǔ)言模式,而是采用“正規(guī)化編程模型(Regularized Programming Model)”。微軟稱其將提高開發(fā)者的工作效率,軟件質(zhì)量,并將開啟 編譯器和 開發(fā)人員工具集 的黃金發(fā)展年代。
“Functors”與“Loop循環(huán)”的區(qū)別
Bosques 解決了意外復(fù)雜性(Accidental Complexity)的五大主要來(lái)源:
- 可變狀態(tài)和框架 / Mutable State and Frames;
- 循環(huán)、遞歸和不變量 / Loops, Recursion, and Invariants;
- 不確定性為 / Indeterminate Behaviors;
- 數(shù)據(jù)不變違規(guī) / Data Invariant Violations;
- 平等和別名 / Equality and Aliasing
如上所述,Bosques 不需要'for','while','do while' 等Loop循環(huán)語(yǔ)句,微軟推出了“Functors(功能)”,取代“Loop循環(huán)”,可以提高軟件編譯質(zhì)量。
擁有JavaScript腳本或者TypeScript(它是JavaScript的超集)語(yǔ)言基礎(chǔ)的開發(fā)人員將更好地理解Bosque代碼,Bosque語(yǔ)言受TypeScript語(yǔ)法、類型,以及ML和Node / JavaScript語(yǔ)義的組合的啟發(fā) 。要詳細(xì)了解Bosque語(yǔ)言,請(qǐng)查看Microsoft此篇研究論文。
GitHub頁(yè)面上列有Bosque代碼示例