Stack Overflow 发布了开创性的2023年度开发人员调查报告 [1]。报告对 90,000 多名开发人员进行了调查,全面展示了当前软件开发人员的体验。接下来,本文将重点介绍几项重要发现,即重要编程语言和工具偏好、人工智能在开发工作流程中的应用以及这些趋势对 DevOps 领域可能意味着什么。
调查结果显示,越来越多的开发人员开始在线学习代码。使用在线资源学习代码的比例从 2022 年的 70% 上升到 2023 年的 80%。尽管许多开发人员(47%)仍然拥有计算机科学学士学位或同等学历,但这些趋势凸显了向其他知识解决方案发展的趋势,尤其是对于年轻的程序员而言,热门在线资源包括技术文档、博客、论坛和操作视频。
JavaScript 仍居榜首——它已连续 11 年成为最常用的编程语言。值得强调的是,Python 已取代 SQL 成为第三大编程语言。"自 2015 年以来,SQL 一直稳居前三位(JavaScript、HTML/CSS、SQL),因此它跌落到 Python 下面是件大事,"Liuzzo 说。"根据我们公共网站上的提问数量,我们已经看到 Python 的受欢迎程度在上升,所以我们一直在期待一些变化。"
过去几年,TypeScript 和 Bash/Shell 的使用率也在持续增长。这两种语言涉及其他流行编程语言的功能,因此它们在程序员中非常受欢迎。
PostgreSQL 也超过 MySQL 成为最常用的数据库类型。在网络框架方面,Node.js 和 React.js 是最主要的。其他如 jQuery 和 ASP.NET 框架,则有过时趋势,可能是因为它们是较老的网络框架。
新人工智能创新的爆发,例如大型语言模型(LLM)和聊天驱动的生成人工智能工具,对今年的技术发现产生了重大影响。事实上,83% 的受访者在过去一年中使用过 ChatGPT。其次是 Bing AI(20.6%)、WolframAlpha(13.36%)和 Google Bard AI(9.86%)。GitHub Copilot 被评为最常用的人工智能开发工具。
在学习编码的人群中,使用人工智能工具的人数明显激增,他们通常关注到的是加快学习速度、提高生产力和效率等好处。将其与他们目前如何使用 AI 工具进行调试和获取帮助 (68%) 以及了解代码库 (50%) 相结合,报告发现其中的共同点是 AI 工具能促进学习。
尽管如此,人们还是对人工智能的准确性持怀疑态度,只有 13% 的人认为提高编码准确性是使用此类工具的好处。虽然这些痛点可能会随着 LLM 的发展而得到解决,但就目前而言,仍需要人类的判断来捕捉错误和避免误用。
那么对于 DevOps 领域的从业人员,即 DevOps 工具提供商和平台工程师来说,有哪些启示呢?新的工具偏好和习惯将继续以新的方式在 DevOps 领域发展。下面是一些可参考的示例:
更多基于 Markdown 的协作。Markdown 是最热门的异步工具,今年的受欢迎程度有增无减。新程序员们正在将 Markdown、GitHub Discussions 和 Notion 融合到他们的异步工具中。Markdown 的各种版本已被用于注释、合并请求、问题等用途。
继续依赖 Docker。Docker 仍然是使用率最高的工具,其次是 npm 和 Pip。尽管托管容器服务兴起,但 Docker 仍是打包和发布软件的流行方式。
三大巨头格局依旧。亚马逊网络服务(AWS)仍然是使用率最高的云平台,占 48.62%。紧随其后的是微软 Azure(26.03%)和谷歌云(23.86%)。不过值得关注的是,较新的开发人员希望更多地使用 Hetzner 和 Vercel。
在线学习对知识共享至关重要。鉴于新程序员人数的稳步增长,以及他们对在线资源而非传统学校教育的依赖,DevOps 和开源社区应通过使工具文档和教程等知识易于获取,努力增强其在线影响力。
最后,生成式人工智能将在许多领域增强编程能力,并且已经被嵌入到许多环境中。正如人工智能可用于代码生成和调试一样,LLM 也可能会协助 DevOps 方面的工作,帮助实现 CI/CD 流水线自动化、优化基础设施、检测异常情况,并提供更多聊天界面来易于启动这些功能。
“人工智能工具正在增强学习能力,并使学习新兴技术变得更加容易,”Liuzzo说:“生成式人工智能将使编码的门槛降低,让开发人员社区成数倍增长。越来越多的开发人员将使用这些工具,并在学习过程中验证和确认输出结果,从而将开发人员社区的力量和人工智能的技术力量结合在一起。”
原文链接:
https://devops.com/key-insights-from-the-stack-overflow-2023-developer-survey/
参考链接:
[1] https://survey.stackoverflow.co/2023/#overview