Clojure 发布年度调查报告:用于开发企业软件的比例历史最高
Clojure 昨日发布了 2020 年度调查报告。官方表示,通过今年的调查能看到越来越多的开发者在工作中使用 Clojure、对 Clojure 关键价值主张的持续关注以及不断发展的用户社区。
Clojure 的使用场景
受访者在被问及使用 Clojure 的场景时,答案包括工作、业余项目、修复错误以及学习研究。不过从今年的结果来看,开发者在工作中使用 Clojure 所占百分比最高:
此外,从下图可以看到,在使用 Clojure 的公司中,规模较大的公司(1000+ 员工)所占的比例增加了大约 3%,而小公司(1-10 员工)则有所减少。
受访者在被问及组织中有多少人在使用 Clojure 时。不出所料,许多 Clojure 团队的规模都非常小(小于 10 人)。不过作为一个具有高附加值的工具,Clojure 确实非常适合小型且高生产力团队。而且具有 40+ Clojure 开发者的组织也不在少数。
在被问及 Clojure 的使用领域时,Web 开发和开源项目依然保持着一直以来的热度,不够我们也看到今年“企业软件”有了显著增长,达到了有史以来最高的水平,这说明更多的开发者乃至公司愿意尝试使用 Clojure 开发企业软件。
社区
调查结果显示,Clojure 开发者最活跃的社区分别是:Clojurians Slack、Reddit 的 clojure 子版块和 StackOverflow。
受访者在被问及如何参与建设 Clojure 生态系统时,通过维护开源项目的方式进行贡献所占比例最大。
开发工具和语言版本相关
又到了喜闻乐见的开发工具和语言版本环节,首先是 Clojure 开发者主力使用的系统,不出所料,macOS 是领先者(55%),其次是 Linux(35%)和 Windows(9%):
至于主力开发工具,今年的数据出现了细微的变化。Emacs 虽然还是大多数开发者的主力工具,不过其比例出现了略微下降(43%),IntelliJ/Cursive 则略微上升至 32%。值得注意的是 VS Code,它的增长最大,直接飙升至 10%,甚至超越了 Vim。
开发工具不止编写代码的工具,还有“构建工具”也值得关注。由于在之前的调查中都是单选项,无法反映开发者如何管理 Clojure 项目,因为他们可以在此过程中的不同阶段使用多种工具,特别是在 Clojure/ClojureScript 混合项目中。为此,今年的调查针对依赖管理的问题进行了更紧密的调整,并提供了多选项,结果如下:
可以看到,Leiningen 的使用量迅速增加,而 clj/deps.edn 也在稳定增加。另外,在 ClojureScript Together 的大力支持下,shadow-cljs 也为开发 ClojureScript 项目提供了极大支持。
Clojure 是运行在 Java 平台上的现代、动态及函数式 LISP 方言,受访者在被问及所使用的目标 Java 版本时,Java 8 依旧是被使用最多的版本,其次是 Java 11,两者均为 LTS 版本。毕竟 Clojure 本身已经使用 Java 8 作为基准 JVM 已有两年,并将继续保持(当然会同时支持 Java 的较新版本)。官方建议运行 Clojure 时使用 Java 8 或 11。
至于开发者使用的 Clojure 版本,Clojure 1.10.0 和 1.10.1 是最受欢迎的两个,后者是今年发布的维护版本,在 Clojure 1.10.0 的基础上改进了错误处理,并缓解了 Java 8u201 及更新的版本中某些 Java 性能下降的问题。
最后,本次调查还增加了一个新问题,即受访者如何在生产环境中启动其应用程序。结果如下:
大多数用户正在使用诸如 Leiningen 或 clj 之类的启动器来启动其生产应用程序,而不是通过构建 jar 或 uberjars 并直接使用 Java 启动它们。此外,还看到一部分开发者在尝试使用 Graal 原生映像(在较小的脚本应用程序中很常见)。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
微软发布 Linux 版本 Microsoft Defender ATP,并计划将其引入 Android 等移动端
微软已经发布了适用于 Linux 的 Microsoft Defender ATP 的公开预览版。需要区分的是,MicrosoftDefender 是微软的安全杀毒软件,而Defender ATP(高级威胁防护)是一个企业级平台,旨在帮助企业网络阻止、检测、调查和响应高级威胁。 现在,可在六种不同的 Linux 发行版中测试该产品,分别是RHEL 7+、CentOS Linux 7+、Ubuntu 16 LTS+、SLES 12+、Debian 9+ 和 Oracle EL7。 除此之外,微软还宣布计划将Defender ATP 引入 iOS 和 Android 设备。 微软副总裁Rob Lefferts 在接受采访时表示,尽管 Apple 和 Google 的应用商店的都相当安全,但还是有不少恶意软件存在,因为软件可以不通过官方渠道安装。他认为Defender 能够帮助用户免受移动设备上恶意软件和网络钓鱼攻击的侵害。 目前关于Microsoft Defender ATP的iOS 和 Android 版本还没有更多详细信息,微软将在下周的 RSA 大会上展示移动端的工作进展。
- 下一篇
在RedisTemplate中使用scan代替keys指令
SCAN 简介 SCAN命令及其相关的SSCAN命令、HSCAN命令和ZSCAN命令都用于增量地迭代(incrementally iterate)一集元素(a collection of elements): SCAN命令用于迭代当前数据库中的数据库键。 SSCAN命令用于迭代集合键中的元素。 HSCAN命令用于迭代哈希键中的键值对。 ZSCAN命令用于迭代有序集合中的元素(包括元素成员和元素分值)。 基本用法可以参考:http://doc.redisfans.com/key/scan.html SCAN和KEYS的区别 当KEYS命令被用于处理一个大的数据库时, 又或者SMEMBERS命令被用于处理一个大的集合键时, 它们可能会阻塞服务器达数秒之久。在高并发下会导致请求大量堆积进而导致服务雪崩。有些公司在生产环境直接禁用kyes *命令。但是在redis服务器key的数量不大的情况下,使用keys也是没啥问题的。 SCAN命令及其相关的SSCAN命令、HSCAN命令和ZSCAN命令都用于增量地迭代 ,它们每次执行都只会返回少量元素,不会阻塞服务器, 所以这些命令可以用于生产环境, 而...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS8编译安装MySQL8.0.19
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Hadoop3单机部署,实现最简伪集群
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果