出品
开源中国
StackOverflow开发者调查报告现已出炉。StackOverflow年度开发者调查是面向全球开发者进行的规模最大、最全面的调查,调查涵盖了从开发者喜爱的技术到工作偏好等内容。年是StackOverflow发布年度开发者调查报告的第十二年,有来自个国家/地区的多名开发人员参与了这个调查。其中,依旧是来自美国和印度的受访者数量最多,其次是德国和UKI(英国和爱尔兰);仅有份调查反馈来自中国开发者,占比为0.88%。
此次调查的一些亮点内容如下:
在线学习编程的比例从60%上升到了70%,45岁以上的受访者喜欢从书本上学习知识,年轻人(18岁以下)依赖在线学习与资源。
Docker似乎正在成为专业开发人员的基本工具,从55%增加到69%。
Rust已连续第七年成为最受喜爱的语言,87%的开发人员表示他们希望继续使用它。
Phoenix取代Svelte成为最受欢迎的Web框架。Angular.js连续三年成为开发者最讨厌的框架,React.js连续五年成为开发者最想学习的框架。
Docker和Kubernetes分别位列最受喜爱和想要学习的工具第一和第二位。大家想要使用Docker的意愿似乎并未放缓,从去年的30%增加到了今年的37%。
Clojure仍然是已知最高收入的语言。Chef开发人员薪水最高,但它也是开发者最不喜欢的工具之一。
69%的受访者从事全职工作,相较去年上升了4个百分点。
85%的开发人员表示,他们的组织至少部分是支持远程的。
62%的受访者每天花费超过30分钟寻找问题的答案或解决方案,还有25%的人每天花费超过一个小时。对于一个由50名开发人员组成的团队来说,整个团队每周花费在搜索答案/解决方案上的时间总计-小时。
最流行的技术
编程、脚本和标记语言
专业开发人员最常用的前五名语言没有变化;JavaScript连续第十年成为最流行的编程语言。但报告指出,对于那些正在学习编程的人来说,HTML/CSS、Javascript和Python几乎并列成为最常用的语言。还在学习阶段的人比专业开发者更有可能使用Python(58%对44%)、C++(35%对20%)和C(32%对17%)。与专业开发人员相比,尚在学习编程的人则更少使用SQL(38%对53%)、TypeScript(15%对40%)和Bash/Shell(19%对29%)。
数据库
总体而言,MySQL依然是最受欢迎的的数据库。但在专业开发者群体中,PostgreSQL(46.48%)已经超越MySQL(45.68%)夺得了第一名。专业开发者比正在学习编程的人更有可能使用Redis、PostgreSQL、MicrosoftSQLServer和Elasticsearch。
MongoDB在两类群体中的使用比例则相似,且它是初学者群体中第二受欢迎的数据库(仅次于MySQL)。“这很合理,因为它支持大量的语言和应用开发平台。”
云平台
AWS仍然是最常用的云平台,MicrosoftAzure超越GoogleCloud中夺得第二名的位置。
Web框架和技术
Node.js和React.js是最常用的两种Web技术。使用Angular的专业开发人员比初学者要多(23%对10%),ASP.NET(16%对10%)和ASP.NETCore(21%对10%)也是。
其他框架和库
在机器学习方面,TensorFlow仍然比PyTorch更受欢迎,Scikit-learn紧随TensorFlow之后。Flutter和ReactNative是两个最受欢迎的跨平台工具。初学者比专业开发者更有可能使用NumPy(43%vs24%)和Pandas(35%vs22%),以及更可能使用TensorFlow(18%vs11%)和Scikit-learn(17%vs11%)。
其他工具
去年的报告指出,Git是作为一个开发者的基本工具。但在今年,Docker似乎正在成为专业开发者的一个类似的基本工具,其占比从55%增加到了69%。
集成开发环境
VisualStudioCode仍然是所有开发人员的首选IDE。PyCharm更多地被初学者使用(26%对16%),而Vim则更多地被专业开发人员使用(24%对16%)。
异步工具
同步工具
操作系统
Windows是最受开发人员欢迎的操作系统,适用于个人和专业用途。基于Linux的操作系统比macOS更受欢迎;报告称,这彰显了使用开源软件的吸引力。
最喜爱、最恐惧、最想学习的技术
编程、脚本和标记语言
Rust连续第七年成为最受喜爱的编程语言,87%的开发人员表示他们希望继续使用它。
▲最喜爱、最恐惧的语言
▲最想学习的语言
数据库
在Redis霸榜五年后,PostgreSQL成功夺得最受喜爱和最想学习的数据库位置。IBMDB2连续第三年成为最令人恐惧的数据库。
云平台
AWS不仅是最常用的云平台,也是开发者最受喜爱和最想学习的云平台。
Web框架和技术
Phoenix取代Svelte成为最受喜爱的Web框架。Angular.js已经连续三年喜爱度垫底,React.js连续五年成为开发者最想学习的框架。
其他框架和库
HuggingFaceTransformers是最受喜爱的库,Tensorflow最想被学习的。
其他工具
Docker和Kubernetes分别位列最受喜爱和想要学习的工具第一和第二位。77%的用户喜欢Docker,75%的用户喜欢Kubernetes;37%的用户希望使用Docker,24%的用户希望使用Kubernetes。
集成开发环境
Neovim连续第二年成为最受喜爱的编辑器,VisualStudioCode紧随其后。不过VisualStudioCode是大家最想学习的工具,其次是AndroidStudio。
使用过和希望使用的技术
编程、脚本和标记语言
与去年类似,有超过1万名Javascript开发人员表示希望开始或继续使用Go或Rust进行开发。
数据库
有名MySQL开发者想使用PostgreSQL工作,以及名MySQL开发者想使用MongoDB工作。
云平台
与年类似,有大量AWS开发人员希望在GoogleCloud或MicrosoftAzure中进行开发。
Web框架和技术
有名使用Node.js的开发人员想要使用React.js。
高薪酬的技术
编程、脚本和标记语言
数据库
Web框架
平均而言,年至年间,工资中位数增长了约23%。Flow、COBOL、Couchbase和IBMCloud/Watson的工资同比增幅最大。
此外,与具有相同经验的其他语言相比,PHP开发人员的薪水仍然过低。