24小时联系电话:185 8888 888

新闻
您现在的位置: 首页 > 新闻 > 有多少种编程语言?
  • “酷”大脑研究的扭曲观念扼杀了心理治疗

    “酷”大脑研究的扭曲观念扼杀了心理治疗

    发布时间:2020/03/31

      ‘对于人类的每一个问题,总是存在着众所周知的解决方案-简洁,合理和错误。” 人类从来没有遇到过比了解我们自己的人性更复杂的问题。而且,不乏任何试图探究其深度的简洁,合理和错误的答案。 在我职业生...

  • SpaceX赢得NASA合同,使用新型Dragon XL工艺将货物运送到月球网关

    SpaceX赢得NASA合同,使用新型Dragon XL工艺将货物运送到月球网关

    发布时间:2020/03/31

      美国国家航空航天局(NASA)挖掘出一种尚未建造的SpaceX货运飞船,用于向尚未发射的绕月轨道前哨基地运送补给品。 SpaceX的机器人Dragon XL是其主力Dragon太空船的圆柱形超大型版本,将作为第一批从NASA获得...

  • Spaces应用程序使人们可以参加VR中的Zoom会议

    Spaces应用程序使人们可以参加VR中的Zoom会议

    发布时间:2020/03/30

      一个名为Spaces的新PC VR应用程序使用户可以从VR内部加入Zoom会议和其他视频通话。 该应用是根据最近发生的COVID-19大流行而开发的,该大流行已经使世界各地许多人在家中工作并使用诸如Zoom之类的虚拟会议...

  • 汇盈医疗声称其AI可以从CT扫描中检测冠状病毒,准确率达96%

    汇盈医疗声称其AI可以从CT扫描中检测冠状病毒,准确率达96%

    发布时间:2020/03/30

      总部位于中国惠州的医疗设备公司慧英医疗声称已开发出一种AI成像解决方案,该解决方案使用CT胸部扫描来检测COVID-19的存在。该公司断言,如果不使用逆转录聚合酶链反应(RT-PCR)(COVID-19的标准测试方法),...

有多少种编程语言?

发布时间:2019/11/22 新闻 浏览次数:652

 
在支持编程语言方面,每个组织都面临困境。一方面,人们有一种标准化的愿望,这是可以理解的,一套经过批准的语言可以帮助控制维护成本和长期生存。但是同样地,我们中的许多人都意识到使用开发人员认为允许他们最雄辩地表达自己的语言的好处。
这个难题也有个人因素。一些开发人员想要尝试他们可能会使用的每种新语言-常常是出于真正的好奇心和学习欲望,而其他开发人员可能半心半意地改善自己的就业前景。对于某些人而言,学习一种乐趣是通过深入学习一种特定的语言,成为专家的驱动力,或者他们可能对学习新语言没有信心。
在这里,我们探讨了确定多少种编程语言是您的组织要支持的正确数目的方法。尽管没有一个单一的答案适用于所有组织,但我相信有可能为您找到最好的方法。
一种语言统治所有人
我们经常遇到客户和开发人员,他们认为语言确实是一个最佳选择。在不太遥远的过去,通常会看到组织将自己描述为Java或C#房屋。最近,我们看到了Node.js随处可见的这种模式-React用于服务器端渲染;与Kubernetes和Docker一起编排微服务;或将Node.js用于无服务器。
拥有通用的工具和工作流程有很多话要说,尤其是在维护和支持成本方面。我们已经看到许多大型,复杂的组织可以从标准化中受益。我们还看到,初创公司通过让开发人员在一个共同的生态系统中工作来推动其发展。即使这样,标准化也有其局限性。
仅使用一种语言似乎太自限。在ThoughtWorks,我们长期以来一直是多语言编程思想的支持者-我们认为,选择合适的工具来实现工作将带来巨大的生产力收益。
通用与特殊情况
正如对多种语言编程的批评家所指出的那样,不施加任何限制的选择为混乱铺平了道路。毕竟,您的ace程序员很可能为您编写了Clojure中最精致的系统,但是如果她是唯一知道该语言的人,那么她将在维护方面浪费时间,而不是在进行下一个大型项目。随着数十种不同语言的系统的出现,您的支持成本将不断上升。
那么,多少种语言太多呢?
在ThoughtWorks中,我们的许多开发人员都是多才多艺的-我们为各种各样的客户服务,因此拥有对多种语言友好的开发人员对我们很有用。但是对于我们的客户而言,使用通用语言或一小类用于通用应用程序开发的语言可能更有意义。
这样的选择确实会导致妥协。对于某些大型企业而言,可能是由于它们默认的语言选择使单个业务部门进行开发变得更加困难且成本更高。
在与我们一起工作的一位客户中,我遇到了一些开发人员,他们对他们发现的技术堆栈感到沮丧,无法理顺他们的头发。他们确信,通过切换到其他开发范例,我们可以提供更快,更便宜的更好解决方案。他们可能是正确的。但是,在这个庞大的企业集团的一个部门工作的我们的开发人员可能不明白的是:通过标准化,客户可以在整个企业中实现的成本节省使一个项目的成本相形见.。
尽管如此,仅因为您进行了标准化,并不意味着您不必排除针对特殊情况的实验。以嵌入式系统或数据科学为例。
在这种情况下,您对语言的选择会产生现实的后果。尽管您可以使用几乎所有通用语言构建物联网解决方案-毕竟这些事情都已经完成了,图灵已经完成了-但这并不意味着您应该这样做。使用诸如Rust之类的东西(对于嵌入式系统而言非常理想),对于诸如内存管理和功耗之类的东西具有巨大的优势,这些东西可能会成败IoT解决方案。
关于数据科学,这是一个类似的故事。为什么不使用Python或R之类的东西?与这些语言相关的库使您在处理复杂的数据项目时难以使用其他任何东西。
我们认为还有其他特殊情况。在语言选择方面,我们已经看到许多客户偏离了他们的标准设置,因为他们认为这会增加招聘人才的机会。通过展示您可以提供职业发展道路(例如Clojure开发人员),您可以使自己成为更具吸引力的雇主。您无疑会知道,吸引最有才华的程序员很困难。竞争激烈。因此,向您证明自己是一位具有远见卓识的雇主,可以为开发人员带来有趣的工作,将大有帮助。
因此,在这种情况下,每个组织都应考虑哪些类型的应用程序应属于通用范围之外。您可以允许进行实验,并且可能希望将功能语言添加到组织使用的语言库中。
这些不是简单的选择。您需要从参与工作的人和领导层的人那里获取观点。而且您需要现实一点:无论您的最终决定是什么,都将做出让步。
在ThoughtWorks,我们相信构建自己的Technology Radar可以帮助您完成这一决策过程-旨在评估现有和新生技术的风险和回报的有效文档。
创建Technology Radar的行为需要将整个组织中的多元化团队聚集在一起,并进行有关技术的对话。这些对话经常会带来您本来会错过的事情。您可能会发现正在业务口袋中使用的非常有用的工具。也许它将使您能够发现堆栈中尚未出现的问题。如果您想了解应该支持的语言,那将是一个很好的开始。