1. 程式人生 > >.NET平臺程式語言的衰敗

.NET平臺程式語言的衰敗

.NET平臺程式語言的衰敗

 

JVM上的程式語言除了Java,其它還有很多,比如最近谷歌公司力捧JVM平臺上的語言Kotlin、大資料用的Scala、構建系統用的Groovy。.NET平臺上的程式語言曾經也是很多的,幾乎從A到Z打頭的各種程式語言都有,不過慢慢的到現在只有C#一個語言獨大了。

 

Visual Basic.NET

Visual Basic是微軟老資格的語言,Visual Basic.NET是它移植.NET平臺上的語言。移植之後的Visual Basic.NET做了不少變動,也添加了不少特性。因為它是微軟官方主推的程式語言,以及有原來VB的高人氣,所以開始的時候很多人用它,早期市場上也出版了很多相關圖書。不過現在不行了,C#比它簡潔先進,.NET開發者很少認準Visual Basic.NET。

 

F#

 

F#是微軟從2002年開發的.NET平臺程式語言,後來它也被整合在Visual Studio中,官網是https://fsharp.org/。它其實是基於Ocaml語言在.NET平臺上的實現。Ocaml是一種函式程式語言,函式程式設計在前幾年很火,但是因為它的一些缺點,無法成為主流,雖然主流程式語言吸收了函數語言程式設計思想。所以註定了F#像其它函數語言程式設計語言一樣,是流行不起來的。

F#程式例子

 

F#教程的外文書有不少, 比如F# for C# Developers、F# for Scientists、Get Programming with F#,國內的我只看見過這一本書:F#語言程式設計。

 

 

Boo

 

Boo語言時執行在.NET平臺上的面向物件的、動態的、程式語言,語法類似Python,它原先的官網突然關停,現在的網址是https://boo-language.github.io/。Boo以前有一定影響,有不少文章介紹它,還有幾本外國教程,比如有一本DSLs in Boo: Domain Specific Languages in .NET,Unity3D好像曾經採用它作為遊戲開發指令碼語言。但是它有一天突然不行了,原因不清楚。

DSLs in Boo: Domain Specific Languages in .NET

 

Boo程式

 

 

IronPython

 

IronPython 是由 Jim Hugunin移植到 NET上執行的 Python 語言,他也把Python移植到Java平臺上叫Jython。1.0 版於2006年9月5日釋出,官網是https://ironpython.net/。近幾年因為人工智慧的關係,Python現在很火,不過這沒有幫助IronPython提高影響,因為IronPython是執行在.NET上的,不方便呼叫廠商提供的AI庫。

IronPython最新版本是2018年釋出的IronPython 2.7.8版本,但是自2020年1月1日起,Python 2將不再得到支援。

 

IronRuby

 

IronRuby 是 Ruby 程式語言在微軟 .NET 平臺上的一種實現,它的官網是http://ironruby.net/,它的最新版本是2011年3月13日釋出的IronRuby 1.1.3。Ruby幾年前因為有了一個Ruby on Rails框架而大火,但是現在它就是一個過氣明星,所以IronRuby和JRuby一樣,都少人問津。

 

Delphi

 

Delphi,是Windows平臺下著名的快速應用程式開發工具。自從微軟推出.NET後,Borland也追趕潮流,把Delphi移植到.NET平臺上,可以用Object Pascal編寫WinForm和WebForm程式。但是它的語言比起C#來顯得落後,公司實力比起微軟來說差距很大,所以大家都認準微軟的C#,而不注意Delphi。

 

 

所有的.NET程式語言都可以點選這個連結檢視:http://en.citizendium.org/wiki/List_of_languages_using_the_.NET_Framework

老外充滿幹勁,從Ada到Tcl/Tk都移到.NET平臺上,還有的自己創造了.NET上的語言。我本人也搞過Lisp執行在.NET上,還自己發明了卓語言執行在.NET上。

 

不過現實殘酷,上面所有的語言都失敗,我自己的語言也難。

 

卓語言計算一組整數總和並列印的例子

 

 

語言雖然很多,都是很早以前實現的,但都已經死了或者半死不活,這從一個側面反映了.NET生態的萎縮惡化衰敗,.NET市場的頹勢還未見底。

Java平臺上程式語言雖然也是大部分死了,但是活下來的Groovy、Scala、Clojure、Kotlin都有著自己的重要應用場景,在一些領域取代了Java,可以說取得了不小的成功,而.NET平臺上除了C#都不行了。鼓吹"Mark .NET great again (.NET再次崛起)"的人也要正視這一現實,不總結教訓是不行的,說空話時沒用的。