2023年 StackOverflow 开发者调查报告说了啥
偶然想起,大名鼎鼎的 stackoverflow 报告一直没见过原版,关于它的信息都是二手的。虽然在这个时间点(2024 年过半)有些尴尬,但是还是有读一读的热情。报告很长,我就节选一些我感兴趣的部分做个摘录,并结合自己的印象来谈谈感受。
Developer profile
这部分是开发者画像。绝大部分调查者来自欧美+印度。其中 5 年以上经验的人占了绝大多数。角色这块,依旧是全栈、后端、前端占了前三甲。老外的全栈真的普遍,这点和国内真是显著不同。
Technology
编程语言
职业程序员,HTML/CSS、Javascript、SQL 是绝对统治级别的前三,因为有了这三样,绝大部分的网站都能开发。全栈几乎可以和这三个划等号。4-6 位也比较有意思,分别是 python、typescript、shell。Python 能处在这个位置,除了它自身的简单易用,也是它作为很多人的入门语言形成的惯性,以及它在数据分析、机器学习领域的不可替代性造成的。Typescript 的使用率能和 Python 并驾齐驱,倒是我没有想到的。我想这是因为 JavaScript 语言的流行性极大带动了 ts 的发展。最后的 shell,毫无疑问它的场景在于服务器运维,也是全栈开发者工作中必须面对的场景。未来我打算学的 Golang, 2023 年的排名在 12,落后于 C。
数据库
数据库和我现在做的工作高度相关,感受多一些。网上对数据库的分类有很多,比如 oltp 和 olap。但是我这边的分类的话,更倾向于行数据库、列数据库和混合型。当然,redis 这种内存数据库不在这个范围内。正是因为存储方式的不同,导致不同数据库产品有不同的应用场景。比如最流行的 pgsql 和 mysql,都是行存储,因此属于 oltp。clickhouse 为列存储,故为 olap。近些年更有 tidb 这种高性能数据库,可以在两种存储方式之间切换,所以既可以当作业务数据库,也可以当作分析数据库。
其实如果紧紧围绕业务和分析两大需求,还有别的解决方案。比如前司,pgsql 读写分离,一个 master 配上三个 slave,大屏这种纯分析展示的场景,就从只 读数据库去读取。不过仅仅能达到不影响主业务的程度,复杂查询对数据库的压力大,速度也慢。
上面说的其实都属于基于 SQL 查询语言的表格类型数据库。分类上与之平级的还有 nosql 数据库。其下的数据库一般和情景紧密绑定,比如 redis 在高并发、elasticsearch 在日志检索、mongodb 在松散数据存储。属于是有了这些需求,才会去用。
云平台
AWS 是遥遥领先第二的存在。AWS 几乎也成了云平台标准的制定者。比如 S3 存储,都是 AWS 最开始制定的。看来,以后想要出海工作,AWS 也是必须要接触熟悉的。
编程框架
前五名(React/Nodejs/Jquery/Angular/Express)全是基于 JavaScript,这也应证了 javascript 最流行的结果。这里面,前端框架独占其三,这说明了,前端生态圈的旺盛。
后记
这份报告比较全面,远不止上述内容。如果要阅读全文,这里给出全文链接:
2023 Devoloper Survey https://survey.stackoverflow.co/2023/#methodology