亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

微軟程序員最好的時代來了

2019-11-14 13:39:20
字體:
來源:轉載
供稿:網友

每過一段時間就有人跳出來說微軟不行了,.NET不行了,然后就去舔java, 但是一直讓我覺得比較奇怪的是,幾年以后那些人還在用.NET,而且繼續噴著.NET, 舔著JAVA, 在我看來,這些人和那些天天噴自己的公司,卻依然在那個公司,天天噴中國,卻依然在中國的那些人是一樣的。

語言只是工具

因為我不是非常熟習JAVA, 所以我不知道JAVA擅長做什么,但是我覺得.NET能做的事,基本上JAVA應該都能做,就像我認為JAVA能做的事.NET基本也都能做一樣。但是奇怪的是我經常看到的是.NET人員噴.NET, 很少聽到JAVA人員噴.NET, 不過我估計很多JAVA人員應該也忙著去噴JAVA吧。這個其實和語言沒關系,只是和人的心理有關系,因為人總覺得“碗里的沒鍋里的好”。

語言之爭已經持續很多年了,其實這個大家都知道沒什么意義,網上不是流傳一個語言的鄙視鏈嗎?我覺得大家把他當個玩笑罷了,千萬別當真,因為不管怎么鄙視,我們畢竟要吃飯的。

本來我也覺得寫這篇文章沒什么意義,但是看到那些噴.NET文章,基本上句句說的都沒理,但是卻可能對初入行的人帶來很大的誤解,就像騙子很容易騙小孩,因為小孩涉世未深。

我做開發已經10多年了,學過很多語言,但是真正用來吃飯的最主要的語言其實是Visual Basic和.NET, 當然還有"漢語". 當初也學過Java, jsp, SSH. 但是最后選擇了.NET,為什么,一是因為.NET技術真的入門很快,當年入門快的好處之一就是你立馬就有一定的生產力,也就是你能很快開始干活,這樣就有公司愿意給你付薪水了,也就意味著你可以更早從父母那里斷奶了,另外一個原因就是當時面試的要.NET比要JAVA的多呀。

C# 語言

我學習過C, Java,Visual Basic, Ruby,Node.js等,但是我還是覺得C#是生產力非常高的一門語言,比如一些非常優秀的語言特性,你剛剛才能從其它語言里看到一點點,比如自動屬性,LINQ, Lamda表達式,Action等,另外C#對多線程的封裝讓我們在多線程編程時極其方便,比如TPL. 還有令大家頭疼的異步回調的問題,C#用非常優雅的Async, Await來解決,我們看到ES7里面已經開始實現類似的東西,是不是借鑒了C#呢?

多語言混用

對一個稍微復雜一點的程序來說,我們為什么一定要只使用一個語言呢?比如我們前端可以使用asp.net MVC, 后端可以使用Java 甚至是別的任何一個語言,服務我們可以使用WCF, 搜索我們可以使用Solr等等,我們甚至是WEB層,業務層都是用.NET, 而數據庫可以使用MySQL或者MongoDB.

.NET或者JAVA只是系統的一部分

我們知道一個WEB程序,除了后端以外,很多其它的東西比如HTML, CSS,JavaScript,數據庫這些不管你做Java還是.NET都是一樣需要的。也就是前端技術都是相同,另外HTTP協議,TCP/IP這些也不分語言吧。不管你是JAVA還是.NET, AngularJS, ReactJS, HTML5, Bootstrap, Bower, Grunt, Gulp這些東西對你都是一樣的吧?

微軟技術能做什么

我沒有做過JAVA程序,但是我使用微軟技術10多年了,我就說一說微軟技術能做什么。

桌面程序

Visual Basic

當年我畢業沒多久,就加入一家馬來西亞在中國的軟件公司,這個公司主要是做門票系統,當時我們選擇了Visual Basic, 做過VB的人都知道VB是多么的強大,除了極其方便的可見即所得的Form外,而且有幾乎一切你想要的組件,另外我們都知道Windows是桌面系統中當之無愧的的霸主, 我不知道JAVA在這方面的優勢是什么,如果有些人說要跨平臺,但是我做了這么多年的企業軟件,沒有幾個企業軟件是需要跨平臺的。當時在這個公司里做了售票系統,還有閘機系統,POS系統,我估計很多人不知道閘機系統原來用Visual Basic也可以做。廣州,北京最大的游樂園都是我們當年做的,而當年整個樂園的信息系統都是使用的微軟的技術。

WPF

微軟推出的WPF, 我覺得是對桌面開發程序的極大的進步,幾乎所有的桌面程序的展示都可以使用WPF來呈現,而通過WPF可以讓我們非常方便快速的做出非常炫的桌面程序,WPF的XAML方式給了我們非常方便的寫桌面窗體。 同時模板,動畫等在WPF都是極其容易實現,另外MVVM在WPF的應用里非常盛行,WPF可是比Angular早出現了很多年。

UWP

不久前,微軟推出了Windows 10, 這使一套系統可以運行在桌面,平板以及手機上,而我們可以使用XAML,甚至是Javascript來開發一套程序就可以運行在多個終端,這個對個人用戶可能沒有什么,但是對企業用戶太重要了,具體的細節我覺得大家可以去看一下MSDN或者Channel9

WEB

ASP.NET WEB Forms

我覺得很多人對微軟的誤解可能主要是這一部分,當年的ASP.NET WEB Forms由于是快速拖控件,導致界面生成很多難以認識的代碼,大量的ViewState等,但是這并不能說ASP.NET WEB Forms不好,第一我們可以使用ASP.NET WEB Forms快速完成一些小型的WEB程序,加上有大量的第三方控件,是開發一些常規的程序快如閃電。第二我們可以盡量使用客戶端的控件比如Repeater等,現在仍然有很多網站都是ASP.NET WEB Forms做的,難道這些網站都沒有用戶?!

ASP.NET WEB MVC

由于很多人對ASP.NET WEB Forms充滿抱怨,而且WEB開發技術不斷地革新,微軟也順應潮流及時的推出了ASP.NET MVC, 使用MVC可以寫出非常清爽的代碼,我們團隊從ASP.NET MVC1.0 beta就開始使用,由于我也學習過Ruby On Rails,基本上這兩個框架非常相似,極其方便的路由管理,View, Controller, Model的分層,使我們可以很好的使用強類型類開發,我們已經使用ASP.NET MVC成功提交過很多項目,還從來沒有遇到過問題是出自.NET本身的。

WEB 服務

WCF

使用統一的模型,讓我們開發WEB服務極其方便,大部分情況下我們只需要定義一個接口,配置相關的Binding和EndPoint就可以了,可以很方便的使用Http, TCP, Https,可以非常方便的使用各種安全策略,而這些就只需要簡簡單單的幾行配置而已,WCF極大的簡化了WEB服務的開發。

ASP.NET WEB API

除了WCF, 微軟又推出了ASP.NET WEB API, 使得我們開發輕量級的WEB 服務極其容易,使用ASP.NET WEB API 我們可以非常容易實現服務的Restful. 而使用OWIN我們可以以任何方式來部署我們的API。

Azure 微軟云

微軟的云非常的強大,使用過微軟云的都知道,微軟云幾乎可以滿足我們一切對程序的要求,我們可以使用Azure web apps很方便的創建一個WEB, Webjob, 我們可以使用Azure SQL, 使用Azure storage, 可以極其方便的使用云的Queue, Bus等等,而且云集成了很多優秀的第三方程序,比如我們可以使用Redis作為Cache. 另外微軟的Cloud Services讓我們可以極其方便的管理我們的部署。這讓我們很多程序員從一個程序員可以快速成為可以運維企業整套系統的人,而你只需要學習一些Azure的管理知識,比如自動擴展等等,而這些在云里面都可以快速簡單的配置。我們幾乎一半客戶的系統都運行在Azure里面,而且我們可以一鍵部署,如果有問題,我們甚至可以使用Visual Studio來直接Debug云里面的網站。

移動開發

由于Mono,現在可以使用.NET來開發移動的應用程序,使用Xamarin可以使用C#開發出和原生性能一模一樣的iOS和Android程序,我也熟悉Objective-C, 而且用Objective-C開發過程序,雖然說Objective-C 在某些方面很優秀,但是開發效率實在不敢恭維,不然Apple也不會推出Swift來革自己的命,另外當你既需要iOS,又需要Android的時候,你至少需要一個熟悉Objective-C的,又需要???個熟悉Java. 而同樣地東西需要做兩遍。而使用Xamarin做企業級APP,大量的業務邏輯可以共享,更別說可以直接使用效率非常的C#語言了,我們已經成功提交了好幾個基于Xamarin的程序。

另外,Xamarin推出的Xamarin.Forms可以使用XAML及C#用一套代碼來開發iOS, Android以及Windows Phone的程序,而且性能和原生的一模一樣,我們也順利開發過基于Xamarin.Forms的程序。

游戲開發

現在已經有很多程序基于Unity開發,而你可以選擇C#來作為基于Unity的游戲的主要語言。可以搜索一下,已經有大量的上架游戲是使用.NET開發的。

小結

當然,以上只是我使用的微軟相關技術,目前來說,除了客戶明確選擇其它語言以外,還真的沒有多少是Java能做而.NET做不了的。

桌面,WEB, 移動開發 都可以使用.NET,簡單點說,就是你都可以使用一門語言,那就是C#來開發

開發工具

Visual Studio

做.NET開發,配套的開發工具是Visual Studio, 我覺得Visual Studio是最好的IDE之一,你幾乎可以使用做任何語言的開發,這個使用過的人都非常清楚,雖然說Vim是編輯器之神,而Emacs是神的編輯器,但是顯示世界能有多少個神?

Resharper

Resharper是每個.NET程序員的必備工具之一,基本上可以讓我們的開發效率提高三分之一,設個誰用過誰知道。

領域驅動設計

如果我沒有記錯的話,雖然Eric Evans較早寫了領域驅動設計一書,但真正推動領域驅動設計的是有很多做.NET開發的,比如Greg Young, 我們可以看看NServicebus. 可以看看 NServicebus

我們已經使用領域驅動設計提交了一個非常大型的項目,這個項目是一個世界500強的主要系統。而這個系統就是使用的.NET C#,使用了CQRS, NServicebus, ASP.NET MVC, ASP.NET WEB API,SQL Server等等,系統已經運行了好幾年了,還沒有發現什么問題。

有興趣的可以關注一下我的領域驅動系列。

長尾理論

很多人說大型的一些系統都沒有用.NET, 比如BAT, 比如新浪微博,他們是不是一點都沒有用.NET我不知道。我想說的第一那些系統都比較龐大,使用JAVA或者php很多時候是基于歷史的選擇,另外這些系統就那么幾個,而且并不是所有的軟件都是電商,都是微博?

我在這里想說的長尾,就是第一中小企業幾乎占據所有的企業的80%, 而這些企業需要各種各樣的系統,而這些企業不論是國內還是國外,都是Windows占大部分。雖然我也非常喜歡蘋果的產品,但是企業是需要賺錢的。 也就是說80%的企業都不會像BAT那么大,那么至少這80%的系統使用.NET開發沒有任何問題,再加上.NET有著很高的開發效率,我們有什么理由不選擇呢?

使用.NET應該是企業或者客戶項目的第一選擇

如果只做WEB系統,或者只做電商之類,那么使用其它任何語言都沒問題,但是一旦做企業系統,往往.NET是一開始非常安全的選擇,為什么? 因為很多企業使用的系統是Windows, 使用的辦公軟件是Office, 使用的服務器是Windows Server,使用的是AD, 使用的郵件系統是Exchang Server, 我不知道你們使用JAVA和PHP和這些系統集成時是否方便,但是使用.NET是非常方便的。目前來看,.NET幾乎可以滿足企業應用的所有的現有的需求以及潛在的需求。

關于開源,關于免費

現在.NET很多東西都開源了,.NET CORE 和 ASP.NET VNext已經可以跑在Mac和linux上了,我相信會越來越多的.NET程序將來會跑在Linux服務器上,另外大部分程序根本就用不了那么多服務器,如果我們真的需要那么多服務,證明公司已經很有錢了,還買不起幾個Windows?而且如果真的需要那么多服務器,我們可以使用Microsoft Azure, 買幾個Windows總比要請幾個Linux運維工程師要便宜很多吧。

最后,沒有人限制你只會.NET

沒有誰能限制.NET程序員學習其他的語言,.NET程序員可以學習Java, Ruby, Node.js, 可以學習Event Driven, Message Queue, Solr, 學習MongoDB, Redis, 學習分布式緩存,學習任何其它語言需要學習的東西。

關于薪水

我不相信一個人學兩個月JAVA, 不學習其它東西就可以立馬成為一個優秀的程序員,就可以拿到很高的薪水,因為在我看來,要成為一個優秀的.NET程序員,需要學習大量的知識,我相信JAVA程序員也是一樣。如果說.NET程序員年薪幾百萬我沒見過,但是把.NET學好可以拿到相對不錯的薪水還是沒有問題的。

我們就是使用.NET的技術,而且目前我們公司.NET程序員的平均薪水已經在10K以上了(這在西安當地已經算不錯了),如果你覺得你.NET技術還可以而沒有地方發揮的,歡迎聯系我 wangdeshui@Outlook.com


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲成人动漫在线播放| …久久精品99久久香蕉国产| 北条麻妃一区二区在线观看| 国产97在线亚洲| 久久久久国产精品免费网站| 亚洲激情电影中文字幕| 精品露脸国产偷人在视频| 日韩精品视频观看| 毛片精品免费在线观看| 91精品久久久久久| 国产精品视频自拍| 疯狂蹂躏欧美一区二区精品| 久久福利视频导航| 久久综合国产精品台湾中文娱乐网| 久久久精品久久久| 久久精品电影网站| 色伦专区97中文字幕| 日本精品久久电影| 亚洲天堂影视av| 最近免费中文字幕视频2019| 日韩精品极品视频免费观看| 国产色综合天天综合网| 97国产精品人人爽人人做| 中文字幕日韩在线视频| 91国产精品91| 福利一区福利二区微拍刺激| 欧美午夜www高清视频| 欧美日韩在线影院| 日韩av理论片| 国产亚洲人成a一在线v站| 欧美黑人xxxx| 国产精品av免费在线观看| 欧美日韩激情小视频| 97人人模人人爽人人喊中文字| 亚洲欧美综合区自拍另类| 亚洲一区二区精品| 亚洲欧美精品suv| 亚洲色图激情小说| 国产欧美日韩综合精品| 成人在线免费观看视视频| 日韩美女视频免费看| 国产不卡精品视男人的天堂| 亚洲精品美女久久久久| 亚洲视频在线观看网站| 色噜噜亚洲精品中文字幕| 欧美午夜影院在线视频| 国产欧美日韩高清| 欧美富婆性猛交| 色妞久久福利网| 久久亚洲精品中文字幕冲田杏梨| 国产欧美日韩91| 91高潮精品免费porn| 亚洲成人动漫在线播放| 九九热在线精品视频| 欧美成在线观看| 久久久久久91| 国产精品视频精品视频| 午夜精品国产精品大乳美女| 亚洲国产97在线精品一区| 国产日本欧美一区二区三区在线| 亚洲天堂2020| 久久久久久69| 午夜精品99久久免费| 精品福利在线观看| 亚洲国产精品视频在线观看| 国产精品96久久久久久| 日韩电影中文字幕在线观看| 国产成人在线视频| 欧美性猛交xxxx乱大交极品| 日韩资源在线观看| 2019亚洲日韩新视频| 精品国产91久久久久久老师| 国产亚洲精品久久久久久777| 亚洲无av在线中文字幕| 5566日本婷婷色中文字幕97| 在线成人免费网站| 亚洲欧美三级在线| 欧美日韩亚洲视频一区| 亚洲国产精品国自产拍av秋霞| 亚洲天堂av在线免费| 久久久av网站| 在线精品高清中文字幕| 国产精品99久久久久久白浆小说| 日韩精品在线观看视频| 91国语精品自产拍在线观看性色| 欧日韩在线观看| 欧美成aaa人片在线观看蜜臀| 欧美与黑人午夜性猛交久久久| 国产精品∨欧美精品v日韩精品| 97成人精品视频在线观看| 欧美专区日韩视频| 亚洲国产私拍精品国模在线观看| 欧美激情一区二区三区久久久| 欧美成人一二三| 亚洲欧洲日本专区| 国产精品男女猛烈高潮激情| 欧美视频在线观看 亚洲欧| 欧洲美女免费图片一区| 久久久99久久精品女同性| 久久躁狠狠躁夜夜爽| 久久精品视频一| 亚洲精品中文字幕有码专区| 欧美大片大片在线播放| 成人信息集中地欧美| 欧美中文在线视频| 色午夜这里只有精品| 欧美乱人伦中文字幕在线| 亚洲精品一二区| 91嫩草在线视频| 欧美电影在线观看高清| 亚洲男人天堂手机在线| 精品国产一区二区三区久久久狼| 亚洲免费视频网站| 日韩av一区二区在线| 欧美夜福利tv在线| 久久激情五月丁香伊人| 亚洲天堂男人天堂| 国产亚洲人成a一在线v站| 另类视频在线观看| 亚洲精品在线视频| 中文字幕久久精品| 中文字幕亚洲自拍| 超碰精品一区二区三区乱码| 国产精品自产拍高潮在线观看| 成人黄色av播放免费| 91亚洲精品视频| 成人夜晚看av| 精品国产91久久久久久| 色综合导航网站| 欧美性猛交99久久久久99按摩| 国产伦精品免费视频| 91九色蝌蚪国产| 国产精品一二三在线| 欧美日韩在线视频观看| 国产色婷婷国产综合在线理论片a| 中文字幕欧美专区| 亚洲大胆人体视频| 国内精品国产三级国产在线专| 欧美性20hd另类| 亚洲社区在线观看| 欧美老女人性生活| 九九久久国产精品| 一区二区三区四区视频| 日本中文字幕不卡免费| 国产精品手机播放| 国模叶桐国产精品一区| 欧美特级www| 国内精品久久久久| 国产精品久久久久久av| 粉嫩老牛aⅴ一区二区三区| 日韩精品高清在线| 国产精品ⅴa在线观看h| 精品久久久一区| 久久精品青青大伊人av| 日韩毛片中文字幕| 中文字幕欧美国内| 久久91亚洲精品中文字幕奶水| 国产视频亚洲视频| 欧美激情久久久久| 插插插亚洲综合网| 国产精品视频精品| 91亚洲国产成人精品性色| 久久91精品国产91久久跳| 欧美另类极品videosbestfree|