中国有句古语:干一行,爱一行。话虽如此,但爱一行并不代表完全包容吧,至少本文就选出了 4 种令开发者讨厌的编程语言……

参考链接:https://www.techrepublic.com/article/the-4-most-hated-programming-languages-experts-pile-on-

编译 | 阿哲

头图 | CSDN 下载自东方 IC

出品 | CSDN(ID:CSDNnews)

以下为译文:

VMware 工程总监汤姆·哈奇(Tom Hatch)认为:“开发者对一种语言的讨厌程度往往与它的流行程度成正比。”

TIOBE 排行榜每个月都会发布编程语言的排名变化趋势,在最新的榜单中,C 语言位居榜首,接下来依次是 Java,Python 和 C ++。了解了开发者最常用的编程语言,那么他们讨厌的编程语言会是哪些呢?不妨一起来看下。

JAVA

有时候,如果某个开发者对某一编程语言不屑一顾,那与其说他是受到该语言已有的负面评论影响,倒不如说是他对那种语言的熟悉程度给他造成的影响更大。举个例子,哈奇说,尽管他觉得 Java 是一门伟大的语言,但他个人很讨厌 Java,因为大部分开发者都不了解面向对象的编程(OOP)结构。

哈奇表示:“ Java 在 90 年代后期开始占主导地位,自那以后一直蝉联‘使用最广泛的编程语言之一’的桂冠。但即使如此,它依然被许多开发者深深地憎厌。Java 是一种强有力的强制 OOP 结构语言,它要求开发者积极遵循该范例。然而,这样的特性增大了大型代码库的搭建和移交难度。”

编程语言的快速发展和广泛使用能够提高开发者工作必需的能力。正如我们在之前讨论的那样,新生的编程语言要超越诸如 Java 之类的早期语言,可能要花费相当长的时间,以至于在 Java 诞生四分之一个世纪之后,它仍然是规划教育课程的一个常见部分。

从前是技术主管和工程经理,现在以独立开发者的身份创建产品的莫妮卡·兰特(Monica Lent)解释说,许多开发者可能对 Java 抱有强烈的反感,因为这是他们在职业生涯初期就开始接触的语言。

Lent 通过电子邮件向我们传达:“当今许多经验丰富的工程师在大学里就将 Java 作为他们的第一或主要编程语言来学习。他们厌恶 Java 的原因可能是想起了从前学习编码的过程中遭遇到的挫败感”。他还提到,在 TIOBE 的 11 月排名中,Python 排名超过 Java ,这证明了 Java 的受欢迎程度在持续下降。

JavaScript

JavaScript 在最新的 TIOBE 排名榜中排在第 7 位,与 2019 年 12 月所保持的地位相同。自 2000 年来, JavaScript 每年平均排名均在前十,这足以证明 JavaScript 的影响力是长久的。在 2014 年的时候,JavaScript 由于评分激增,入选了 TIOBE 的 Programming 中语言名人堂(Language Hall of Fame)。这也表明,即使是长期流行的编程语言,仍然有可能因为各种原因引起开发者的不满。

nVisium 首席执行官 Jack Mannino 借由电子邮件告诉我们,“可能我的观点和别人有些不同。在我看来,虽然 JavaScript 普及程度很高,但事实上它的使用体验很糟糕。从设计上来说, JavaScript 鼓励开发者使用诸如全局变量之类的反模式,然而, JavaScript 的类型强制方法却常常困惑者开发者。”

在 JavaScript 还没广泛普及的时候,Mannino 曾建议 TypeScript 修改 JavaScript 的许多缺点。哈奇同样也发表了有关 Java 的批评。他说:“如果无处不在意味着令人讨厌,那么 JavaScript 将会是这方面的典型代表。因为它是在网络浏览器中运行的唯一通用语言。这代表着,无论什么地方出错,它都会受到批评。”

哈奇继续说道:“ JavaScript 最初并不是作为一种全功能的语言开发的,而更多是作为 HTML 的脚本扩展而开发。它这些年来一直在大量增长。生态系统随着 JavaScript 的不断发展引入了越来越多的框架,这使得试图跟上变化的开发者感到疲倦。”

Tangram Vision 的首席执行官兼联合创始人 Brandon Minor 将 JavaScript 描述为一场“噩梦”。他认为,尽管 Java 语言最初提供了易于学习的语法,但由于 JavaScript 的发展,这些方法早已不再适用。他在邮件里这样写道:“运行任何一个静态网页都需要认真地搭建和经验,其中大部分只是作为社区内的部落知识。除此之外,包装系统的依赖性经常相互干扰,甚至完全中断。”

C ++

在最新的 TIOBE 排名中,C++排名第四。自 1985 年以来,C++在 TIOBE 的排名中平均每年排名均在前十,尤其是 1990 年到 2015 年,一直保持在前三名。

哈奇认可 C++的流行性,同时也表示 C++引起了很多领域的讨厌。

他将 C++描述为具有“大量功能”的“ C 的面向对象扩展”,并指出:“由于语言功能过于丰富,它们也可能变得过于混乱”。

“我喜欢 Torvalds(注:Torvalds 创造了 Linux 操作系统 )所说的,换句话说,做好、高效、系统级和可移植 C++的唯一方法最终将自己限制在 C 语言中所有可用的东西上。这意味着 C++代码通常非常混乱,并且在那里很难遵循和理解 C++代码库。”

Perl

有趣的是,编程界的不满并不仅仅针对长期流行的编程语言。哈奇还提到 Perl 是他最讨厌的编程语言之一。

在最新的 TIOBE 列表中,Perl 未能跻身前十名,仅排名第 14 位,介于 Swift 和 Ruby 之间。但不管怎么说,Perl 的知名度提高了,它在 TIOBE 的排行榜上从 2019 年 12 月排第 20 名上升了。虽然 Perl 不再被广泛使用,但Perl代码的影响仍在继续。Perl 通常被称为 “Write Only” 语言,这种对 Perl 的抨击强调了阅读Perl代码是非常困难的,即使对于经验丰富的 Perl 开发者也是如此。多年来,它也发生了重大变化,较新的 Perl 代码看起来与旧式的 Perl 代码完全不同。

原文:https://www.techrepublic.com/article/the-4-most-hated-programming-languages-experts-pile-on-

本文为 CSDN 翻译,转载请注明来源出处。

CSDN中国开发者大调查来了,戳阅读原文,为你喜爱的编程语言打Call!

最令人讨厌的编程语言:C++ Java 上榜相关推荐

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

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

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

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

  3. 十种最令人讨厌的编程语言,你使用的语言上榜了吗?

    本榜单统计的是跨语言开发者最讨厌的编程语言,比如你最喜欢使用A语言来编程,那么可能会对其他语言的某些特性看不惯.这是一种很主观的看法,上榜的语言不代表这个语言不好,只是说明某些开发者不太喜欢这个语言中 ...

  4. php serialize和json_encode哪个更快_世界 10 大编程语言,Java 不是第一,PHP 才第五...

    来源:toutiao.com/a6764554659349676557/ 如果你是软件开发领域的新手,那么你会想到的第一个问题是"如何开始?"编程语言有数百种可供选择,但是你怎么发 ...

  5. TIOBE 12 月编程语言排行榜:争夺年度编程语言,Java、C、Python、C# 即将开战!...

    年末将至,谁将摘得年度编程语言称号? 整理 | 屠敏 出品 | CSDN(ID:CSDNnews) 须臾之间,2019 年余额已不足一月,还记得你年初设下的那些小目标吗?它们都实现了吗? 在过往的这一 ...

  6. TIOBE 11 月编程语言:Java 首次跌出前二;基于Pytorch的Kornia可微分计算机视觉库开源...

    开发者社区技术周刊又和大家见面了,萌妹子主播为您带来最新一期"开发者技术联播".让我们一起听听,过去一周有哪些值得我们开发者关注的重要新闻吧. TIOBE 11 月编程语言:Jav ...

  7. 2012年9月编程语言排行榜 Java并不应该被取代

    [51CTO独家特稿]TIOBE今天公布了九月份编程语言排行榜,八月和七月相比来说,并没太多显著的变化,PHP从第7的位置上升到第六,但比2011年来说仍有下滑的趋势.另外还有变化的则是Lua和上月相 ...

  8. 本周上榜程序员专业新书6本,其中Python书2本,算法书1本

    本周有哪些上榜新书,小编来与您分享下,看看这些专业书籍中有没有你已经正在读的. 1.数据结构与算法之美(全彩印刷) 王争 著 20个经典数据结构与算法 100个真实项目场景案例,300多幅算法手绘图解 ...

  9. 世界10大编程语言,Java不是第一,PHP才第五

    点击上方"Java之间",选择"置顶或者星标" 你关注的就是我关心的! 来源:www.toutiao.com/a6764554659349676557/ 上一篇 ...

最新文章

  1. 字节跳动一面:i++ 是线程安全的吗?
  2. php getimagesize图片宽高反了_PHP实现简单验证码识别
  3. 一个经典面试题:如何保证缓存与数据库的双写一致性?
  4. 一些在NLP的面试中提问频率非常高的问题
  5. jQuery.parseJSON()函数详解
  6. 使用Intent来启动Activity并传递参数
  7. iOS 开发-文件下载原理
  8. Mybatis源码阅读(三):结果集映射3.2 —— 嵌套映射
  9. linux centos7重启路由命令行,centos7 永久添加静态路由
  10. BDD敏捷开发入门与实战
  11. 升级drupal4.0.0_Drupal从1.0到8.0的简要历史
  12. 数据分发服务器管理系统,地图差分数据分发系统、地图差分数据分发装置、地图数据保有装置、更新管理服务器、以及地图差分提取服务器...
  13. Linux的触屏手势软件安装,如何添加Mac的多点触控手势到Ubuntu | MOS86
  14. #include““ 和 #include<>
  15. 【深入理解JS核心技术】3. 调用、应用和绑定有什么区别
  16. 物联网产业链及通信模组详述
  17. java学习心得---循环结构
  18. 【排序】直接选择排序
  19. 查看计算机硬件配置方法(包括内存条、显卡型号,卡槽还剩几个)
  20. 十年架构师留下最完整的Java学习路线,学完年薪40W

热门文章

  1. html生成表格table
  2. pycharm里生成requirements.txt
  3. Hadoop3集群搭建之——hive添加自定义函数UDTF (一行输入,多行输出)
  4. 如何测试服务器上数据库服务器能否连接上
  5. Qt界面UI之QML初见(学习笔记四)
  6. 17.1.1.3 Creating a User for Replication 创建一个用于用于复制:
  7. Tensorflow图像调整大小
  8. java+串行和并行的区别_Java8新特性_并行流与串行流
  9. mac os 开启redis_【漫画】谈谈Redis持久化
  10. 剑指offer之青蛙跳台阶