Haskell 是一门纯函数式编程语言,近日有开发者发布了一份“2019 年 Haskell 现状调查报告”,调查涉及 Haskell 生态的方方面面,包括开发者使用 Haskell 的情况、Haskell 工具链使用情况与 Haskell 社区建设情况等。
该调查一共收集了 1211 份反馈,这些反馈的人大部分都使用过Haskell(89%)。这里简单介绍一下报告中几个值得关注的亮点。
为什么不使用 Haskell?
占最多数的情况是公司不使用 Haskell,而其它人的理由则多与 Haskell 的生态相关,比如文档、软件包和工具不完善等。
在工作中使用 Haskell 吗?
可以看到参与调查的大多数人在工作中使用 Haskell,而为什么不在工作中使用 Haskell 呢?他们的回答是这样的:
除了前边说到的公司不支持和软件生态上的原因,很难招到 Haskell 工程师也是一大因素。
能熟练使用 Haskell 以外的其它哪些编程语言?
使用 Haskell 开发哪种类型的软件?
CLI 程序和 API 服务最受欢迎,这也意味着它们通常拥有可用的最佳软件包和完善的文档,说到底也是小生态。
在哪些行业使用 Haskell?
Web 继续占据主导地位,其次分别是金融和教育,其它类中最受欢迎的是加密货币、学术界/研究/科学和安全性等领域。
在哪个平台上开发 Haskell?
部署到哪些平台?
很明显,开发与部署平台都是 Linux 领先于其它平台。
使用哪些 Haskell 编译器?
默认启用哪些语言扩展?
使用 Haskell 时使用哪些构建工具?
Nix 使用率有所上涨。
使用 Haskell 时使用哪些编辑器?
一般来说关于编辑器的选择会有两大阵营,基于终端和基于图形。Vi 和 Emacs 一如既往地受欢迎,VS Code 数据在不断上涨,而 Atom 的受欢迎程度则持续下降。发起这个调查并发布报告的作者猜测是因为 Atom 用户放弃Atom导致的,实际上他的猜测应该是准确的,前几天 Facebook 才宣布默认开发环境采用VS Code,而不再是原来的 Nuclide/Atom-IDE。
并且,如果 VS Code 继续以这种速度发展,那估计它明年将超越 Vi 与 Emacs,成为使用 Haskell 的开发者最常用的编辑器。
对 Haskell 项目使用什么版本控制系统?
Git 大势,而 Mercurial 则式微,根据 Stack Overflow 开发人员调查,近 90% 的开发人员使用 Git,而 Mercurial 是最不受欢迎的版本控制系统,只有约 3% 的开发人员采用。相关内容可以查看:
Bitbucket 宣布全面转向 Git
OpenJDK 之后,OpenJFX 也要从Mercurial 迁移到 Git
通过什么渠道与 Haskell 社区互动?
Slack 第一次超过 IRC。
此外,不见微信、QQ,这也不难理解,参与调查的开发者的居住地分布情况这样的:
(后边的数据没有截进来)其中来自中国的只有 10 人。
希望看到以下 Haskell 主题中的哪些内容?
Haskell 用户希望看到更多有关最佳实践、设计模式、应用架构,库实战、性能分析与工具选择相关的文章。
完整报告查看:https://taylor.fausak.me