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

喜欢就关注我们吧!

TIOBE 12 月榜单已于日前公布,在最新的排行榜中,C 语言仍高居榜首,其次分别是 Java、Python 和 C++。在编程语言这一领域中,许多编程语言都会随着时间的推移而经历人气的激增,以及历史迭代之后的陨落。

为了更好地了解行业发展,TechRepublic 则面向一些行业内的专业人士进行了一次采访,旨在了解最令人讨厌的编程语言是哪些。最后得出的结论为,Java、Javascript、C++ 以及 Perl 名列前茅。

对此,VMware 的工程总监 Tom Hatch 认为,大众对一种语言的讨厌程度与其流行程度成正比,所以往往最讨厌的语言也是最流行的语言,或者说是最有威胁性的语言。

图片:iStock/pcess609

Java

01

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

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

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

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

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

JavaScript

02

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++

03

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

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

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

Perl

04

编程界的不满并不只是针对长期以来的行业主力军。有趣的是,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 代码之间也存在很大的差异。

CentOS创始人开辟新项目Rocky Linux,并火速上线官网

2020-12-11

谷歌正式开放Fuchsia,网友:这是要狙击华为鸿蒙系统呀

2020-12-11

Docker20.10.0发布!K8s弃用Docker后的首个Docker版本

2020-12-11


觉得不错,请点个在看呀

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/306338.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微软用的工具,统一财务三大表及高级分析通用模板

虽然罗叔并非财务专业,但大概了解一些财务常识。例如财务报表的三大报表以及一些常见分析等。本月《BI真经》视频课程即将就绪,后续罗叔将和大家开展更多的业务研究。我们知道,PowerBI 在绘制某些报告时候很难,初学者根本无法实现…

文件 单片机_如何查看你写的单片机程序有多大?

单片机我们都用过,我们知道单片机的FLASH有4K的,有8K的,单片机程序我们也写过,但是我们写好的程序有多大,你知道吗?程序写好并编译后生成hex文件,这个hex文件就是要下载到单片机里的文件&#x…

css less 不要作用到子对象_使用Less实现网站主题切换

v-easy-components change theme很多初学前端的开发同学一定有一种想法,就是如何更改网站的主题。前年(2018),我也陷入了思考,如何切换网站主题呢?当时不知道less,只想到一种办法,就…

展望2021,Java、Go、.NET,谁主沉浮?

伴随着年底.NET社区活动,近日跟几位微软MVP大佬聊天请益,收获颇丰。程序员都有个话题避不开,就是各编程语言的优劣,大佬们的见识既有意思也有深度,这里为大家整理一下,其中Java、Golang和.NET是讨论焦点。J…

labuladong 的算法小抄_关于算法笔试的几个套路,一点就透

以下文章来源于labuladong ,作者labuladong我知道各位是被标题吸引进来的,那就不废话,先说几个算法笔试的硬核套路,再说说语言选择和做题复习的策略。避实就虚大家也知道,大部分笔试题目都需要你自己来处理输入数据&am…

TVP两周年:携手同行,让未来可见

TVP两周年2018年12月15日,在北京的腾讯云社区开发者大会上,作为腾讯云构建开发者生态的重要战略,TVP计划正式发布。2020年12月15日,不知不觉,腾讯云TVP已经走过了两度春秋。从0到1的探索,1到10的成长&#…

加密封装 怎么把_不要再封装各种Util工具类了,这个神级框架值得拥有!

Hutool 谐音 “糊涂”,寓意追求 “万事都作糊涂观,无所谓失,无所谓得” 的境界。Hutool 是一个 Java 工具包,也只是一个工具包,它帮助我们简化每一行代码,减少每一个方法,让 Java 语言也可以 “…

Oh my God, Swagger API文档竟然可以这样写?

最好的总会在不经意间出现。“作为后端程序员,免不了与前端同事对接API, 一个书写良好的API设计文档可有效提高与前端对接的效率。为避免联调时来回撕逼,今天我们聊一聊正确编写Swaager API文档的姿势。基础Swagger用法在ConfigureServices配…

vue 前端设置允许跨域_web 前端的一些小问题

关于vue使用axios post发送json数据跨域请求403的解决方法:1. 问题vue开发的时候,使用axios跨域发送请求,同时post发送的数据格式是json格式,发送出去的时候发现控制台报错403,返回的信息提示是跨域的问题,…

如何在 Windows 10 上安装 WSL 2

翻译自 Joey Sneddon 2020年10月30日的文章《How to Install WSL 2 on Windows 10》 [1]如果您想在最新的 Windows 版本中尝试经过改进的 Windows 子系统 Linux 2 (即 WSL 2) [2],要怎么做呢?我们在本文中介绍了安装它所需要做的所有事情。WSL 2 是微软早…

lnmp无法远程连接mysql_MySQL(一):设置root 可以远程连接MySQL

在mysql在远程主机或虚拟机上时,远程连接mysql数据库一般都使用GUI工具,比如Mac下的Sequel Pro;win和linux下的Sqlyog; 还有大名鼎鼎的Navicat。有人也许会说命令行多好,对着黑黑的屏幕噼里啪啦的一顿敲,屏…

云付认证已通过可以支付吗_海科融通丨刷新支付日常问题【附交易操作步奏】...

01常见问题汇总QPIN秘钥检验出错A:认证时不要频繁点击,点完后等一等系统反应,可联系客服处理。Q报错99,该小商户已入网A:提供商户编号给服务经理处理。Q终端屏幕无法签字A:待机界面,输入#0#&…

邀请函|WorkShop报名通道开启,来就送礼!

作为互联网行业的年度盛会今年除延续以往的开幕与论坛技术分享外还增设了Work Shop 体验课程!参加此次工作坊不仅能近距离和大佬进行互动体验项目开发的快感还能领取大会纪念卫衣、书籍等惊喜好礼是不是很期待?(数量有限先到场先得&#xff0…

对象数组参数_【JavaScript 教程】标准库—Array 对象

作者 | 阮一峰1、构造函数Array是 JavaScript 的原生对象,同时也是一个构造函数,可以用它生成新的数组。var arr new Array(2);arr.length // 2arr // [ empty x 2 ]上面代码中,Array构造函数的参数2,表示生成一个两个成员的数组…

机器学习之无监督学习——聚类

机器学习之无监督学习——聚类无监督学习一、基于划分的聚类方法1、基于划分的方法 简介A、概念B、分组C、分组与样本 对应关系D、硬聚类 与 软聚类二、基于层次的聚类方法1、基于层次的聚类方法 概念 :2、基于层次的聚类方法 :A、聚合层次聚类 ( 叶子节点到根节点 )聚合层次聚…

2020 . NET大会日程公布!行程亮点全曝光

|倒计时5天文末有福利答应我看到最后|2020年12月19日由.NET众多社区联合组织主办的2020年中国.NET开发者大会将于苏州盛大开幕时间:2020/12/19-12/20主题:开源、共享、创新地点:苏州人工智能产业园▽本次大会以“开源、共享、创新”为主题&am…

橡皮擦_日本推出改邪归正橡皮擦,看得我头顶一凉

▲▲▲点击查看▲▲▲日本,可以说是文具控的天堂。各种不按套路出牌,又十分合理有趣的文具,真是太多太多。就比如这块「改邪归正橡皮擦」:这么看,你可能看不出到底怎么个改邪归正法,但其实它的创作灵感来自…

三菱四节传送带控制梯形图_一文讲透FX5U PLC程序控制指令及步进梯形图编程

三菱PLC在80年代进入中国市场,已有30多年历史。由于三菱PLC编程易学,功能强大,深受中国用户喜爱。随着时间推移,市场上已经淘汰掉二代产品,关系图如下:说明90年代老型号2000年代老型号低端小型机FX0SFX1S中…

在 ASP.NET Core 中使用多种方式给 Action 传参

ASP.NET Core 是一个跨平台,开源的,轻量级,高性能 并且 高度模块化的web框架。在 ASP.NET Core MVC 中有很多种方式可以给 Action 方法传递参数,比如说:url方式,querystring方式,request header…

WinUI 3 Preview 3 发布了,再一次试试它的性能

1. WinUI 3在微软 Build 2020 开发者大会上,WinUI 团队宣布可公开预览的 WinUI 3 Preview 1,它让开发人员可以在 Win32 中使用 WinUI。最终 XAML 的新功能不再和 Windows SDK 绑定,所有新的 XAML 功能都将作为 WinUI 的一部分发布。作为 OS 的…