為什麼國內PHP、HTML、JavaScript等崗位更多,而少有C++ / C、Windows程序設計、C# 之類的崗位?

崔亞玲


我們知道,軟件開發涉及到的編程語言是很多的,但流行的也只有那麼幾家而以。就目前來說,國內使用最多的開發語言主要有這幾款:Java、PHP、Python、JavaScript、C++/C、C#等。

但上面列舉的這幾款開發語言對應的崗位需求也是不同的,從崗位需求量也能看出一款語言的普及程度與發展前景。總體上是這樣一種規律:

  • Java、PHP、JavaScript的崗位需求量很大;

  • C++/C需求量比Java、PHP等要少,但是每家大公司對於C++/C的要求較高,而且薪資也很高;

  • C#招聘需求處於墊底,越來越多的公司技術選型不會考慮它。

為什麼會這樣呢?作為一名從事開發近10年的架構師,我總結了一下原因供大家參考。

行業態勢影響技術選型

我們都知道現在是互聯網時代,所以網站、自媒體、移動端才是流量入口,而傳統桌面軟件的需求量越來越少。

所以C#這類WinForm窗體應用“偏笨重”,使用起來不如B/S類應用;C/C++過於底層;而互聯網離不開PHP、JavaScript、HTML5等輕量技術。

語言的跨平臺性很重要

語言的跨平臺性直接決定了語言的可擴展性,也會影響運維成本!在這一點上,PHP跨平臺性好、C/C++支持多平臺,而C#是依懶Windows平臺的。所以C#的可移植性最差,而C/C++移植起來要單獨處理,PHP隨時隨地跨平臺。

越簡單高效的語言越受歡迎

在上面所列的語言中,C/C++最難,C#其次。雖然C/C++功能很強大,但在開發成本上說C/C++卻不是最好的選擇,所以很多公司在成本上考慮基本不會選擇C/C++。

生態體系決定了語言熱度

什麼是“生態”呢?編程語言的生態體系主要是指這款開發語言的可擴展性、各類解決方案的成熟度。

C#因為MS公司早期的閉源定位導致了一系列問題,比如說:

  • 和Windows系統捆綁,而Windows Server又是商業付費系統,如果採用C#開發後期會涉及到正版系統的風險,軟硬件投入成本過大;

  • 當下很多成熟的技術選型並沒有C#/.NET

    版本,這也就使得它的生態較差,很多需求缺少成熟的解決方案。


綜上,PHP、JS等因其簡單高效的特性使得項目開發週期短、上手容易很受歡迎,招聘量自然很大;而C/C++開發成本過高,更適合做一些底層的東西,大公司會招此崗位;而C#因早期的閉源政策使得市場被其它語言佔領所以需求量較少。

以上就是我的觀點,對於這個問題大家是怎麼看待的呢?歡迎在下方評論區交流 ~ 我是科技領域創作者,十年互聯網從業經驗,歡迎關注我瞭解更多科技知識!

網絡圈


朋友, 科技行業千萬不要以崗位數來判斷一個開發體系的好壞, 有些"老專家"總已自己10年, 20年經驗自居, 從其回答問題的字裡行間, 真的能感受到其工作時間之長, 至今思維任然停留在當年不能自拔. IT開發, 2年不持續學習, 請出去當萌新重新入行.

IT產業的全球分工與技術選型

<strong><strong>說到開發技術的選型, 就不得不提到產業分工, 中國生產8億件襯衣換美國1架波音787, 這就是產業分工, 在軟件開發外包上同樣存在這樣的高低端分工.

題主說的 PHP / HTML / JS 崗位更多, 顯然是網站建設的崗位, 因為中國擁有世界上最多的小微企業, 在沒有 微信公眾號、頭條號、微博 等自媒體的年代, 小微企業海量的企業展示型網站快速開發需求, 因而催生了大量的相關崗位.

本人大學剛畢業時, 就在這種公司幹了2年, 掙著最微薄的收入, 維持著最低水平的生存, 1周做兩三個站, 有的只是機械式的麻木, 毫無成就感, 更不要提優越感, 同事來來走走, 公司一直在招PHP, 招聘網站上那麼多PHP崗位怎麼來的? 呵呵.

信息技術發展之迅速, 超乎想象

智能手機的崛起, 應用場景相對網頁時代是幾何數量的增加, 客戶端不再是瀏覽器, 而是一套操作系統,這給C/S兩端統一語言和開發框架提供了可能,PHP這種解釋型語言在客戶端場景越來越複雜的情況下, 侷限性就顯現出來了. 而 C# 和 Java 的編譯器優勢得到了展現.

這裡要說一下, 為了懟某些胡說八道的人, 司農寺特意去某網站大致搜了一下職位, C# 的職位數已經略多於 PHP, Java 作為一哥還是遙遙領先.

順便說一下

.Net

(C#) 的跨平臺問題

某些"老專家"總是揪著 .Net 的跨平臺性不放, 拜託有點常識, 當年不能跨平臺是因為被 Oracle 告了好吧 以及 當時 Windows 正如日中天, 而不是 .Net 設計上不能跨平臺, 一旦 Microsoft 將法律問題擺平, 它能跨平臺跨到某些人嚇一跳.

如今的 .Net 已經大致分為 .Net Framework, .Net Core 和 Mono / Xarmain 3大框架, 分別對應 Windows, Linux, Android, iOS 4大平臺, 也就是說 C# 已經成為全平臺語言. 後期大一統的 .Net 5 發佈以後, C# 將真正能做到 一次編程, 處處運行.

順便再感慨下 Java 的命運問題

不換個好爹, 前途堪憂. 面對 Microsoft 大刀闊斧的追趕, 看看我們的 Oracle 在幹什麼? Microsoft 在開源, 考慮多些免費, Oracle 在裁員, 在琢磨 JDK 怎麼收費, 創新上也完全跟不上 Microsoft 的步伐, 最為致命的是, Oracle 近年來的騷操作已經導致 Google 產生了戒心, 否則不會吃飽了撐的去弄 Go 和 Kotlin.

如果 Oracle 繼續這樣下去, 真希望 Google 把 JDK 和 Java 收了, 就是賣給 Alibaba 都比現在強.司農寺 寫於深夜, 只是實在看不下去某些自煤炭以資深自居, 向萌新灌輸過時觀念, 接受任何反駁, 但請勿帶著愚蠢的優越感, 老鐵們晚安.


司農寺



分享到:


相關文章: