对C# 程序员来说现在是到目前为止最好的时代
本文的標題來自Scott Hanselman 的 Xamarin Evolve 2013 Talk Video - How C# Saved My Marriage,想寫下這些東西主要是今天看到了CSDN的一個極客頭條《觀點:.NET向何處去?》和傳智播客.Net學院:《Linux+Mono公開課》的視頻看了2個開頭的視頻,鄒華棟 老師講的很不錯,適合初學者,期待后續(xù)Jexus 和 nginx 公開課。但是課程中也有一些錯誤的地方, 本文將自己的一些看法及時記錄下來和更多的人分享。
? ? ?公開課提到Mono才剛出來不久還不成熟,這里涉及到一個Mono的歷史,具體的歷史在園子里有很多同學也介紹了,我都收錄在這篇博客《Mono在國內的發(fā)展歷程(相關文章匯總)》,2000年8月,微軟、惠普和英特爾共同制定CLI和C#編程語言的標準規(guī)格,微軟在2001年把CLI和C# 提交給了ECMA[ECMA是一個致力于推動行業(yè)范圍內采用信息和通信技術的非特定供應商的國際標準組織]標準化 ECMA 335和ECMA 334),比Java還早的標準化了.NET平臺。Miguel de lcaza 看到了C#語言的優(yōu)雅和高效率,Ximian內部對如何創(chuàng)建能有效提升生產效率的工具進行了大量的討論,他們的目標是通過這些創(chuàng)建出來的工具讓用戶可以在更短時間內創(chuàng)建出更多的應用程序從而縮短開發(fā)周期和降低開發(fā)成本。Miguel所在的著名的Linux桌面環(huán)境"GNOME"的開發(fā)商,美國Ximian公司在2001年7月開始啟動一個名叫Mono Project的開放源碼版".NET"的開發(fā)項目,旨在使開發(fā)者能夠編寫同時在Windows和Linux上運行的.NET程序,Mono計劃主要包括一個C#編譯器、與Microsoft 公司的Common Language Infrastructure(CLI)兼容的類庫、Linux版Common Language Runtime(CLR)編譯器,它包含了一個C#語言的編譯器,一個CLR的運行時,和一組類庫。早期主要關注點是Linux桌面的軟件開發(fā)。2001年.NET 1.0剛發(fā)布beta版本的時候,Mono項目就開始了。2003年4月份的時候微軟提交到ISO ( ISO/IEC 23271和ISO/IEC 23270).盡管微軟及其他合作伙伴持有CLI及C#的專利,ECMA和ISO要求所有專利都應該遵守“合理與非歧視準則”。除此之外,這些公司亦同意讓用戶免費使用這兩項專利。差不多三年后,Mono于2004年7月30日發(fā)布了1.0版本。 從1.0版本到今年的3.0版本,已經發(fā)展了10幾年了,所以說已經是歷史悠久,而不是剛出來的。
公開課還提到了Mono最近更新非常快,最近2年微軟不斷地走向開放,把相關的開源項目的協(xié)議都更改為了Apache Licence ?2(asp.net mvc/dlr/ironpython/ironruby/f#等等),這樣就可以直接集成進入Mono項目了。最近2年微軟還有一個重要的開源項目是Nuget,Nuget相當于是在把.NET社區(qū)的資源進行匯集,最新發(fā)布的2.5版本對Mono也提供了支持(雖然還有瑕疵)。相信生態(tài)系統(tǒng)進入良性循環(huán)會更加的繁榮。Mono項目在發(fā)展的過程中一直比較關注客戶端的開發(fā),對Web的開發(fā)重視不夠,可以從Mono默認提供的ASP.NET服務器XSP看出來,XSP最早還是來自于微軟的內部團隊,至今一直不能承擔起ASP.NET服務器的重任,這些年偏偏互聯(lián)網的發(fā)展非常的迅速,Linux服務器的發(fā)展更加迅猛,可以說Mono錯過了一個機會。Mono上由于Web服務器上發(fā)展欠缺,國內出現(xiàn)了一款LINUX ASP.NET WEB服務器:JEXUS,2011年我在InfoQ上寫了這篇文章介紹,目前這款服務器非常的強勁,網上也有相關的測試數據,這里要強調一點的是,在做IIS/Jexus 這樣的Web服務器的時候,需要考慮到.NET的特點,先預熱一下再開始壓測,不然測試結果有失公正。大家在Linux上選擇Linux ASP.net web服務器就選它準沒有錯,這樣Windows搭配IIS ,Linux搭配Jexus,在Web領域可以活的很輕松。不過iPhone所掀起移動互聯(lián)網浪潮的出現(xiàn)又把重點回歸到了云+端。在Novell公司被賣之前Mono開發(fā)團隊就開始了Monotouch的開發(fā),而且取得了非常的成功,即使是在Apple的強硬的絕不允許在ios上運行動態(tài)庫,Mono團隊通過AOT技術完美解決,同時把目光轉向了Android平臺,經過對Android的深入的研究,完全使用C#移植了Andorid。發(fā)展到今天已經在移動開發(fā)方面讓C#程序員有了最好的工具,可以跨越主流的移動開發(fā)平臺。所以說Mono是非常成熟的一個平臺。
今年的.NET開源社區(qū)的會議不斷,在不久前結束的Xamarin Evolve 2013開發(fā)者大會上,Xamarin團隊成員向600多名C#開發(fā)者介紹了該產品的新功能并通過授課的方式讓大家更加了解Xamarin的使用方法。接下來還有2013年7月22日-25日舉辦的MonkeySpace ,具體可以訪問官方網站 http://monkeyspace.org/。MonkeySpace 之前叫做MonoSpace,現(xiàn)在是官方的跨平臺和開源.NET會議。想更多了解有關iPhone和Android,Mac和* nix平臺使用.NET技術? MonkeySpace圍繞著如何在.NET中使用開源技術為.NET社區(qū)提供場地,合作,分享和社交活動。
CSDN的一個極客頭條 觀點:.NET向何處去? 通過上面的介紹,大家應該很容易自己做出判斷。從移動開發(fā)的ios,android,wp,windows開發(fā),再到web/cloud等等開發(fā)領域都可以用C#。而且國內對.NET開發(fā)的應用也在深入,比如園子里陳貞寶的OSGI.NET開放工廠,陳晴陽的面向領域驅動的企業(yè)級應用開發(fā)框架Apworks,Linux ASP.NET Web服務器Jexus。
轉載于:https://blog.51cto.com/utalents/1394993
總結
以上是生活随笔為你收集整理的对C# 程序员来说现在是到目前为止最好的时代的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 设计原则:色彩
- 下一篇: c# char unsigned_dll