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