最近,国外著名的技术问答社区Stack Oeverflow发布了一个技术报告,里面包含了关于开发者对于技术好恶程度的调研结果,非常有意思,InfoQ也做了相关的新闻报道,不过里面更多的是数据,缺少了数据背后的分析,希望这篇文章能够结合数据来探讨其背后的原因、启示等等,对开发者有所帮助。

\u0026#xD;\n\u0026#xD;\n

先说说这篇报告的代表性,据说,Stack Overflow的问卷调查在今年2月份通过它们的网站进行,内容为全英文,并且在各大社交媒体上进行广告宣传。来自总共157个国家的超过2万6千名开发者回答了问卷中的45个问题。虽然,Stack Overflow特别提示大家其调查结果无法全面准确地反映出全球各种开发者的真实情况,但我却认为其结果很具有代表性,试想哪个开发者问卷能够获得如此多的采集样本,其反应的趋势和问题值得我们认真的分析和思考。

\u0026#xD;\n\u0026#xD;\n

接下来,让我们看看编程语言(也包括部分框架)在开发者中的使用程度。 看这张图:

\u0026#xD;\n\u0026#xD;\n

\u0026#xD;\n\u0026#xD;\n

解读:

\u0026#xD;\n\u0026#xD;\n

  • 排在第一位的是JavaScript,情理之中又意料之外。居首位的不是传统的服务器端语言Java或者C#,而是JavaScript,这充分反映了如今前端开发者的重要地位,首先,用户体验在过去几年被各个公司提到了前所未有的高度,导致前端领域的语言、框架、社区都得到了快速的发展。关注前端的人多了,JavaScript的开发者自然也多了。第二点,“前端语言后端化”的进程在加速,以前,JavaScript只作为一种前端的语言存在,而随着Node.js技术和“全栈工程师”出现,JavaScript被越来越多地应用到后端服务器场景中,并且表现不错,所以JavaScript的领地又扩大了不少。第三点,移动互联网的发展,虽然iOS有Object-C、Android有Java,但是为了兼容各个平台,技术社区冒出了很多跨平台的移动开发框架,其中核心的语言就是JavaScript,加上HTML5的成熟,混合应用的不断出现,JavaScript在移动开发领域也占据了一席之地。由此,我们可以看出JavaScript超过50%的开发者使用率是实至名归,也是大势所趋,虽然现在有些新的前端语言比如Dart出现,但根本无法撼动JavaScript在未来5年的地位,新兴语言更多地选择了最终转化成JavaScript来运行。虽然JavaScript语言并不十分漂亮,存在各种问题,但时代给了它发展的好机会,被社区推动着向前发展。对于开发者来说,不论是前端还是后端,掌握JavaScript,都是不错的技术投资。\u0026#xD;\n\t
  • SQL排在第二位,其实这让我心情有些复杂。一方面说明开发者平时都与数据库打交道,而且人数众多;另一方面,我不太提倡大家在日常开发中自己写SQL、做数据库相关的编码。因为,以我个人的经验包括和一些性能分析专家、APM厂商交流的结果,软件产品或者应用中最突出的性能问题往往来自于拙劣的SQL语句、调用、资源处置等。这些问题往往都是一些普通的开发者制造的。我的建议是,大家可以懂一些SQL知识,但是在实际工作中,最好由团队的数据库专家(如果没有的话,最好马上指定并培养一位)来搭建数据库相关的代码框架、规则,然后根据你的需求,由数据库专家来编写实际的SQL代码和相关调用,避免出现严重的性能问题。\u0026#xD;\n\t
  • 第三、四位分别是Java和C#,这两位总是结对出现在各种场合,而且往往排在前面的是Java。今年是Java诞生20周年,这么多年来,Java经历了很多,也出现了很多的竞争对手,但现在依然是服务器端语言的首选。在移动互联网时代,Java又依靠Android平台抓住了开发者,这几年,Java的发展更多的依靠于社区,并且在不断推出新的语言特性,追赶新语言。不管怎样,20岁的Java,优势在于成熟的社区和环境,中规中矩,依然值得开发者学习和关注。说到C#,不如说说.NET家族,如今的微软越来越开放,今年开源.NET,在社区中也是引起了重点关注。前几天,我和一位.NET社区的媒体编辑聊天,他说C#在国内的使用者其实很多,大部分高校都用的是免费的Visual Studio,所以学生们都用的是.NET平台,不过毕业之后相当一部分人因为工作的需要换成了Java或者其他语言。由此也可以看出,.NET的群众基础不错,企业级开发市场也有一定的市场份额,接下来要在互联网、移动互联网开发方面发力了。最近,Windows 10在中国的落地也很有新意,和360、小米、联想、腾讯等合作为用户升级操作系统,而且不论盗版与否。所以,C#的前景值得期待。\u0026#xD;\n\t
  • PHP,排在第5位,老当益壮的Web开发语言,没什么可说的,Web开发者的必备技能之一,致敬。\u0026#xD;\n\t
  • 第6-8位的是Python、C++和C语言。Python语言很低调,它的位置比较靠前,也反映出了目前运维、云平台等领域对脚本语言的强烈需求,Python又一次找到了自己大施拳脚的地方。作为曾经的Python应用开发者和粉丝,我想说,Python干得漂亮。C++和C作为系统级开发语言,其江湖地位一直无人能敌,不过也基本无人想涉足竞争,所以一直保持不温不火的状态。\u0026#xD;\n\t
  • 第9-12位的是Node.js、AngularJS、Ruby、Object-C。Node.js和AngularJS作为这几年发展最迅速的技术框架,已经被当成了“语言”来对待,由此可见其领先的地位,开发者此时上船还不晚。Ruby作为一门“亚洲语言”发展势头不减。得益于苹果产品的大热,Object-C成为iOS开发者的首选,当然未来要看Swfit语言的发展情况。\u0026#xD;\n

说完了每个语言,我们再总体看一下趋势。对比2013和2014年的调查结果,今年的报告显示大多数语言开发者使用率都有所降低,这表明主力语言正在受到各种新语言、新技术的影响和冲击,开发者的选择越来越多,一方面是好事,另一方面也会导致“选择焦虑症”,技术选型成为开发者经常头疼的问题之一。

\u0026#xD;\n\u0026#xD;\n

接下来,我们看另外一张图。

\u0026#xD;\n\u0026#xD;\n

\u0026#xD;\n\u0026#xD;\n

我想首先解释一下表格中的三列含义,第一列表示开发者在使用某项技术或者语言时对其喜爱的程度;第二列表示开发者在使用某项技术或者语言时对其讨厌的程度;第三列表示开发者还没有使用但是想要使用某项技术或者语言的程度。

\u0026#xD;\n\u0026#xD;\n

先来看喜爱程度排行榜,不出意外,基本上都是新语言或者老语言的新版本,像Swift、C++11、Rust、Go,都属于比较小众的语言,但也代表了技术未来的趋势,一方面说明正是这些新语言的特性吸引了开发者,另一方面也说明亲身实践的开发者也对这些语言表示了赞许。没有上榜或者排名比较靠后的新语言说明不太得人心,开发者们要小心了。

\u0026#xD;\n\u0026#xD;\n

接下来是讨厌程度排行榜,榜单上的名字(Salesforce、VB、Matlab、Perl)只能说让开发者又爱又恨,这些语言或者技术之所以上榜,一方面说明其行业地位优势明显,开发者不得不用;另一方面,问题有很多,让开发者很不爽。所以对于榜单上的名字,我们一方面要祝贺它们:你们很牛,是业界的佼佼者,大家都要用你们的东西;另一方面,我们也需要提醒它们:要不断的优化和改进,要聆听开发者的声音,不然竞争对手会抢走开发者的心。

\u0026#xD;\n\u0026#xD;\n

第三列同样反映了技术趋势。这些是开发者最想学习的技术或者语言,包括Android、Javascript、Python、Node.js、Java、iOS、Swift等,看看这里面有没有你想要学习的东西?如果没有,那就要思考一下自己的方向有没有问题。

\u0026#xD;\n\u0026#xD;\n

其实关于这个报告的解读应该到这里结束了,但是考虑到目前移动开发者特别多,而且报告中多次提到了iOS、Android、Java、Object-C、Swfit语言等,所以我引用另一份VisionMobile的移动开发报告把移动开发的语言、收入等情况再展开说一下。

\u0026#xD;\n\u0026#xD;\n

从平台来看,iOS在高端市场仍占据领先位置。

\u0026#xD;\n\u0026#xD;\n

  • 占据54%的开发者份额\u0026#xD;\n\t
  • 37%的全职开发人员将iOS作为首选平台\u0026#xD;\n

Android则在中低端市场占据霸主地位,几乎达到“几乎人手一部Android手机”的程度。

\u0026#xD;\n\u0026#xD;\n

  • 在开发者份额方面,安卓占据了70%的份额\u0026#xD;\n\t
  • 40%的职业开发者将安卓作为首选平台\u0026#xD;\n\t
  • 在美国和欧洲以外地区,安卓则占据74%的开发者份额,并且有48%的开发者将其作为主平台\u0026#xD;\n

当然还有Windows Phone,与2013年3季度的21%相比,Windows Phone的开发者占有率有所增长,达到30%,不过调研中也指出Windows Phone的市场份额很小,只有3%。报告中提到“美国最大的两家银行——摩根大通和美国银行,已经失去耐心决定从微软平台上下架他们的应用”,不过“相比于安卓平台,这种大品牌应用的差距让独立开发者能够获得更多的曝光机会并且能够为他们带来更多的收入。”作为开发者首选平台,Windows Phone的份额稍有增长,从2013年的4.5%增长到8%。

\u0026#xD;\n\u0026#xD;\n

Swift的前景如何呢?看看报告中是咋说的。

\u0026#xD;\n\u0026#xD;\n

作为iOS平台的首选语言,Objective-C目前拥有39%的开发者份额。比较有趣的是,只有42%的首选平台为iOS的开发者将Objective-C作为首选语言。其他的开发者则将混合或跨平台解决方案(56%)或Swift(2%)作为首选。

\u0026#xD;\n\u0026#xD;\n

Swift,苹果在iOS平台上的新语言,由于其刚刚发布几个月就有如此“空前的”采用水平,在这次的报告中获得了单独一章的篇幅。全部的开发者中有20%使用Swift,2%将其作为首选语言。48%的Swift采用者同时也使用Objective-C,但是并未作为首选语言,而23%的采用者并未使用Objective-C。这被看作是“一个对苹果有利的信号”因为“它能够在将来带来更多真正原生的应用”。剩余29%的Swift早期采用者已经将Objective-C作为他们的首选程序设计语言。

\u0026#xD;\n\u0026#xD;\n

从平台的角度比较,iOS平台的开发者的收入最高,其次是HTML5和安卓的开发者。61%的iOS平台开发者每月收入小于$5k,而HTML5开发者的这一比例是71%,安卓是81%。iOS开发者比安卓开发者收入更丰厚的同时,他们在软硬件方面的支出也更高一些,这让两个平台之间的差异有所减少。

\u0026#xD;\n\u0026#xD;\n

64%的开发者的首要目标市场是消费者市场,只有20%的开发者将企业市场看做他们的主要市场。不过在收入方面,只有19%的消费者应用开发者每月收入高于$10k,而企业应用开发者的这一比例是43%。

\u0026#xD;\n\u0026#xD;\n

作者的微信公众号“老崔瞎编”,关注IT趋势,承载前沿、深入、有温度的内容。感兴趣的读者可以搜索ID:laocuixiabian,或者扫描下方二维码加关注。

\u0026#xD;\n\u0026#xD;\n

\u0026#xD;\n\u0026#xD;\n

Stack Overflow技术报告给开发者哪些启示相关推荐

  1. 独立产品灵感周刊 DecoHack #019 - Stack Overflow 发布2022 年度开发者调查结果

    本周刊记录有趣好玩的独立产品设计开发相关内容,每周发布,感兴趣的伙伴可以点击订阅我的周刊.为保证每期都能收到建议邮件订阅.欢迎通过 Twitter 私信推荐或投稿. 产品推荐 1. Music For ...

  2. Stack Overflow Developer Survey 2016 Results(2016stack overflow 开发者调查报告)

    Overview总览 This year, over fifty thousand developers shared where they work, what they build, and wh ...

  3. 访问量最高超7百万的Stack Overflow问题竟然是...

    整理 | Jane 出品 | AI科技大本营(公众号id:rgznai100) Stack Overflow,一个面向开发者的 IT 技术问答网站,很多程序员都会在上面提问,浏览问题,查找技术知识.在 ...

  4. Python超越Java,Rust持续称王!Stack Overflow 2019开发者报告

    点击上方↑↑↑蓝字关注我们~ 「2019 Python开发者日」明日开启,扫码咨询 ↑↑↑ 作者 | 郭芮 出品 | CSDN(ID:CSDNnews) 导语:2019 年 Stack Overflo ...

  5. Stack Overflow 2021开发者调查报告 - 数据库篇!

    点击上方"蓝字" 关注我们,享更多干货! Stack Overflow 在今年 5-6 月进行了面向开发者的年度调查.近日,调查的报告结果正式公布.这份调查报告涉及到了许多方面的内 ...

  6. Python 狠甩 Java,Rust 持续称王!揭晓Stack Overflow 2019 开发者报告

    2019 年 Stack Overflow 开发者调查报告最新出炉了!今年,近 90,000 名开发人员参与了调查,共同分享学习.工具以及未来技术规划上的经验. 程序员有很多必备的技能网站,Stack ...

  7. Java老矣,尚能饭否?——Stack Overflow 2018 开发者调查报告出炉

    原文:地址 Stack Overflow作为全球最大的程序设计领域的问答网站,每年都会出据一份开发者调查报告.近日,Stack Overflow公布了其第八次年度开发者调查报告(https://ins ...

  8. Stack Overflow 2022 开发者调查报告出炉啦

    Stack Overflow 2022 开发者调查报告现已出炉. Stack Overflow 年度开发者调查是面向全球开发者进行的规模最大.最全面的调查,调查涵盖了从开发者喜爱的技术到工作偏好等内容 ...

  9. Stack Overflow 2018 机器学习报告;Fuchsia 将支持运行 Linux 应用程序

    (点击上方蓝字,快速关注我们) 转自:开源中国.solidot.cnBeta.腾讯科技等 0.从 Stack Overflow 2018 调查报告看机器学习发展趋势 Stack Overflow 的数 ...

最新文章

  1. 50 行 Python 代码,带你追到最心爱的人
  2. 上如何刻字_如何用简单的方法在零件表面刻字:这里就有你想要的答案
  3. linux grep 显示多行信息
  4. 西南石油大学计算机科学院信息,梁宗文 - 西南石油大学 - 计算机科学学院
  5. ggplot2设置坐标轴范围_ggplot2画图时出现重合的点以及标签如何处理?有现成的包ggrepel
  6. 免费和开源世界里面有很多好的邮件服务器
  7. freerdp linux下连接windows远程终端工具
  8. Android viewpager 嵌套 viewpager滑动 点击事件冲突解决方案
  9. Android Java编写布局
  10. python实现前向匹配中查找最大长度的最高重复模式的子字符串
  11. 单目摄像机标定与双目摄像机标定有什么区别
  12. python注释快捷_python注释快捷键
  13. ISO26262道路车辆功能安全标准-(1)适用范围
  14. iOS -显示隐藏文件
  15. 针对所维修的计算机 维修人员必须,医院各科室电脑管理制度_医院临床科室管理制度...
  16. Cisco思科交换机 入门 - 查看和更改交换机系统时间
  17. 《设计模式》- GoF
  18. IIS中FTP登陆用户名密码都对但进不去的另一种原因
  19. java 验证码_java实现简单的验证码功能
  20. 如何在网上调研某公司背景及项目情况

热门文章

  1. 小程序 php json,微信小程序如何获取php传来json值
  2. c语言和java哪个有前途_C/C++和JAVA哪个更有前途呢?
  3. Python(IT峰)笔记05-数据类型详解:字符串、转义字符,字符串操作,字符串格式化,英文字符,字符串查找,字符串操作
  4. oracle11g数据库已关闭,oracle数据库已关闭
  5. 2022年全国技能大赛云计算 RocketChat聊天系统上云
  6. 干货 | 区块链的可扩展性问题及解决方案对比
  7. 是时候选择诺基亚Windows Phone手机
  8. FCKeditor源代码分析(一)-----fckeditor.js的中文注释分析(原创)
  9. 多国警察部队逮捕12名黑客嫌疑人,曾发起 1800 多次勒索软件攻击
  10. linux内存管理页面,【原创】(七)Linux内存管理 - zoned page frame allocator - 2