跳至内容
GitHub 仓库 论坛 RSS 新闻提要

Crystal 2017 年调查结果

Serdar Doğruyol

今年,Crystal 团队发布了第一份官方的 Crystal 状态调查。我们对社区的精彩反馈感到惊讶。

我们收到了 **757 份回复**。非常感谢所有抽出时间回复的人!我们尽力阅读了大家的所有评论和建议。

话不多说,让我们看看结果。

你是怎么发现 Crystal 的?

19.9% Google 或其他搜索引擎,19.4% HackerNews,15.6% Reddit,10.9% Twitter (悬停以获取更多信息)

我们想了解你是如何发现 Crystal 的,并且惊讶地发现你们中的许多人通过搜索引擎找到了 Crystal。另一方面,我们证实了 HackerNews 和 Reddit 对像 Crystal 这样年轻且小型的项目的重要性。社区中的人不时会发布一些关于 Crystal 的有趣内容,这篇文章会被传到 HN 和 Reddit 的首页,并在接下来的几天里,我们会在不同的社区频道上注意到一股新用户和贡献者的浪潮。

使用 Crystal

47.2% 是,我正在使用 Crystal 进行爱好项目,32.1% 否,但我计划使用 Crystal,10.7% 否,我没有使用 Crystal,9.9% 是,我在生产环境中使用 Crystal (悬停以获取更多信息)

从这些数字中,我们可以看到一个更深层的含义,这与我们在关于 Crystal 的非正式讨论中听到的内容一致:社区渴望开始在生产环境中使用这种语言,但正在等待项目发出的更多明确信号。社区中相当一部分人并不介意这一点,并相信生态系统足以让他们迈出这一步。

34.7% 少于一个月,19% 超过 12 个月,18.9% 1-3 个月,15.2% 3-6 个月 (悬停以获取更多信息)

Crystal 社区正在快速增长。我们拥有一个稳步增长的用户群,每周都有许多新的 Crystal 开发人员加入。

63.1% 少于 1000 行,23% 1000 到 10000 行,11.5% 不确定,2% 10000 到 100000 行 (悬停以获取更多信息)

大多数当前的 Crystal 项目少于 1000 行,但也有 17 个项目在 10000 到 100000 行之间。

46.6% 是,32.9% 不确定,11.9% 否,8.9% 不适用 (悬停以获取更多信息)

Crystal 非常棒,我们知道你们中的许多人非常乐意在日常工作中使用它 :)

您或您的公司在工作中如何使用 Crystal?

220 人回答了这个问题。以下是对公司如何使用 Crystal 的最常见答案

  • 微服务
  • CPU 性能密集型应用
  • CLI 工具
  • 后台工作进程
  • 大数据处理
  • Ruby 替代品

一些非常有趣的内容

  • 基因组分析
  • 高性能计算
  • 嵌入式 GUI 应用程序

我们怎样才能帮助 Crystal 在您的公司中获得更广泛的认可?

列表中没有意外:我们知道所有这些都是主要需要填补的空白,我们很高兴与社区保持一致。

  • 稳定版本 (1.0)
  • 并行性
  • Windows 支持
  • 更多资源和文档
  • 更好的工具(例如 IDE)
  • 更多库
  • 更简化的发布周期

编写 Crystal 时您使用什么编辑器?

Crystal 开发人员确实喜欢使用 Vim,以下是主要使用的编辑器

  • Vim - 34%
  • Atom - 32.2%
  • Visual Studio Code - 28.8%
  • Sublime Text - 28.4%
  • Emacs - 8.1%

平台

Linux 66%,Mac OS 57.5%,Windows 17.9%,2.8% BSD 变体 (悬停以获取更多信息)

Linux 是 Crystal 开发人员选择的主要平台,其次是 Mac OS。还有一部分(17.9%)Crystal 开发人员使用 Windows。

Linux 91.2%, Mac OS 41.5%, Windows 31.1%, Android 13.1%, iOS 10.9%, 5.3% BSD-variant, 9.4% Javascript, 6% Embeeded

我们在目标平台中看到了类似的模式。Linux 是最受关注的平台。有趣的是,我们看到了 Android、iOS 和 JavaScript 的显著比例。

迈向 1.0

0.23.* 56.9%,不确定 22.4%,Master 6.4% (悬停以获取更多信息)

Crystal 开发人员倾向于使用最新的稳定版本。

否 60.7%,是,但很少发生 29.8%,是,并且经常发生 9.4% (悬停以获取更多信息)

我们尽量将重大更改降至最低。超过 60% 的 Crystal 开发人员在升级到新版本时不会对他们的代码进行任何重大更改。

操作系统包管理器 86.4%,二进制压缩包 7%,手动 4.7% (悬停以获取更多信息)

使用操作系统包管理器安装 Crystal 是最常见和最简单的方法。主要平台也有预构建的二进制压缩包。

Crystal 生态系统中缺少哪些关键库?

为了改进 Crystal 生态系统,我们询问了哪些库最需要。

  • GUI
  • ORM
  • 第三方 SDK(AWS、Google 等)
  • 机器学习

哪些开发工具(如果有)可以使您在使用 Crystal 时提高效率?

我们询问了哪些工具可以使 Crystal 开发人员提高效率。

  • IDE
  • 调试器
  • 代码覆盖率和代码分析器
  • 更快的编译速度

学习资源

您使用哪些学习资源(如果有)来学习 Crystal?

  • 官方 Crystal 文档(https://crystal.ruby-lang.org.cn/reference/)
  • Crystal for Rubyists(http://www.crystalforrubyists.com/)
  • Gitter/IRC/社区帮助
  • Ruby 背景 :)

How difficult did you find learning Crystal?

从 1 到 5,1 表示不难,5 表示非常难。

Crystal 的未来

Yes 42.8%, No 31.8%, 25.4% I don't know

我们怎样才能让您及时了解 Crystal 的未来?

  • 更多博客文章
  • 每月开发更新
  • 更多社交媒体(例如 Twitter、Facebook)活动和互动。
  • 更多透明度。

在发布 Crystal v1.0 之前还需要哪些改进?(一般反馈)

  • 并行性
  • Windows 支持
  • 稳定的 API
  • 编译器改进
  • 更好的类型推断

社区和人口统计

Yes 64.7%, I don't know 33.3%, 2.0% No

Crystal 社区从 Ruby 中汲取了它的友好和和睦。我们很高兴看到超过 64% 的受访者表示他们在 Crystal 社区中感到受欢迎,33.3% 的人表示不确定。

我们怎样才能让您在 Crystal 社区中感到更受欢迎?

  • 已经感觉很受欢迎了 :)
  • 商品商店!
  • 更多活动、聚会、项目讨论

您在哪个领域使用 Crystal?

Crystal 开发人员在许多不同的领域使用 Crystal。

  1. 服务器/后端
  2. Web 开发
  3. 网络编程
  4. DevOps
  5. 物联网
  6. 数据科学
  7. 游戏
  8. 大数据

您最熟悉哪些编程语言?

Crystal 开发人员来自各种编程语言,其中大多数是动态编程语言。但是 Ruby 绝对有特殊地位 :)

  1. Ruby
  2. JavaScript
  3. Python
  4. PHP
  5. Java
  6. C
  7. C++
  8. C#

结束语

在调查结束时,我们询问:“您还有其他想告诉我们的吗?”

我将让一些引语自己说话

继续努力!

我喜欢 Crystal,我想更多地使用它!谢谢!

Crystal 是我最喜欢的编程语言 :)

我迫不及待地等待 1.0 版本的发布!到目前为止,一切都做得很好。

我爱你们,继续努力!作为一名没有编译语言经验的 Ruby 程序员,这绝对是迄今为止学习编译语言和习惯强类型语言的最简单方法。

感谢所有参与 Crystal 和这份调查的人 <3

祝您 Crystal 使用愉快!