绿色与棕色编程语言

2021-04-22 23:22:36

堆栈溢出开发人员调查1结果是开发人员如何工作的伟大信息来源。我正在查看2020年的结果,了解我们应该在集装箱资产上添加到我们的文档中的一些想法,我注意到有趣的有趣的人们喜欢的编程语言。这似乎在编程语言偏好的各种讨论中似乎并没有提出。

调查结果有最可怕的编程语言和最受欢迎的编程借调的排名。两个排名来自这个问题:

您在过去一年内完成了广泛的开发工作,您是否想在明年工作的哪些编程,脚本和标记语言? (如果您都与语言一起工作并继续继续这样做,请选中该行中的两个框。)

一个可怕的语言是您在本年度广泛工作的语言,但不想继续使用。您广泛使用的爱情语言并希望继续使用。结果是有趣的,因为他们反映了广泛使用语言的人的意见。应该没有我听到的X-y-cool效果,在那里人们排名他们不使用的东西,因为他们听到它是新的热点。反向应该是真的:在可怕的名单上放置某些东西的人正在使用它。他们不是害怕一种语言,因为他们听到它很复杂,而是因为他们必须工作并感到真正的痛苦。

VBA,Objective-C,Perl,汇编,C,PHP,Ruby,C ++,Java,R,Haskell,Scala,HTML,Shell和SQL。

Rust,CyperScript,Python,Kotlin,Go,Julia,Dart,C#,Swift,JavaScript,SQL,Shell,HTML,Scala和Haskell。

旧代码是最糟糕的。在一个多年来一直在主动开发的代码库中找到我的文件,并且很难遵循。什么开始作为简单的文件访问层开发特殊情况和性能优化以及由配置选项控制的各种分支。真实世界代码演变为适合其利基,并且如此,它变得更加复杂,更难理解。这是一个简单的原因,我首先听到了joel spolsky。

[开发人员]认为旧代码是一团糟的原因是因为红衣主教,基本规律的编程:读取代码比写它更难。

让我们打电话给Joel的法律。从这个前提下遵循很多事情。为什么大多数开发人员都认为他们继承的代码是一团糟,想要抛弃它并重新开始?这是因为至少最初是从头开始时的令人苛刻的东西令人苛刻的要求。为什么许多重写注定要失败?因为大部分使得代码看起来凌乱的是什么都是随着时间的推移而变化的重要改进。如果没有一些简化它们的计划,你将最后回到你开始的地方。

在您写作时,很容易理解代码。你正在执行它并在你走上改进它。但是,只需在事实之后阅读代码很难理解代码。如果你返回旧代码,你写的是难以追随,可能是因为你已经成为开发人员而且今天会更好地写作。但它也可能是代码本质上复杂,并且您正在解释理解的痛苦,即复杂性作为代码质量问题。这可能是为什么生长的PR积压是持续存在的问题? PR评论是一种只读活动,如果您没有您的头脑中的代码的工作模型,他们很难做得很好。

如果很多真实的代码被不公平地被认为是一团糟,那么可以不公平地判断语言?如果您在GOW中建立新事物,但必须维护一个庞大的20岁的C ++ Codebase,你可以公平地对待他们吗?我认为这实际上是调查问题测量的:可怕的语言可能用于现有的棕色场项目。喜欢的语言更常用于新的绿地项目。让我们来测试这一点。 2

TIOBE指数声称用于编程语言的“全球技术人员,课程和工作的数量”。他们衡量这一点可能有一些问题,但它足以让我们的目的足够准确。我们使用2016年7月TIOBE指数,这是后退机器的最古老的可用性,作为具有累积大量代码的语言的代理。如果2016年有些重要,那么人们更有可能维持用它写入的代码,而不是在2016年不受欢迎。

截至2016年7月的列表中的前20名编程语言是Java,C,C ++,Python,C#,PHP,JavaScript,VB.Net,Perl,装配,Ruby,Pascal,Swift,Objective-C,Matlab,R,SQL ,cobol和groovy。我们可以使用此作为我们更有可能用于维护工作的语言列表。让我们称他们为棕色语言。 2016年不在前20名的语言更有可能用于新项目。我们将把这些称为绿色语言。

棕色语言:您更有可能在现有软件维护中使用的语言(即布朗场项目)。

绿色语言:您更有可能在新项目中使用的语言(即绿地项目)。

Tiobe和Stackoverflow对编程语言的不同之处有不同的想法。为了克服这一点,我们必须通过删除HTML / CSS,Shell脚本和VBA来规范两个列表。 3.

有许多细微差别是一个简单的绿色/棕色裂缝未命中 - 我希望更多的绿地项目从SWIFT开始而不是目标-C,但它似乎足以捕捉我们所需要的东西。在这个列表中比绿色更加棕色语言,但这就是我期望的,因为这对编程语言同比翻转相对较低。

现在我们可以回答这个问题:人们爱和害怕他们所说的语言,还是他们只是涉及遗留代码?或者另一种方式:如果今天java和ruby出现,如果没有成堆的旧铁路应用程序和旧企业java应用程序,他们仍然是可怕的,还是将更有可能出现在被爱的名单上?

顶级可怕的语言几乎都是棕色语言。我们完整列表中的68%的语言是棕色的,而83%的可怕语言是棕色的,这比我们偶然的预期高。

在顶级亲人的语言中,54%是绿色的。我们列表中只有36%的语言是绿色的,每种绿色语言都在被爱的列表中显示出来。

人类角色的另一个缺陷是每个人都想要建立,没有人想做维护。

这可能是有足够的证据表明,可以确定必须在维护项目中使用语言导致恐惧,但它当然看起来是一个因素。人们爱的许多语言太新旧或过于历史上不受欢迎,以拥有许多大型泥浆泥项目来维护。

换句话说,Rust,Kotlin和其他绿色语言可能仍然处于蜜月期。人们对与他们一起工作的热爱可能与在20岁的代码库中使用的人有关,因为它与特定语言有关。

一些新的或历史上不太受欢迎的编程语言可能比老年人或更多的主流语言更好,但我们判断的能力似乎非常偏见。特别是,开发人员正在给出更新的语言,或者过去没有通常使用的语言,他们正在向角提供围绕的语言。我认为这是因为没有人喜欢维护别人的代码。而且,由于乔尔的法律:阅读真实世界是代码努力。建立新的东西是有趣的,并且更频繁地使用新语言。

我最初开始挖掘这些数字,以便为软件开发人员建立最多语言和喜爱的语言的排名。我将使用此选项来指导向我们的文档和构建示例添加更多示例。我逃避的是编程语言生命周期的想法:喜欢的编程语言使用了很多,这导致了代码维护,这导致人们不喜欢它们,这导致人们寻找更新的牧场和尝试一个新的牧场语。流行的框架也可能遵循这个生命周期。

我没有数据的数据,但我清楚地记得红宝石是2007年最热门的语言,虽然它今天有更多的竞争,但是Ruby现在是一个更好的语言。然而,现在它是可怕的。部分差异,看来对我来说,现在人们有14年的铁路应用程序的维护。这使得Ruby比所有新项目都有很多乐趣。所以注意防锈和kotlin和朱莉娅,然后去:你也会最终失去你的光环。 4.

我先想出了标准。我没有打猎数据以备份原来的想法。

我确实考虑使用语言创建日期来确定绿色与棕色状态,但某些语言已经存在一段时间,但最近只发现了使用。

Tiobe是如此测量,如果您支付,他们的历史数据仅可用,所以我正在使用Warback机器。 ↩︎ Tiobe不包括HTML / CSS,因为它没有考虑它们完成,因此不是编程语言。 Shell脚本由TIOBE单独测量,并且据我所知,VBA并不在衡量的语言列表中。 ↩︎ 然而,并非所有的棕色语言都是可怕的:Python,C#,Swift,JavaScript和SQL仍然被爱,我很想听到任何人有理论为什么。 还有Scala和Haskell,我有两种语言我有一个软点,是可怕列表中唯一的绿色语言。 这只是噪音还是那里有别的东西? ↩︎