为什么国内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 都比现在强.司农寺 写于深夜, 只是实在看不下去某些自煤炭以资深自居, 向萌新灌输过时观念, 接受任何反驳, 但请勿带着愚蠢的优越感, 老铁们晚安.


司农寺



分享到:


相關文章: