阅读更多

15顶
25踩

编程语言

原创新闻 令人讨厌的编程语言排行榜

2013-09-26 15:35 by 副主编 wangguo 评论(68) 有70732人浏览
为了避免引起语言之争,先声明一下,这个榜单统计的是跨语言开发者最讨厌的编程语言,比如你最喜欢使用A语言来编程,那么可能会对其他语言的某些特性看不惯。

这是一种很主观的看法,上榜的语言不代表这个语言不好,只是说明某些开发者不太喜欢这个语言中的某些特性而已。欢迎在评论中说出你对某些语言的看法。

下面这个排名是根据 QuoraStack OverflowHacker News上相关帖子统计出来的。

10.  Python

上榜理由:代码缩进是用来指定块的结构,为什么不用括号或大括号呢?此外,大量使用冒号和下划线,模块、变量名冲突等。

如何避免:不要去Google、Yahoo或NASA工作

9.  LabVIEW

LabVIEW是一种由美国国家仪器(NI)公司研制开发的、类似于C和BASIC开发环境,使用图形化编辑语言G编写程序,产生的程序是框图的形式。

上榜理由:LabVIEW相当抽象,以致于将简单的问题变得极其复杂。这完全违背了其最初的目的。

如何避免:远离仪器控制类或工业自动化类的编程工作。

8.  JavaScript

上榜理由:区分大小写,跨浏览器需要不同的实现,缺乏调试功能(尽管可以使用Firebug)和奇怪的继承规则。

如何避免:不要去当Web开发人员。

7.  Tcl

Tcl是一种脚本语言,最早称为工具命令语言(Tool Command Language),但是目前已经不是这个含义。由John Ousterhout创建,经常被用于 快速原型开发 RAD、脚本编程、GUI和测试等方面。

上榜理由:语法太简单了,缺乏指针,无法通过引用来传递;将数组存储为字符串;可怜的list语义和混乱的变量范围。

如何避免:不要去Cisco、AOL或CNET公司或任何AOLserverOpenACS平台的公司工作。

6.  COBOL

COBOL(Common Business Oriented Langauge,面向商业的通用语言),又称为企业管理语言、数据处理语言等,这是一种面向数据处理的、面向文件的、面向过程(POL)的高级编程语言,是一种功能很强而又极为冗长的语言。

上榜理由:极其繁琐的语法(目的是对非程序员可读);版本之间不兼容;缺乏面向对象编程、函数和指针等特性。

如何避免:不要去 政府、金融领域或军用企业工作。

5.  C++

上榜理由:庞大的函数集;手动内存管理;编译速度慢;事实上,它允许程序员在同一程序中同时使用面向对象和面向过程的编程模式。

如何避免:一般情况下,不要去Adobe、Google游戏领域工作。

4.  PHP

上榜理由:大量函数存在不一致的命名约定;安全漏洞;无法原生支持Unicode;经常被混和在一些演示代码(如HTML、CSS)中。

如何避免:如果你从事Web方面的工作,这是很难避免的。但是,对于初学者来说,可以不去Facebook工作,远离Wikimedia、Wordpress、Joomla和Drupal即可。

3.  Java

上榜理由:语法冗长;慢;不容易传递函数;API过度设计;它能做的,其他语言也都能做,并且更加高效。

如何避免:不要去当程序员,或不要使用Android SDK来开发任何应用程序。

2.  Perl

上榜理由:Perl中完成一件事有太多种方法,使得你很难去理解其他人编写的代码;太简洁,即使一段代码实现的是最简单的事情,看起来也难以去阅读、维护。

如何避免:不要去当程序员。

1.  Visual Basic

上榜理由:它的语法被认为过于冗长和陌生,需要动态链接库才能去运行它的代码;对于面向对象编程的支持很有限;事实上,自从1998年以来,微软已经不再提供正式支持了。

如何避免:避免为开发老旧的Windows应用程序的公司工作。

另外一种统计方法

下面这种方法是根据Github上托管的代码库统计出来的,开发者使用GitHub API来统计Github项目代码中出现“WTF(What the f**k)”字符串的数量,来确定项目开发者对于某种语言的某些特性的讨厌程度,可见C++比较令人讨厌。(这种方法有些开玩笑的意味)



你是否讨厌某些语言中的某些特性呢?欢迎在评论中说出你的看法。

Via itworld
  • 大小: 44.6 KB
15
25
评论 共 68 条 请登录后发表评论
68 楼 lchb369 2014-07-20 23:42
楼主是胡说八道这些大公司都需要各种程序员谁说不会Java就不要当程序员了。,
67 楼 li5951680 2014-01-06 13:43
js 要调试浏览器是因为浏览器各式各样,ie做的奇葩,怎么能怪js呢?哪个对象犯了错误都分不清,还出来说自己是程序员?
66 楼 liangjian103 2013-12-30 09:13
PetriNet 写道
煞笔观点,语言于问题域只有合适与不合适的说法,居然津津有味的探讨好坏,我去,这些人白当程序员了,甚至是玷污程序员。程序员队伍就是因为这种脑子进屎的人太多了才变得乌烟瘴气。

说的很对,多数程序员都是一群整体乱吐槽 不专心研究技术的残渣,不断诋毁着程序员的形象。
65 楼 shuhen2011 2013-11-06 12:16
erictang2003 写道
js 是函数式语言,你偏要用来弄java那种继承,你说怪异你活该,函数式的那种灵活性根本就不是java能比的

对头,函数式再加上Nodejs的异步,爽极了
64 楼 sawadari_k 2013-10-09 13:16
逆风翔 写道
没有C。java第三。。额额。

C语言很好玩的
63 楼 逆风翔 2013-10-09 13:11
没有C。java第三。。额额。
62 楼 loadinger 2013-10-08 14:49
好吧,大家来asm吧,抛弃c java php js python ...
61 楼 x125858805 2013-10-08 09:38
  不要去当程序员,多精辟……
60 楼 white_crucifix 2013-10-07 23:12
快乐的吐槽结束后再仔细看看文中所说的各个语言的缺陷,其实大部分还是有道理的。

记得在linux上学perl的时候,当时看小骆驼书,看了几个章节后,总是觉得有一种说不出的感觉,其实就是文中所说的“完成一件事有太多种方法”,各种@$符号,各种缺省变量,一个for循环可以搞出好多种写法,一个文件写入也可以有好几种方法。对于初学者要么只盯着一种学,不然极容易搞混。当然,逐渐熟练以后,perl就是你在linux上的脚本利器。

Java,作为一门背负着历史包袱的语言,我们不能强求它像很多现代语言一样有着惊艳的语法特性,当然java7 java8也在不断的跟紧时代潮流,带来了lambda,auto close等等。但是奇葩的try catch结构,臃肿的IO嵌套语法等等诟病已久,并且极有可能将一直伴随之java的消亡之日。

Python,怎么说呢,虽然你很现代化,但是也不用把大括号给省略掉吧……当然在强迫程序员写出规范的代码风格这一点,这个特性就有功劳了。另外,Python的性能问题也是所有动态语言通有的缺陷。当然,做一个普通的web,或者linux端工具,非常方便。

JS近年来不断打入后台领域,node独领风骚,直接将LinkedIn性能翻了个天。JS继承规则的确有点奇葩,强行模拟出面向对象,实在是难为JS了。另外,node的异步编程可谓锋利但易伤手,同步异步异步同步,你还弄的清楚吗?
59 楼 hekuilove 2013-10-07 21:54
给撸主来一个总结,不要当程序员
58 楼 wayswang 2013-10-07 14:56
这是把主要的语言都黑了个遍啊
57 楼 贫僧法号虚脱 2013-10-05 22:09
sawadari_k 写道
贫僧法号虚脱 写道
sawadari_k 写道
COBOL。。。这个语言还有人在学吗?

我就是那个苦逼的。

听说那个语言很繁琐很难学,是真的吗?

不算是很难的吧,但是形式很土,跟C,JAVA等语言比起来,丑得一塌糊涂。反正呢我在公司都是纯文本编辑的,那种感觉你应该能想象到的。
56 楼 sawadari_k 2013-10-05 20:34
贫僧法号虚脱 写道
sawadari_k 写道
COBOL。。。这个语言还有人在学吗?

我就是那个苦逼的。

听说那个语言很繁琐很难学,是真的吗?
55 楼 贫僧法号虚脱 2013-10-05 17:50
JonathanWang 写道
ray_linn 写道
COBOL ...从2000年开始,银行系统就很少用到COBOL,至少在中国是如此,核心系统一般是C。


银行用Cobol的还是不少

国内确实不多,但是国外的很多的银行、证券机构还在用cobol。
54 楼 贫僧法号虚脱 2013-10-05 17:49
sawadari_k 写道
COBOL。。。这个语言还有人在学吗?

我就是那个苦逼的。
53 楼 QI程序猿 2013-10-04 17:39
有没有受欢迎的排行榜?
52 楼 lw900925 2013-10-03 20:01
不要去当程序员,多精辟……
51 楼 PetriNet 2013-10-03 18:48
煞笔观点,语言于问题域只有合适与不合适的说法,居然津津有味的探讨好坏,我去,这些人白当程序员了,甚至是玷污程序员。程序员队伍就是因为这种脑子进屎的人太多了才变得乌烟瘴气。
50 楼 sawadari_k 2013-10-01 12:24
COBOL。。。这个语言还有人在学吗?
49 楼 leixiaohua1020 2013-09-30 23:59
不要当程序员了~

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • brainfuck-cpu:让我们假设汇编语言令人讨厌!

    Brainfuck CPU 我想这是一个实验,我们...现在,我的目标是能够在该CPU上运行C代码,因为C是最常用的编程语言。 我认为最好的主意是从创建能够运行高级语言(例如汇编语言)的虚拟机开始。 确实,Brainfuck是一种低级

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

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

  • 四种最令人讨厌的编程语言

    有时,开发人员对某一特定语言的特别不屑可能与开发人员对编程语言的熟悉程度有关,而不是对该语言有什么内在的负面情绪所致。Hatch 就表示,虽然他觉得 Java 是一门伟大的语言,但他个人却讨厌 Java。因为 Java 是...

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

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

  • 最令人讨厌的编程语言:C++ Java 上榜

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

  • 来了来了,评选程序员十种最令人讨厌的编程语言?不引战和谐讨论~

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

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

    参考链接:https://www.techrepublic.com/article/the-4-most-hated-programming-languages-experts-pile-on- JavaScript -c-and-more/ ...VMware 工程总监汤姆·哈奇(Tom Hatch)认为:“对一种语言的讨厌程度往往与.

  • 令人讨厌的编程语言排行

    为了避免引起语言之争,先声明一下,这个榜单统计的是跨语言开发者最讨厌的编程语言,比如你最喜欢使用A语言来编程,那么可能会对其他语言的某些特性看不惯。  这是一种很主观的看法,上榜的语言不代表这个语言...

  • Stack Overflow:最令人讨厌的编程语言

    关注「实验楼」,每天分享一个...在我们的团队中,我们很高兴看到R相对于喜欢它的人来说,并非最令人讨厌的编程语言。正文共:3415 字 预计阅读时间:9 分钟在Stack Overflow Jobs上,你可以创建你自己的Developer Sto

  • 令人讨厌的

    但是,我一直对编程充满热情,并且目前正在使用和精通Docker和K8s。 自2016年3月以来,我一直是一名狂热的Python程序员,我更喜欢这种语言。 我还涉猎了Rust,C ++和C等低级语言。 Kotlin / Java是业余爱好,但是...

  • 编程语言的选择_选择编程语言

    编程语言的选择 使用哪种编程语言可能是项目面临的最大的技术决策。 这一决定会影响随后的每个决定-从您可以使用的框架和库,到您雇用的人员。 那么,如何选择要使用的编程语言呢? 事实是,您可能会做大多数人都在...

  • 最令开发者讨厌的4门编程语言,C++ Java 上榜!看看有没有你讨厌的!

    中国有句古语:干一行,爱一行。话虽如此,但爱一行并不代表完全包容吧,至少本文就选出了 4 种令开发者讨厌的编程语言…… ... 以下为译文: VMware 工程总监汤姆·哈奇(Tom ...TIOBE 排行榜每个月都会发布编程语言.

  • 为CString 类型数据添加回车换行符!

        在CString中不能直接访问指定位置的字符,所有要GetBuffer获得字符串指针,然后在字符串末尾添加回车、换行字符(回车的ASCII码是13,换行的ASCII码是10);   例子代码:   CString strTemp;  LPTSTR pStr;   int nLen=strTemp.GetLength();  pStr=strTemp.GetBuffer(nLen+2);  

  • 常用ASCII 码对照表

    ASCII码 键盘 ASCII 码 键盘 ASCII 码 键盘 ASCII 码 键盘 27 ESC 32 SPACE 33 ! 34 " 35 # 36 $ 37 % 38 & 39 40 ( 41 ) 42 * 43 + 44 45 - 46 . 47 / 48 0 49 1 50 2 51 3 52 4 53 5 54 6 55 7 56 8 57 9 58 :

  • 纯资源dll库连接的LNK1120错误!

    错误现象: LINK : error LNK2001: unresolved external symbol __DllMainCRTStartup@12Debug/newres.dll : fatal error LNK1120: 1 unresolved externalsError executing link.exe.   解决方法: 在Setting->Link->Project Opt

  • 如何SDI、MDI的ChildFrame初始化为最大化窗口?

       有两种方式可以让子窗口最大化,一种是在动态创建CChildFrame的时候,一种是在创建CChildFrame以后,显示CChildFrame的时候:    1、动态创建CChildFrame窗口,代码如下:     CCreateContext context;       context.m_pCurrentDoc=pDocument;   context.m_pNewDocTempla

  • 在CScrollView中使用双缓存画图的拖动问题

     原因:    在CScrollView中需要画图功能,而且画图的大小超过屏幕的实际大小,为了解决屏幕闪烁的问题,采用了双缓存画图的方法(在内存首先画出图象,然后粘贴到屏幕上),然而,当拖动滚动条的时候,产生了屏幕重叠的问题,下面是具体的解决方法;思路: 首先在OnDraw函数中画图,下面是简单步骤;1、  使用CreateCompatibleDC函数,生成一个内存DC2、

  • 使用CrystalEdit做一个文本编辑器

    The package consists of three main classes: CCrystalTextBuffer class is responsible for storing lines, loading and saving text to a file. To simplify Undo/Redo command implementations, every editing

  • 解决CListCtrl中第一列元素的只有左对齐问题的两种方法?

         问题:在CListCtrl中第一列元素只能左对齐,下面是msdn中的说明!CListCtrl::InsertColumnInserts a new column in a list view control. int InsertColumn(   int nCol,   const LVCOLUMN* pColumn );int InsertColumn(   int nCol,  

Global site tag (gtag.js) - Google Analytics