Crystal 0.21 版本现状
随着 0.21 版本 的发布,我们希望与大家分享 Crystal 开发今年至今的现状,目标是在年底之前发布 1.0 版本。
首先,我们更新了我们的 路线图,其中包括了我们不仅对 Crystal 今年的目标,还包括了我们希望将来使用这种语言构建的工具,例如用于轻松编写 Ruby 扩展的完整 DSL,或桌面 UI 库。我们还更改了 GitHub 问题 标签方案,并相应地更新了 贡献指南,以便社区中的任何人都能更容易地了解如何为 Crystal 做贡献。
关于我们为 1.0 版本确定的关键功能,我们正在稳步推进 Windows 支持,社区成员 lbguilherme 和核心团队成员 bcardiff 为此付出了努力。今天 Crystal 可以在 Windows 上编译一些程序,最后一个里程碑是在该平台上支持异常。在标准库方面,我们还有很长的路要走,因为每个模块都是针对仅 UNIX 支持而实现的,所以对于对 Windows 平台感兴趣的任何人都欢迎贡献。
下一个重要的事情是 并行处理,核心团队成员 ggiraldez 和 juanedi 基于 waj 开始的工作,在这方面付出了很多努力。我们很高兴拥有一个使用多线程支持构建的编译器工作版本,其模型类似于 Go:一个固定线程池,从纤维中执行任务,包括诸如工作窃取之类的功能。这项工作仍然处于实验阶段,还有很多重大的变化需要定义,例如显式的线程处理;但大多数编译器和标准库规范目前都是绿色的。Kemal 的作者 sdogruyol 甚至已经在多个线程上 运行了这个 web 框架。但是,在测试和性能方面还有很多工作要做,以确保将工作负载分配到多个线程上产生的争用不会抵消速度提升。
我们还开始讨论类型系统,以确保增量编译的可行性。我们已经确定泛型和模块作为接口方面的一些潜在瓶颈,这些瓶颈需要解决,我们会尽最大努力尽快确定所需的重大更改,并尽量减少其影响。
在沟通方面,我们现在还将官方博客中的内容交叉发布到很棒的平台 dev.to,你可能正在这个平台上阅读这篇帖子。ThePracticalDev 的工作人员非常友好,并且在该网站上为我们设置了 crystal-lang 账户。Crystal 核心团队中的许多人一直在关注这个网站和 Twitter 账号,现在我们很高兴看到 Crystal 在这个平台上占有一席之地。
另外,为了避免剧透,但我们几乎完成了我们网站的新版本,设计更加简洁。预计很快就会上线。
最后但并非最不重要的是,我们很高兴在本月早些时候在 Google NYC 和 Recurse Center 做了演讲,还组织了另外一次聚会。我们还在组织 4 月在旧金山举办的第一届 Crystal 代码营:告知我们 你是否感兴趣加入,或者如果你想赞助活动,可以 联系我们!
我们会定期分享 Crystal 现状的新闻,所以请关注博客和其他 沟通渠道。祝您 Crystal 开发愉快!