理解当下最盛行的编程措辞,那你知晓开拓者中最不受欢迎的编程措辞吗?是由于与时俱进的淘汰,还是“人红是非多”的不喜好?
近日,环球著名的 IT 网站 Stack Overflow 根据数百万开拓者项目标签的利用频率,发布了一份编程措辞的调查报告,试图找出最不受欢迎的编程措辞。没想到开拓者最想规避的编程措辞中,PHP、Objective-C 和 Ruby 等措辞纷纭上榜。
在 Stack Overflow 上,开拓者可以创建属于自己的“Developer Story”,用来记录项目开拓、得到的造诣等个人开拓履历,相称于简历,待发布之后也可以提升职场机遇。在创建“Developer Story”时,可以添加喜好或者不喜好的措辞标签,而本调查报告的数据来源正是基于此。

将该数据作为衡量标准,并以特定的编程措辞列表(并非是像 Android 这样的平台或是 JQuery 这样的库)进行筛选, Stack Overflow 利用 Bayes 方法来预估这些均匀值,终极创造开拓者中最不受欢迎的措辞前三名分别为 Perl、Delphi 和 VBA,紧随其后的是 PHP、Objective-C、Coffeescript 和 Ruby。
如果此前看过有关 Stack Overflow 的编程措辞报告,就会创造,那些很少被标记为不受欢迎的编程措辞每每便是利用率快速增长的措辞。比如 R、Python、Typescript、Go 和 Rust 等措辞增长率都比较高。
下面我们可以通过比较每种措辞的增长与标记“dislike”的百分比进行验证,橙色点表示最不受欢迎的措辞。以下我们将统计数据限定在发达国家(如美国、英国、德国和加拿大)。
总体而言,措辞的增长率与开拓者“dislike”的频率之间有一种关系。被标记为“dislike”标签的编程措辞占比在 3% 以上的,利用率越来越少,而最少被标记为“dislike”的 R、Rust、Typescript 和 Kotlin 措辞利用率都在快速上升。
那些开拓者喜好及不待见的技能上述剖析仅考虑编程措辞,而不是操作系统、平台或库。那么什么是开拓者最不喜好的技能?据调查报告显示,开拓者最不喜好的技能包括 Internet Explorer、Visual Basic、Flash、COBOL、Fortran 和 Pascal 。
普遍喜好的技能则包括:机器学习、Git、Python 3.x、HTML5 和 CSS3 。
值得强调的是,以上并非是对某一措辞的歧视,而仅仅是衡量哪些技能在至少一部分开拓职员的利用过程中,是让他们觉得到舒畅还是负面的。
独立的标签网络我们可以将所有这些标签组合成一个故事,将其组织成一个网络。在最近的一篇文章中,Julia Silge 展示了如何构建一个技能网络来代表全体软件生态系统。如果我们根据每个“dislike”标签的对节点进行着色,我们可以理解生态系统的哪些部分比其他标签更具争议性。
通过将“Developer Story”标签放在子生态系统中,我们创造有独立的子系统的集群:微软(以C # 和 .Net 为中央)、PHP(WordPress 和 Drupal 环抱),和移动开拓(特殊是 Objective-C)。操作系统的集群内(右下),我们可以看到,系统如 OSX 和 Windows 被标记为“dislike”,但标签如 Linux、Ubuntu 和 Unix 却并非如此。
技能型的竞争之路故意思的是,数据还表示了行业中存在的技能型竞争关系,像是 Linux 、OSX vs Windows,Git vs SVN,vim vs emacs ,React vs Angular 等。开拓职员常日不愿意利用他们认为过期的东西,建议用更当代的技能来取代。
总结
以上并不表示直接的因果关系,标签不被程序员利用,导致它们被放弃。一种可能性是,如果人们觉得到措辞已经越来越受欢迎,就会很乐意公开表达自己的喜好与不喜好;另一种缘故原由便是与时俱进,以新的更新更换旧而繁芜的编程措辞。
对此,在 Hacker News 上网友也揭橥了自己的意见:
@chrisaycock:
文章定义了开拓者在日常事情中编程措辞的“喜好”vs“不喜好”偏好。例如,Perl 是最不受欢迎的措辞,然其真正意义是,开拓者将其归入不想要此类开拓事情。
剖析表明,措辞的“喜好”与其在 Stack Overflow 上的增长之间存在着干系性。 干系性并不是因果关系,这只能意味着开拓者所从事的事情会利用较多的热门的措辞。
@throwaway2016a:
Python 持续地受欢迎令我惊奇。虽然我喜好 Python,它也适用于数据科学,但我不明白为什么人们将其用于网站。如果考虑到易用性,并且如果要实行性能,PHP 和 Ruby 生态系统将会更加成熟,Go 和 Java 框架也更好。纵然在数据科学天下中,个人也喜好 R 超过 Python。
@lmm:
Python 和 Ruby 在很多方面较为相似,它们具有相似可用性的大略 Web 框架。个人利用 Python 已经有一段韶光了,如果纯粹的作为 Web 开拓者选择,那么 Ruby 可能会有一些轻微的上风,但是如果公司中的某个人已经利用 Python 作为系统管理脚本或数据科学项目,那么这足以提升规模。
不知对此,你是否有不一样的意见?