Java

有时,开发人员对某一特定语言的特别不屑可能与开发人员对编程语言的熟悉程度有关,而不是对该语言有什么内在的负面情绪所致。Hatch 就表示,虽然他觉得 Java 是一门伟大的语言,但他个人却讨厌 Java。因为 Java 是一种严格执行 OOP 结构的语言,而大多数开发人员都不了解面向对象编程(OOP)结构。

Hatch 称,Java 在 90 年代后期开始就在行业中占据了一个主导地位,并在接下来的时间里一直保持着广受欢迎的态势。但也正因如此,它被许多开发人员深深地憎恨。

另一方面,随着语言流行程度的提高,其对开发人员的技能要求也越来越高且多,这在无形中增加了开发者的压力。一位名为 Monica Lent 的受访者认为,许多开发人员对 Java 抱有强烈的负面情绪,可能正是因为该语言是他们在职业生涯早期第一次接触到的语言。

Lent 称,许多有经验的工程师在大学里学习了 Java 并作为他们的第一门或主要编程语言。某种程度上,Java 所受到的憎恨可能是因为他们将这种语言与学习代码或学习一种新的编程语言的挫折感联系在了一起。

她还指出,大众对 Java 的狂热度正在持续下降。Python 在 TIOBE 的 11 月排名中超过了 Java 这一现象就是有力的论证。

JavaScript

JavaScript 在最新的 TIOBE 排名中排名第七,与其在 2019 年 12 月的排名一致。同时,自 2000 年以来,JavaScript 每年的平均排名都处在前 10 位。

nVisium 首席执行官 Jack Mannino 认为,JavaScript 在现实应用中可谓是一团糟。在设计上,JavaScript 鼓励使用全局变量之类的反模式,且 JavaScript 的强制类型转换也常常会让开发人员感到困惑。

Hatch 同样对 Javascript 提出了批评。他表示:“如果无处不在会滋生仇恨,那么 Javascript 就是典型”。Javascript 是唯一可以在网络浏览器中运行的通用语言。这也导致,凡是能被批评的地方,它就会被批评。

Javascript 最初并不是作为一种全功能的语言开发的,更多的是作为 HTML 的脚本扩展。这意味着该语言多年来不得不大量发展。而随着它的发展,生态系统也在发展,引入了越来越多的 Javascript 框架,这就导致了开发人员的疲劳以及难以跟上变化。

Tangram Vision 的首席执行官兼联合创始人 Brandon Minor 更是将 Javascript 描述为 “噩梦”。他表示,虽然该语言提供了最初容易学习的语法,但便利性也就到此为止了。Javascript 用户所感受到的 "痛苦"是编程界其他的语言用户无法比拟的。

C++

C++ 是比较受欢迎的编程语言之一,在最新的 TIOBE 排名中位列第四。自 1985 年以来,按照 TIOBE 的排名,C++ 平均每年都会进入前十名,从 1990 年到 2015 年,C++ 的平均排名一直保持在前三名。

Hatch 称,C++ 的受欢迎程度给它招致了来自许多领域的仇恨。具体来说,Hatch 将 C++ 描述为 “C 语言的面向对象扩展”,具有 “一望无际的功能”。不过他也指出,随着语言功能越来越丰富,它们也会变得更加混乱。

Hatch 还表示,自己很喜欢 Linus Torvalds 所说的一句话,即“换句话说,要想做好的、高效的、系统级的、可移植的 C++,唯一的方法就是最终把自己限制在所有 C 语言基本可用的东西上”。而这也意味着 C++ 代码往往非常混乱,并且还有许多难以遵循和理解的 C++ 代码库存在。

Perl

编程界的不满并不只是针对长期以来的行业主力军。有趣的是,Hatch 还表明,Perl 是他最讨厌的编程语言之一。在最新的 TIOBE 榜单中,Perl 没能进入前 10名,总排名第 14,夹在 Swift 和 Ruby 之间。但总的来说,Perl 在过去的一年里的流行度还是有所增长,其在 TIOBE 的 2019 年 12 月榜单中的排名为第 20 名。

Hatch 称,“虽然 Perl 不再被广泛使用,但 Perl 代码仍在挥之不去”。Perl 通常被称为“Write Only”语言,这种对 Perl 的嘲讽强调了阅读 Perl 代码是非常困难的,即使对于一个经验丰富的 Perl 开发人员来说也是如此。更遑论多年来,Perl 也发生了很大的变化。这就意味着旧的 Perl 代码可能与较新的 Perl 代码之间也存在很大的差异。

四种最令人讨厌的编程语言相关推荐

  1. 四种最令人讨厌的编程语言:Java、Javascript、C++和Perl

    喜欢就关注我们吧! TIOBE 12 月榜单已于日前公布,在最新的排行榜中,C 语言仍高居榜首,其次分别是 Java.Python 和 C++.在编程语言这一领域中,许多编程语言都会随着时间的推移而经 ...

  2. 4 种最令人讨厌的编程语言:Java、C++ 上榜

    编译 | 张文 头图 | CSDN 下载自东方 IC VMware 工程总监汤姆·哈奇(Tom Hatch)认为:"开发者对一种语言的讨厌程度往往与它的流行程度成正比." TIOB ...

  3. ASP,php,jsp,ASP.net四种web平台语言的区别与前景

    ASP,PHP,JSP,ASP.NET 这是当前比较流行的四种WEB网站编程语言 现在做网站大部分都是使用这几种语言中的其一 ASP是基于WINDOWS平台的,简单易用,由于是运行在WINDOWS平台 ...

  4. python语言怎么学-Py列为黑客应该学的四种编程语言之一 新手该怎么学

    在开始前先简单和大家说一说:Python是什么.呢? 也许最初设计Python这种语言的人都没有想到今天Python会在工业和科研上获得如此广泛的使用.著名的自由软件作者Eric Raymond在他的 ...

  5. python程序的运行速度在所有计算机语言中最快_【编程专题】实测四种编程语言的运算速度,最快的竟然是它!...

    编程界经常会出现语言鄙视链,各说各的语言怎么怎么的好,那么到底哪种语言好呢?在这里蝈蝈就不发表任何言论了,接下来,我就是想测一下,不同的语言,做同一件事,在运算速度上的差别有多大,由此也可以间接的反应 ...

  6. 易语言和python的运算速度_【编程专题】实测四种编程语言的运算速度,最快的竟然是它!...

    编程界经常会出现语言鄙视链,各说各的语言怎么怎么的好,那么到底哪种语言好呢?在这里蝈蝈就不发表任何言论了,接下来,我就是想测一下,不同的语言,做同一件事,在运算速度上的差别有多大,由此也可以间接的反应 ...

  7. python中内置的四种数值类型为_浅谈python语言四种数值类型

    Python语言支持四种不同的数值类型,包括int(整数)long(长整数)float(浮点实际值)complex (复数),本文章向码农介绍python 四种数值类型,需要的朋友可以参考一下.希望对 ...

  8. 硬核!Python 四种变量的代码对象和反汇编分析

    作者 | 大奎 整理 | 阳哥 来源丨Python数据之道 在Python基础的学习过程中,对变量和参数的理解有助于我们从更基础层面了解Python语言的运行.在这个过程中,还是有不少冷门和细节的地方 ...

  9. java task多线程_JAVA语言-多线程实现的四种方式

    Java多线程实现的方式有四种 · 1.继承Thread类,重写run方法 · 2.实现Runnable接口,重写run方法,实现Runnable接口的实现类的实例对象作为Thread构造函数的tar ...

最新文章

  1. java中实现具有传递性吗_Java中volatile关键字详解,jvm内存模型,原子性、可见性、有序性...
  2. SpringBoot项目中对mysql数据库进行定时备份为sql文件的实现思路
  3. 为什么属龙的有二婚命_76年属龙的二婚在什么时候,76属龙女人婚姻命运怎么样...
  4. 存储类、作用域、生命周期、链接属性
  5. @Transactional 实现原理
  6. 370万开发者,14万家企业!飞桨中国行落地深圳 激发AI软硬件创新发展新动能...
  7. 提示不支持IE6的脚本
  8. ark服务器修改龙属性代码,方舟生存进化修改恐龙颜色指令代码
  9. 【经验总结—2】:深度学习数据集下载网站总结
  10. 程序化广告(二)- 考核指标如CTR/CVR/ROI/ARPU等
  11. Mugeda(木疙瘩)H5案例课—换装小游戏-岑远科-专题视频课程
  12. 【Visio开发工具】用Visio绘制封闭曲面并填充颜色
  13. c语言万年历完整源代码,C语言万年历的源程序
  14. Unity 第三人称人物移动
  15. 梦幻手游网页版校验服务器失败,梦幻神域手游服务器验证失败进不去解决办法...
  16. [跨境工具通]2020年Shopify卖家可以免费使用的10款Dropshipping工具推荐
  17. ms-sql数据类型和access数据类型大全
  18. IDEA配置及常用设置
  19. 安装cnpm淘宝镜像过程报错
  20. Relevance Vector Machine (RVM)简介

热门文章

  1. 条码打印机碳带装反了会怎么样
  2. 【秒懂音视频开发】07_重识音频
  3. 幼儿园视频监控基于H5直播技术应用优势
  4. 诡异的 spring mail 发送邮件问题
  5. HashMap的key为Integer时为什么有序
  6. 2019电赛总结(序)
  7. 【精通内核】Linux内核自旋锁实现原理与源码解析
  8. 回顾陆奇的传奇人生,下一站是“星辰和大海”
  9. php 两层便利的break,php break跳出多重循环实例
  10. python绘制饼图的如何设置高度宽度_Matplotlib添加pictu时调整饼图大小