作為微軟NET框架的標志性語言C#在微軟的開發戰略中扮演了一個非常關鍵的角色隨著該語言呈現出動態和功能編程語言的特性其角色也將不斷向前發展
在年月份微軟發布了C# 並引入了功能編程的概念例如它支持以前在微軟F#語言和語言集成查詢(LINQ)中的lambda表達式而目前正在開發的C# 將增加對動態類型的支持微軟最初發布C#的目的是響應Java語言現在這個命令式靜態類型和面向對象編程語言正在呈現出更全面的趨勢
微軟技術專家C#之父Anders Hejlsberg最近花費了不少時間來談論C#編程語言的未來發展方向因為許多開發者對於C#這個他們非常喜愛的編程語言正在遵循的發展路線感到擔憂
Hejlsberg表示從某種意義上說C#正在變為一個混合編程語言或者說是一個多維編程語言它是面向對象的它又支持功能編程現在其版還將是動態的我認為從其它不同的領域借鑒最好的編程思想是非常自然的事情沒有人規定一個編程語言必須是靜態類型或者動態類型的我認為它們都具有自己的長處
開發者無需擔憂C#迷失方向
在年月微軟開發者大會上當Hejlsberg討論動態類型如何能夠簡化COM接口處理和其它復雜的交互時某些開發者們深表贊同不過也有一些程序員擔憂C#會向新的方向分化
來自Euronav公司的技術主管Brian Morris博士表示C#的一個令人失望之處是其復雜性不斷增加日漸增加的復雜性提高了其入門門檻更糟糕的是理解和維護其代碼變得非常困難開發人員盲目的去使用新功能但實際上更好的解決方案是使用該語言一個更簡單的功能Lambda表達式就是這樣一個功能
Ronald Jones是一個具有年編程經驗的老程序員他目前已經熟練掌握了C# 他建議微軟停止已經在進行的語言功能改變Jones寫到微軟每一次對C#進行修改都會影響其普及范圍影響其穩定性讓人們不再希望將其作為未來開發時所選擇的平台編程語言不需每年都修改或增加其功能企業難以接受一個像C#這樣經常變化的語言
Hejlsberg表示他知道經常修改語言功能所帶來的危險不過他表示你不能對語言的底層經常進行修改對於C#來說它的核心設計是一個命令式的面向對象編程語言你可以對其增加從功能編程語言和動態編程語言所借鑒來的功能但是其核心設計並非發生改變
Hejlsberg表示他的團隊一直比較注意為C#增加太多功能所帶來的危險他表明了其開發團隊工作的連續性該團隊自年以來每周舉行三次交流會一直到今天我們依然在通過這種會議來進行交流而且一直是在同一個會議室中
微軟不會重C#輕VB
對於Visual Basic和C#之間的關系很多開發者提出了質疑Hejlsberg表示這兩個編程語言的相同之處將繼續存在
Hejlsberg表示我們經常說某一個語言適合某一個團隊不過這種說法實際上未必就十分准確看一下圍繞這兩個編程語言的開發者社區你會發現兩者之間實際沒有太多不同它們可以創建相同的應用它們希望使用相同類型的功能選擇使用哪一個語言往往和其所處周圍的環境和時期有關
來自納什維爾的軟件開發者Ron McCullough至今一直在使用VB並且沒有放棄它的打算他通過電子郵件表示使用VB進行了多年開發後我發現C#非常難用開發速度也非常慢而且缺少我在VB中所看到的許多不錯的功能
來自奧羅拉的加拿大程序員Rick Piovesan對此表示贊同他表示作為一個軟件承包者我更喜歡首先選用VB只在具有某些需要的時候才選用C#不過現在客戶項目越來越多的要求使用C#不過令我吃驚的是與VB相比微軟Visual Studio對C#的支持非常難用和簡陋我一直在不斷查找我需要的功能到底在哪兒
無論是Piovesan還是McCullough都認為微軟傾向於推廣C#的使用不過Hejlsberg表示微軟對這兩門語言並不會厚此薄彼一個功能如果被增加到C#中那麼也會被加入到VB中
Hejlsberg表示我可以這樣說我認為開發者無需因為擔心VB不會像C#那樣不斷向前發展而放棄VB轉向C#我們可以向所有人保證會同時豐富這兩門語言
From:http://tw.wingwit.com/Article/program/net/201311/15210.html