换个姿势,程序员最不喜欢的语言是什么?

简介:

关于编程语言,大家一直在争论"谁才是最好的编程语言",可一直也没有一个定论。今天我们不再老生常谈谁才是最好的编程语言,而是反其道行之,看看程序员最想diss哪种语言?

Stack Overflow中有标签功能,程序员可以添加标签来标注自己喜欢或者不喜欢的工作,同时这也为我们研究成千上万程序员的喜好提供了素材,本文将着重笔墨于编程语言。衡量一种编程语言流行程度的方法有千万种,例如 ,而本文的数据来自用户标签。

换个姿势,程序员最不喜欢的编程语言是哪个?

  编程语言

如何将标签作为衡量标准呢?每个标签都有两极,我们并不是单纯的看喜欢或者不喜欢,而是看不喜欢标签的占比,如果是50%那么就说明它的喜好不是很明确,如果是1%,那么就说明绝大多数的人是喜欢的。

首先,我们先来看一下编程语言列表,在Stack Overflow中程序员提到的编程语言多达2000多种。

换个姿势,程序员最不喜欢的编程语言是哪个?

通过上图的调查结果,我们发现Perl ,Delphi和VBA处在程序员最不喜欢编程语言的行列中,紧跟在后面的是PHP,Objective-C,Coffeescript和Ruby。而R语言则是最受程序员欢迎的编程语言。

如果,我们在把目光聚焦一下,我们就会发现最喜欢的语言往往也是快速增长和发展的语言。例如,R,Python,Typescript,Go和Rust都是在Stack Overflow中快速增长的。而Perl,Objective-C和Ruby等语言市场正在不断萎缩。

我们通过比较每种语言的市场规模和增长速度与不喜欢的百分比来检验上文中提到的结论。下图中橙色点代表最不喜欢的语言。该数据统计我们限制在了高收入国家,例如美国,英国,德国和加拿大。

换个姿势,程序员最不喜欢的编程语言是哪个?

一般来说,成长的标签与不喜欢的频率存在着一种关系。如果不喜欢的比例超过3%,那么这门编程语言在Stack Overflow中基本都处于市场萎缩的状态。而R,Rust,Typescript和Kotlin在Stack Overflow中都属于快速增长的标签。

但是也有例外,其中之一就是Clojure。在调查中几乎没有人表示不喜欢它,但是它在去年开始快速萎缩。另一个例外是MATLAB,没有很多人表示不喜欢它,但它也正在缩小。这可能和调查数据有关系,任何Web开发人员都可能吐槽PHP,C#或Ruby,但是没有从事过数据分析工作的人却无法吐槽MATLAB表达意见。

除此之外,出现这种情况的原因还有一种。那就是如果大家已经感觉到这种语言正在越来越流行,大家就会更乐于表达自己的不喜欢。长此以往,我们可以预见到也许不喜欢的领域中往往蕴含着技术的自然进步。

上文我们讨论了程序员最不喜欢的编程语言,接下来我们探讨一下大家最不喜欢的技术,本文将技术范围限制在了Stack Overflow中讨论超过1000以上。

换个姿势,程序员最不喜欢的编程语言是哪个?

从上图中我们看到微软的好几个技术都上榜了,例如Internet Explorer和Visual Basic以及"Microsoft"的自身标签。一些较旧的语言,如COBOL,Fortran和Pascal也出现在了榜单中。

需要强调的是,这并不是对技术、质量或者人气的指责。这只是表达哪些技术在人群中,至少是一部分人群中带来了负面的情绪和不好的体验。

除了不喜欢的技术,我们还统计了广受欢迎的技术。

换个姿势,程序员最不喜欢的编程语言是哪个?

  标签网络

我们可以将所有的标签组合成一个故事,形成一个网络。之前,来代表整个软件生态系统。我们根据每个标签的不喜欢程度对节点进行着色,了解生态系统的哪些部分比其他标签更具争议性。

换个姿势,程序员最不喜欢的编程语言是哪个?

上图中我们看到Microsoft(以C#和.NET为中心),PHP(以及WordPress和Drupal)以及移动开发(特别是Objective-C)的子生态系统中都存在极化标签集群。在操作系统集群中,我们可以看到诸如OSX,特别是Windows的系统有很多diss者,但是像Linux,Ubuntu和Unix却没有吐槽者。

竞争

就像有人会有特别喜欢的事物,他们有没有特别不喜欢的语言或技术呢?我们可以使用一个特殊的φ系数来测量这个值。

换个姿势,程序员最不喜欢的编程语言是哪个?

这就突出了软件生态系统的一些"竞争对手":Linux vs Windows,Git vs SVN,vim vs emacs以及R vs SAS。它们之间的关系大多数都不是相反的,而是反映了解决问题的两种相似方法。很多人建议要从过去的流行技术过度到更现代的技术,SVN由Git取代,XML替换为JSON,VB替换为C#。这对程序员来说是非常有意义的,因为没有人愿意使用他们认为已经过时的东西。


本文转自d1net(转载)

相关文章
|
算法 程序员 API
C 语言和 C++ 有什么区别?老程序员居然这样理解,不怕你不懂
C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)
152 0
|
5月前
|
人工智能 数据挖掘 大数据
成为程序员后你都明白了什么?
成为程序员后你都明白了什么?
65 1
|
SQL 人工智能 Java
程序员:你见过哪些要命的奇葩代码?
程序员:你见过哪些要命的奇葩代码?
111 0
|
C语言 Python
什么样的语言干什么样的事
什么样的语言干什么样的事
86 0
|
Rust Java 机器人
是 Rust 太难了,还是主流编程本来就这么折磨人?
本文作者在文章的前部分用了大量笔墨详细描述了自己尝试 Rust 受挫的经历,后半部分分析了 Rust 的问题及发展。自发布以来,这篇文章在 r/rust 上得到了 500 多个赞,在 HN 上有 700 多条评论。我们将其翻译出来,以飨读者,也希望大家可以理性讨论。
536 0
是 Rust 太难了,还是主流编程本来就这么折磨人?
|
自然语言处理 Ubuntu 程序员
程序员最头疼的事:命名
许多程序员认为编程时,如何命名不仅是他们面临的老大难问题,也是最重要的事情之一。
370 0
程序员最头疼的事:命名
|
JavaScript 程序员 C语言
能一眼看懂这些C语言函数,你就是天生的程序员!
喜欢这篇文章的朋友可以多多收藏、点赞、关注 一条龙~
1656 0