從個人情感體驗來說,c#在形式上是最優秀的語言。(如果一種語言,不具備形式上的美學特徵,沒有形而上的虛美表現,那麼,不管多適用,終究也只是一種迫不得已的利用工具)
c#要不要改進?
從Java可以看出一門語言的穩定,對於它的迅速普及和應用有很大的關係。
但這隻是曆史的產物。隨著相關技術的發展,這種類似性穩定的語言,會迅速從福士眼中消失,進而成為少數高手(骨灰級)牛人的工具,也就顯得陽春白雪了。
c#需要與時俱進。
C#從哪些角度改進?
其實語言的改進是全方位的,吸收各種語言的優點,並進行綜合吸收,時時注入新鮮的血液。
個人的理解,c#應該從一下幾個方面改進
1 文法
個人堅持文法決定論。
雖然IDE大大簡化了語言的應用,但ruby,python之類的興起,嚴重說明了文法本身的重要性。
在windows上,都可以操作COM的時候,很多人們竟然文法簡單的VB。
在.net平台上,各種語言可以互操作的時候,一門語言本身的文法,顯得更加重要。
如果一個功能,可以從文法上擴充,就不應該從支援庫上擴充,文法優先於擴充庫的原則。
文法要精簡、強大、相容和擴充。(C/C++的文法靈活,但是文法本身並沒有擴充,因此開發工作量大)
例如,C#可以加入冪運算子(**),無限精度資料類型(Bignum),分數資料類型(fraction。
更加廣泛的操作符重載支援。
如現在的Linq,DLinq的支援,都是激動人心的特徵,吸引著整個開發社區。
2 運行方式和環境
C#應該可以是動態,解釋執行的,指令碼能動的。
例如,可以使用Eval進行動態注入,加入HTML、SilverLight處理功能。
把強型別語言與指令碼式語言相結合,至少可以做到類似VBA的CSA,將會帶來軟體複用的革命。
3 平台架構
加入常用的數序庫,如統計庫,矩陣庫。
4 數學和哲學思想
引入高層的直覺的數學的哲學的邏輯思維
如預設值的設定,直覺的書寫方式,約定大於配置原則,最小驚訝( Least Astonishment)原則,最小努力原則(Principle of Least Effort)