一项新的开发者调查显示,微软.NET平台的主要语言C#的受欢迎程度在三年内从第三位下滑到第六位,不过从绝对值来看,C#的使用量仍在增长,而且它在游戏开发中尤其受欢迎。研究公司Slashdata在第19份 "开发者国家状况 "报告中对全球17000多名开发者进行了调查。
研究人员特意尝试衡量编程语言用户的绝对数量,而不是像StackOverflow或Redmonk等公司的指数那样,简单地看相对受欢迎程度。
根据报告,JavaScript以1240万活跃的软件开发者数量居于榜首,其次是Python的900万,然后是Java的820万。接下来的三个都是平分秋色,C/C++为630万,PHP为610万,C#为600万。TypeScript包含在JavaScript数字中。
Slashdata将这些数据与2017年年中的数据进行了比较,指出JavaScript开发人员在此期间增加了500万,Java则增加了160万开发人员。Python自2017年以来的增长没有具体数据,但研究人员表示,在数据科学和机器学习使用量上升的推动下,仅在去年就增加了220万开发人员。
C#的表现就没那么好了。"C#在过去三年中下降了三个排位,这主要是由于它与C/C++和PHP相比增长较慢,"报告指出。"C#可能会在游戏和AR/VR开发者生态系统中维持其主导地位,但它似乎正在失去其在桌面开发中的优势--可能是由于基于Web技术的跨平台工具的出现。"
报告补充说,C#在数据科学、机器学习和移动领域最不受欢迎,只能说不温不火,而JavaScript,Java和PHP在这些领域的得分很高。
C#在游戏中的高使用率将主要归功于它在流行游戏引擎中的存在。微软最近就提到了使用C#编写脚本的Unity和CryEngine,以及MonoGame和Stride等.NET游戏引擎。
虽然微软会很高兴看到.NET在游戏开发中的流行,但它很可能会将网络和云的使用视为更具战略性的用途,因为这与盈利中的企业软件市场相一致。
不过,在这些类别中,JavaScript、Java和PHP似乎都赢得了比C#更多的开发者,尽管和以往一样,原始数据不会说明全部情况,而且企业部门有可能更倾向于C#而不是PHP等选择。
这项调查对.NET来说并不乐观,表明它在最有战略意义的市场上正在被替代品所取代,而且通过Xamarin技术在移动领域建立.NET的努力并没有赢得足够的开发者--尽管我们可以推测,如果微软没有将.NET开源,那么跨平台的C#会下滑得更多。
Slashdata还研究了云技术的使用情况,询问了开发人员的技术偏好以及采用或拒绝云技术的原因。他们发现,后端开发人员喜欢容器,采用率为60%,其次是数据库即服务(45%)和云平台即服务(32%)。容器编排也很受欢迎(27%),其中一半以上是Kubernetes。无服务器,即AWS Lambda或Azure Cloud Functions等服务占26%。但是,是什么推动了这些选择?最重要的因素是价格、支持和文档丰富程度,以及开发的易用性与速度。在Slashdata的调查结果中,性能被称为最不重要的因素。
更值得注意的是不采用云技术的原因。到目前为止,排在榜首的是价格,特别是当涉及到虚拟机基础设施作为服务时,48%的开发人员提到了价格问题,但对于其他类别,如数据库作为服务(38%)和无服务器(34%)也是如此。