深談C#語言發展(前言)

       大家好,雖然在互聯網這邊江湖闖蕩多年,也做過大大小小不少應用與遊戲,接觸的語言也不少,有些語言深入瞭解過,有些只是會用用而已,但一直沒有發佈過幾篇技術性文章(都說人家的第一次了),以前總感覺把手頭的工作做完,項目完善就大功告成,但慢慢發現,應該多做一些點對面的事情(你在商店就推銷化妝品是點對點,你在網上開個直播就是點對面),爲自己寫點東西,一方面以記錄自己經驗與體會,也可以幫助更多的朋友學習與成長。(主要還是幻想哪天哪個大廠大老能看中,那我不是發了:P)

 

      目前來說。一直在專注手機遊戲領域,也出過幾個知名手遊,就目前前端來說,其實遊戲行業開發大致分流已經定型,cocos2d,unity3d,unreal是前端爲數不多的選擇,(也有些大廠也在研發自己的遊戲引擎),前幾年cocos火到不行,但慢慢的,u3d的功能的框架越來越強大,插件越來越多,製作成本越來越低的情況下,加上cocos3d真的不太好用,越來越多的遊戲開發商開始從招cocos2d的人才變成了u3d的人才,雖然虛幻很強大,特別是虛幻5,但從目前來說,打開招聘網站,u3d的需要還是最多的。所有我準備寫第一篇系列文章還是先針對U3D的開發語言C#進行一個漫談,就是不知道有沒有人看。

 

u3d支持3種編程語言,C#,javascript,boo,但c#算是性能和市場人才也比較多的語言,c#算是比較老的語言了,但從設計角度來說,他從c++爲設計原型,又吸取了JAVA的很多好的特性,比如一套強大的託管機制,選擇 C#還是比較明智的,起碼來說現在c++對大部分來說太複雜,java又有很多侷限(比如java沒有非託管,沒有指針,泛型也不支持值類型等等),加上現在市場上是個程序就會java....(這麼多會java的程序員會不會打我,還是少說點java不好的地方爲妙)

 

我面試過很多程序,要說精通一門語言其實我發現還是很寬泛的,精通的具體表現也可能是每個人都不太相同,有些人覺得我把一門語言的絕大部分API全部瞭解了。語言特性都掌握了,能熟練運用了就是精通了,有些人覺得前者只是會熟練運用而已,瞭解語言特性底層實現,或者瞭解編譯原理纔算精通。,還有些人覺得我應該去了解一門語言設計者的思想,瞭解他每一個版本更新後的用意及深層想法才能算精通。

 

不管怎麼樣吧,所以我寫這篇系列文章的主要想法還是從c#的早期設計師Anders Hejlsberg(現在是MadsTorgersen)設計這門語言及如何改進的進行一個漫談,很多東西可能你實際工作不一定真的用到。(比如委託的寫法從c#1到c#3有多麼大的改進)你只要知道怎麼寫就行,不出BUG就OK。但這些東西瞭解後可能是你進入大廠或者變成專家的一個必備過程吧。

 

好了,這是我第一次在網上寫文章,當然不敢說自己多牛多權威,也是芸芸衆生中的一名程序員,也是自己對c#語言的一些理解和總結。如果有什麼不對的可以一起學習討論。那下一篇就準備進入正題,先從最初版本的c#1的一些語言設計特性開始講起,一直講到目前來說最新的c#8的很多激動人心,或者也可能沒啥用的新特性。爲啥c#9不講呢。因爲這玩意要今年11月份才發佈呢!

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章