歡迎光臨
每天分享高質量文章

.NET Core 給使用.NET的公司所帶來的機遇

今晚在餘晟的微信公眾號看到了一篇文章《從.NET/C#開發的“後繼無人”說起》。 這篇文章以從.NET/C#開發的“後繼無人” 引出了推廣極客時間的課程 劉超的《趣談Linux作業系統》,通篇看下來這明顯是劉超的《趣談Linux作業系統》的軟文。

軟文地址:https://mp.weixin.qq.com/s/rO2d0xZ58Z2syqT7AaNT3w

推廣無可厚非,但是這種以標題黨形式貶低.NET,讓幾十萬的.NETer 蒙羞是一種無恥的操作,何況餘晟是一位小有名氣的博主,這篇文章轉發在朋友圈,光是這個標題就夠有殺傷力的了。這也是我看到這篇文章特別想寫一篇短文來表達一下心中的999個傷害。

我也有一個公眾號“dotnet跨平臺”,其中的主題就是微軟在2014年開始開源的.NET Core, 即將在今年釋出3.0版本,具體詳見昨天的文章《.NET Core 3.0 中的新變化》, .NET Core是開源跨平臺的.NET ,而且他的兄弟Mono也是開源的,至今已經有17年曆史,大名鼎鼎的Unity3d 就是基於Mono。.NET Core/Mono早就可以跨平臺執行於Linux/Mac系統之下,而且微軟把Linux 作為一等公民對待。目前我就是使用Windows 10作為開發工具,使用.NET Core開發的系統透過容器化執行於k8s 之下。微軟的Visual Studio 和Visual Studio Code 為容器化應用程式開發提供了一流的體驗。

餘晟完全可以這麼寫: 如果要把技術棧從.NET/c#切換為.NET Core/C#, 可以完美執行於Linux 之下,藉助於kubernetes 容器排程,最主要有什麼困難。

接下來想針對《從.NET/C#開發的“後繼無人”說起》裡面的一些邏輯錯誤給大家分享下:

市場上招不到多少.NET/C#的開發新人

這是一個毫無根據的主觀臆斷。據我所知,還是有不少學校開設了C#程式設計的,至少我就知道有好幾個學校,社會上的培訓機構也有不少培訓以Unity3d程式設計為背景的c#培訓,培訓機構確實很少批次生產快餐式的.NET程式員了,這些培訓機構都一窩蜂的湧向Java培訓,導致的結果是現在Java快餐式程式員滿大街都是,這些快餐式程式員也不是很多公司所期望的。倒是有不少.NET 程式員質量非常高,他們透過參與開源專案進行著高質量的自我成長,身邊有不少95後程式員新人,他們的水平都是很不錯的。

微軟自己的Azure 雲服務,也不強調Windows特性了

微軟從2014年新的CEO 薩提亞•納德拉上臺以來,在他第一本書《掃清:重新發現商業與未來》全景回顧了薩提亞的變革路徑,如在硬體Surface電腦上的投入,在混合現實、人工智慧和量子計算三大領域的戰略佈局等;系統總結了他的核心管理思想,即任何組織和個人,達到某個臨界點時,都需要自我掃清。 微軟自我掃清,今天微軟的市值已經突破9000億美元,繼續向一萬億進軍,這裡最重要的一個平臺就是Azure 雲服務,微軟Azure 擁抱開源,Azure 可以執行主流的開源解決方案,我們已經從跨平臺進入跨雲時代,我們開發的應用系統都是針對跨多個雲為要求的,Windows 伺服器和Linux伺服器一樣已經下沉為雲服務的底層一個元件,雲平臺已經上升為新時代的作業系統。

如果把技術棧從.NET/C#切換到Java

.NET/C# 目前已經在跨平臺這條道理上走過了10多年,.NET Core更是把.NET 的跨平臺推向一個新的高度,.NET Core借鑒了.NET Framework的最佳實踐,並將軟體工程的最新進展結合在一起。這些是.NET Core的一些顯著特徵。 同一個庫可以在後臺服務“本地”或雲中執行,也可以在手機,平板電腦或桌面上執行的客戶端應用程式中執行。與其為iOS,Android和Windows構建單獨的應用程式,您可以構建一個適用於所有平臺的應用程式。.NET Core是小型和完美的容器,可以輕鬆擴充套件並縮短開發時間。 .NET Core和.NET Standard Library建立了一個通用平臺。過去,當新版本的作業系統或新裝置出現時,開發人員有責任重新構建新平臺的應用程式或庫,並分發更新。使用.NET Core,不需要重建和重新分配。只要新的平臺支援你所有的依賴庫,它就支援你的應用程式。採用.NET Core讓你在以往在.NET上的投資更有價值,我們來看最新asp.net core 效能已經跨入頂級序列,最新一期的TechEmpower基準測試第十七輪測試:

.NET Core和Java都是開源跨平臺的,我們可以來比較一下.NET Core和Java的開源協議,.NET Core是以MIT協議開源, Java是GPL協議開源。 Java 8 SDK升級Oracle要收費這件事對於很多小公司是有著重大的影響的。眾多沒有能力開發維護OpenJDK的公司完全可以轉向更具有競爭力的.NET Core,.NET Core從屬於.NET基金會,由微軟進行官方支援。使用最寬鬆的MIT和Apache 2開源協議,檔案協議遵循CC-BY。這將允許任何人任何組織和企業任意處置,包括使用,複製,修改,合併,發表,分發,再授權,或者銷售。唯一的限制是,軟體中必須包含上述版 權和許可提示,後者協議將會除了為使用者提供版權許可之外,還有專利許可,並且授權是免費,無排他性的(任何個人和企業都能獲得授權)並且永久不可撤銷,使用者使用.NET Core完全不用擔心收費問題,你可以很自由的部署在任何地方

現在是雲端計算時代,.NET Core已經磨練5年時間,準備好了迎接雲端計算時代的雲原生應用開發,雲系統中,用更少的硬體為更高密度的使用者提供服務是非常重要的。應用程式的佔位面積越小,密度越高。容器只包含應用程式及其依賴項。檔案大小要小很多倍,啟動時間以秒為單位,只有應用程式載入到記憶體中,容器保證在任何主機上工作。鑒於容器的明顯優勢,.NET Core的設計決定之一就是使其成為模組化。這意味著你的.NET Core應用程式可以被”釋出”,使得它和它的所有依賴關係在一個地方,這很容易放入容器。

2018年年末的聽到大量的網際網路公司裁員訊息,但是我服務這幾家客戶都有很強烈的招聘.NET Core開發人員的需求,這是大量學習Java的同學轉向.NET Core平臺的好時機,我一直認為做Java開發的同學比做傳統.NET的人員更容易用好.NET Core, Java相比C#,在使用了C#後你不會再去想用Java,而且.NET Core有你非常熟悉的Spring Cloud那一套約定的程式設計正規化,然而見過很多.NET 開發人員, 依賴註入都沒用過,更別說用Linux了。在這裡我沒有貶低.NET開發人員的意思,技術更多的還是要靠自己的努力,我們努力一起成為一群不被時代拋棄的程式猿。

原文地址:https://www.cnblogs.com/shanyou/p/10597046.html

贊(0)

分享創造快樂