编程语言语言为什么那么多种
随着当今可用的所有不同编程语言,许多组织已成为数字多元化。 开源开放了语言和技术堆栈的世界,开发人员可以使用它们完成任务,包括开发和支持旧版和现代软件应用程序。
与只说母语的人相比,多语种可以和数百万的人交谈。 在软件环境中,开发人员不会引入新语言来达到特定目的,而不是为了更好地进行交流。 某些语言最适合一项任务,但不适用于另一项任务,因此使用多种编程语言可使开发人员使用正确的工具来完成工作。 这样,所有的发展都是多元的。 这只是野兽的天性。
多语言环境的创建通常是渐进的和情境性的。 例如,当企业收购一家公司时,它将采用该公司的技术堆栈,包括其编程语言。 或者随着技术领导者的变化,新的领导者可能将不同的技术带入人们的视野。 技术也会变得流行和不合时宜,随着时间的推移,组织必须维护的编程语言和技术的数量就会增加。
多种语言环境对企业来说是一把双刃剑,既带来好处,也带来复杂性和挑战。 最终,如果情况仍未得到控制,多语言将杀死您的企业。
棘手的技术绕口令
如果有多种不同的技术(编程语言,旧版工具和新兴技术堆栈)存在复杂性。 工程团队花费更多的时间来使用许可证,安全性和依赖项来改进编程语言。 同时,管理层缺乏对代码合规性的监督,无法评估风险。
只有增加更多的编程语言,困难才会增加,从而导致数字塔通天塔。
答案是不要拿走开发人员完成工作所需的工具。 添加新的编程语言将建立他们的技能基础,并赋予他们适当的设备以实现其技能。 因此,您想对开发人员说“是”,但是随着越来越多的编程语言被添加到企业中,它们会拖累您的软件开发生命周期(SDLC)。 大规模地,所有这些语言和工具都可以杀死企业。
企业应注意的三个主要问题:
- 可见性:团队聚集在一起进行项目,然后解散。 应用程序已发布且从未更新-为什么要修复未损坏的内容? 结果,当发现严重漏洞时,企业可能无法查看受影响的应用程序,这些应用程序包含的库,甚至构建时使用的语言。 这可能会导致代价高昂的“探索项目”,以确保正确解决此漏洞。
- 更新或编码:某些企业将更新和修复功能集中在一个团队中。 其他要求每个“比萨饼团队”管理自己的开发工具。 在这两种情况下,工程团队和管理人员都付出了机会成本:这些团队不但没有编写新功能,还因为它们的迁移速度如此之快,因此会不断在其开源工具中更新和修复库。
- 重塑方向:由于代码依赖关系和库版本不断更新,因此,当发现漏洞时,与应用程序原始版本相关的工件可能不再可用。 结果,浪费了很多开发周期,试图重新创建可以修复漏洞的环境。
将组织中的每种编程语言都乘以这三个问题,最初是从小麻烦开始的,突然看起来像珠穆朗玛峰。 就像登山者一样,没有适当的设备和工具也无法生存。
寻找你的罗塞塔石碑
可以满足SDLC中企业及其个人利益相关者需求的全面解决方案。 企业可以使用以下最佳实践来创建此解决方案:
- 监视生产中运行的代码,并根据应用程序中使用的标记组件(例如,常见漏洞和公开组件)的风险进行响应。
- 定期接收更新,以使代码保持最新且无错误。
- 使用商业开源支持可获取寿命将尽且社区不支持的编程语言版本和平台的帮助。
- 跨企业标准化特定的编程语言构建,以在团队之间实现一致的环境并最大程度地减少依赖性。
- 根据相关性,设置何时触发更新,警报或其他类型事件的阈值。
- 为包裹管理创建一个真实的来源; 这可能需要有经验的技术提供商的帮助。
- 根据您的特定条件,仅使用所需的软件包获得较小的构建发行版。
使用这些最佳实践,开发人员可以最大限度地利用时间来为企业创造更多价值,而不必执行基本的工具或构建工程任务。 这将在软件开发生命周期(SDLC)中的所有环境中创建代码一致性。 由于需要较少的资源来维护编程语言和程序包分发,因此还将提高效率并节省成本。 这种新的运营方式将使技术人员和管理人员的生活更加轻松。
翻译自: https://opensource.com/article/18/11/multiple-programming-languages
编程语言语言为什么那么多种