软件行业正在经历一些重大转变。每家公司都必须事半功倍,同时以极快的速度发展。结果是更多的工程团队选择了高效增长而不是不惜一切代价的增长。在可扩展性和效率之间,安全性已成为开发人员在选择编程语言和工具时的重中之重。这是我在分析CircleCI上最流行的25种编程语言后观察到的。团队正在平衡产品市场契合度与可扩展性和安全性,最终选择允许他们有效协作的工具,同时启用可以防止尽可能多的错误的护栏。以下是我对过去三年最重要的语言趋势的看法,以及他们对开发人员不断变化的优先事项的看法。Rust跃居最流行语言前25名作为一种具有出色内存管理的系统语言,Rust旨在取代C等语言,受到想要编写安全代码的开发人员的喜爱。它是一种允许开发人员轻松协作并在短时间内完成大量工作的语言。当团队想要一种既可以作为强大的服务又可以扩展的语言时,他们会转向Rust。我认为在接下来的几年里,我们将开始看到越来越多的团队出于这些确切的原因选择Rust,特别是在系统工具领域,TypeScript超越JavaScript成为最受欢迎的DevOps语言,作为促进协作和加速开发的一种方式。TypeScript是一种可扩展的、人类可读的语言,TypeScript的流行表明越来越多的工程团队正在通过使代码更易于阅读、重构和共享代码来优先考虑跨项目的快速入职和协作。TypeScript类似于JavaScript,但不可预测性较低。它更容易验证并且更少混淆,让开发人员更有信心。主要工具已经用TypeScript编写,例如React和VSCode——它们中的每一个都有许多协作者,并且更容易与类型化语言协作扩展。TypeScript不像JavaScript那样频繁地发布新框架,这使开发人员不必像更新版本那样频繁地重新学习所有内容。最终,TypeScript上的护栏比JavaScript上的要多。我们自己的团队使用TypeScript,并且最近创建了一个开源库CircleCIConfigSDK,它允许开发人员使用TypeScript和JavaScript等更易于管理的语言编写和管理他们的YAML文件。这使团队更容易在运行时动态构建他们的CI配置,并为他们省去很多麻烦。HashiCorp的配置语言Top10HCL为团队提供了大规模配置和管理云环境所需的灵活性。HCL对开发人员友好的语法与基础架构即代码工具的速度和标准化优势相结合,使工程团队能够实现令人难以置信的快速部署工作流和调试。当团队需要管理这种规模的变更时,HCL使他们能够成功地做到这一点。我们在CircleCI使用HCL,因为他们在V2中添加了各种护栏,使我们的团队更容易理解我们正在尝试做的事情的预期结果。事实上,它与TypeScript甚至Rust共享许多好处——添加更多类型检查和安全性使得贡献和验证更加直接。使用像HCL这样的语言,我们的持续集成变得更加可靠和高效,因为我们知道我们可以在流程的早期发现任何问题。HCL允许我们快速行动而不会犯错误,因为这些检查和平衡已经到位。Gherkin将行为驱动开发带入前20名行为驱动开发(测试驱动开发的一个分支)通过在幕后实现功能建立共同期望,打破了产品所有者和开发人员之间的传统障碍。Gherkin的日益流行再次表明,越来越多的团队从开发过程的一开始就将跨团队协作和用户体验放在首位。Gherkin使团队不仅可以了解最终产品的行为,还可以定义所需的行为。传统上,人们花费了大量的时间和精力来弄清楚软件的行为方式。在进行重构之前,您需要了解这一点。小黄瓜将这种心态放在首位。安全软件行业的很大一部分正在走向成熟,当前的宏观经济环境可能会加速这一进程。向具有显式保护(类型检查、内存安全)的编程语言的转变与工程组织从单体式服务转向微服务的趋势并没有太大不同——两者都允许更好的资源优化和团队之间的协作。越来越多的领导者开始明白,他们不能将业务搁置一年来改进流程,但他们仍需要未雨绸缪。这些语言趋势清楚地表明,团队正在弄清楚如何在保持必要的安全级别的同时有效地加速增长。
