Stack Overflow:最令人讨厌的编程语言_最新动态_新闻资讯_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 新闻资讯 > 最新动态 > Stack Overflow:最令人讨厌的编程语言

Stack Overflow:最令人讨厌的编程语言

 2017/11/22 10:04:25    程序员俱乐部  我要评论(0)
  • 摘要:英文原文:WhataretheMostDislikedProgrammingLanguages?在StackOverflowJobs上,你可以创建你自己的DeveloperStory,来展示你的成就并推动你的事业。在创建DeveloperStory时,有一个选择是你可以添加你想要使用或者不想要使用的标签:这为我们提供了一个可以研究成千上万开发者的机会。衡量一种语言受欢迎程度的方法有很多;例如,我们经常使用StackOverflowvisits或questionviews来衡量这方面的趋势。但是
  • 标签:编程 编程语言
class="topic_img" alt=""/>

  英文原文:What are the Most Disliked Programming Languages?

  在 Stack Overflow Jobs 上,你可以创建你自己的 Developer Story,来展示你的成就并推动你的事业。在创建 Developer Story 时,有一个选择是你可以添加你想要使用或者不想要使用的标签:

  这为我们提供了一个可以研究成千上万开发者的机会。衡量一种语言受欢迎程度的方法有很多;例如,我们经常使用 Stack Overflow visits 或 question views 来衡量这方面的趋势。但是,倾向于找出程序员不喜欢哪些技术的数据集是很少见的,当给他们机会在简历中说明的时候。

  (两年前,我在个人博客上发布了一些这方面的分析,但是在这篇文章中将会加入更新的数据集并进行更深入的探索)。

  编程语言

  为了衡量每个标签如何极化,我们将某种编程语言出现在某人“Disliked”标签中的次数与它出现在某人或 Liked 或 Disliked 标签中的次数作比较。因此,50% 意味着不喜欢和喜欢的标签出现的频率相同,而1% 意味着 99 个喜欢 1 个不喜欢。(我们将使用我在这篇文章中描述的经验 Bayes 方法来估算这些平均值,这种计算方法有 95% 的置信区间)。

  我们先来看一下可选择的编程语言列表(不同于像 Android 这样的平台,或像 JQuery 这样的库),所有这些在 Developer Story 中至少有 2000 个人提到过。

  最令人讨厌的语言,遥遥领先的是 Perl,Delphi,和 VBA。在它们之后是 PHP,Objective-C,Coffeescript,和 Ruby。在我们的团队中,我们很高兴看到R相对于喜欢它的人来说,并非最令人讨厌的编程语言。

  如果你已阅读过我们其他关于普及度正在增加和减少的编程语言的一些文章,那么你可能会注意到,最不喜欢的标签往往和那些快速增长的标签重合。R,Python,Typescript,Go 和 Rust 在 Stack Overflow 活动方面都是快速增长的编程语言(之前我们已经专门探究了 Python 和R语言),而且都是最不极化的语言之一。类似地,许多在减少的标签,如 Perl,Objective-C 和 Ruby,都是我们以前观察到的网站中最快减少的标签之一。

  我们可以通过比较每种语言的规模和增长与不喜欢它的人(%表示)来检验这一点,橙色点代表最不喜欢的语言。为了使我们的分析与之前写的一些文章保持一致,我们将统计数据限制在高收入国家(如美国,英国,德国和加拿大)。

  一般来说,标签的增长与不喜欢的频率两者之间是有关系的。几乎 story 中提到的所有不喜欢超过3% 的在 Stack Overflow 流量都在减少(除了极化的 VBA,依然保持稳定或稍微增长)。而最不喜欢的标签——R,Rust,Typescript 和 Kotlin——都是快速增长的标签之一(Typescript 和 Kotlin 增长得如此之快,以致于在图表中不得不被截断)。

  这里有一个突出的标签,那就是函数式语言 Clojure;几乎没有人表示不喜欢,但它仍然位于最快速减少的行列(根据 question visits,它在去年前后才开始缩小)。另一个例外是 MATLAB,尽管不是很多人表示不喜欢它,但是它也正在减少。这或许表明了衡量感情的数据有限制:任何一个 Web 开发人员可能对 PHP,C#或 Ruby 都会有他们自己的想法,但不是工作于数据分析的人无法对 MATLAB 表达意见。(这可能也是R之所以在“不喜欢”中很少被提到的部分原因。)

  我们并没有表述程序员不喜欢会导致语言被抛弃的因果关系。有一种可能是,如果人们觉得某种编程语言已经越来越不受欢迎,那么他们更乐意公开表达他们的不喜欢。可以想象,开发人员也会用不喜欢表述他们曾使用过但不再使用的技术。这将导致“replaced”的自然发展最后放到了 Disliked 的领域。

  最不喜欢和最喜欢的标签

  上述分析仅考虑编程语言,不涉及操作系统,平台和库。那么总的说来最不令人喜欢的技术是什么呢?为了专注于我们能够拥有足够数据的大型技术,我们将其限制在至少提及1,000 次以上的技术。

  有些是 Microsoft 技术,特别是 Internet Explorer 和 Visual Basic 也是“Microsoft”标签(“Apple”也名列其中,尽管它没有 Microsoft 这么令人不喜欢)。我们很欣慰地看到大部分人不喜欢 Flash。比较老旧的语言,如 COBOL,Fortran 和 Pascal 也上榜了。

  再次值得强调的是,这并不是对技术及其质量和人气的指责。这只不过是衡量哪些技术会激起强烈的负面情绪,且同时有一部分开发人员愿意公开表达他们的这种情绪。

  我们再来看看那些最普遍的流行技术,那些几乎没有不喜欢的技术。(这次,由于非常喜欢的标签更常见,所以我们只关注至少提到过 10,000 次的技术。)

  Git 可能是许多开发人员沮丧的根源(对我来说也是如此),但是很少有人在他们的简历上承认,反而它在 Developer Story 中是最偏爱的标签。R也是榜上有名,但它并非唯一与数据科学相关的标签(那是毋庸置疑的);机器学习标签被 23000 人喜欢,并且不喜欢的人相当少。诸如 Python-3.X,CSS3 和 HTML5 之类的标签表明了开发人员很少指明他们不喜欢某个特定版本的技术。还有就是,jQuery 和在 Stack Overflow 上一样受欢迎。

  极化标签的网络

  我们可以通过组织所有这些标签成一个网络来组合成一个故事。在最近的一篇文章中,Julia Silge 展示了如何构建一个技术网络来代表整个软件生态系统。如果我们根据每个标签的不喜欢程度对节点进行着色,那么就可以了解生态系统的哪些部分比其他标签更具争议性了。

  通过将“Developer Story”标签设计为子生态系统,此网络将讲述一个有关什么类型的标签倾向于极化的故事。子生态系统中的 Microsoft(以 C# 和 .NET 为中心),PHP(以及 WordPress 和 Drupal),以及移动开发(特别是 Objective-C)存在着极化标签群集。在操作系统集群(右下)中,我们可以看到诸如 OSX,特别是 Windows 的系统诋毁者甚多,但是标签如 Linux,Ubuntu 和 Unix 却没有这么多批评。

  竞争

  如果有人喜欢某个特定的标签,那么有没有什么标签是他们不太可能不喜欢的?

  我们可以使用特别喜欢的标签的外观之间的 phi 系数来衡量。(当计算这些相关性时,我们只考虑至少有一个标签不喜欢的人。)

  这凸显了软件生态系统的一些“竞争对手”:Linux 和 OSX vs Windows,Git vs SVN,vim vs emacs,以及 R vs SAS(对我而言并不令人惊讶)。这些“竞争对手”中大多数并不代表“相反”的技术,而是反映了解决相同问题的两种方法。许多技术建议从以前流行的技术进步到更现代的技术(SVN 由 Git 取代,XMLJSON 取代,VB 由 C# 取代)。这对于查看在简历上列出的内容来说是有意义的;开发者通常会指明他们不愿意使用他们认为过时的东西。

  结论

  我对“语言战争”没有任何兴趣,并且我也没有判定用户不喜欢使用的技术是否优劣。考虑到微软技术往往极化的,所以我要分享我的个人经验。我一直是 Mac 和 UNIX 的长期用户,几乎在大学和研究生院的所有编程都是围绕 Python 和R的。尽管如此,我很高兴加入一个 .NET 堆栈的公司,并且很庆幸进入这家公司——我热爱这个团队及其产品和数据。我不是在奉承,我很高兴我可以做我想做的工作,不会被强迫着去面对我不喜欢的东西。

  如果你有兴趣分享你喜欢和不喜欢的技术,或者想迈向职业生涯中的下一步,那么你可以创建自己的 Developer Story。

  -

  译文链接:http://www.codeceo.com/article/most-disliked-programming-languages.html

  翻译作者:码农网 – 小峰

发表评论
用户名: 匿名