为了避免引起语言之争,先声明一下,这个榜单统计的是跨语言开发者最讨厌的编程语言,比如你最喜欢使用A语言来编程,那么可能会对其他语言的某些特性看不惯。
这是一种很主观的看法,上榜的语言不代表这个语言不好,只是说明某些开发者不太喜欢这个语言中的某些特性而已。欢迎在评论中说出你对某些语言的看法。
下面这个排名是根据 Quora、Stack Overflow和Hacker 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公司或任何AOLserver或OpenACS平台的公司工作。
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++比较令人讨厌。(这种方法有些开玩笑的意味)
引用来自“紫电清霜”的评论
ruby没有上榜,这是否说明ruby语法适合大众口味哈?
引用来自“沈学良”的评论
引用来自“1u4nx”的评论
引用来自“Frank_mc”的评论
引用来自“崔钢”的评论
引用来自“Frank_mc”的评论
为啥都黑java慢呢,原生java速度很可以啊
Java居然上榜
引用来自“滔哥”的评论
引用来自“晓骏”的评论
python ..受不了缩进。。。。。 那你别用,每门语言都有自己的特色特点,而不是唧唧歪歪的抱怨. 整唧唧歪歪的 那是你没看到 精髓所在
引用来自“hooluupog”的评论
引用来自“打杂程序猿”的评论
引用来自“MinGKai”的评论
引用来自“打杂程序猿”的评论
一看就知道是外行的..竟然说java 慢...在后端语言里..除了c/c++ 能比java 快...还有什么语言能比得上java...
引用来自“Cynic222”的评论
我以为是, "令人讨厌的,编程语言排行榜",进来一看,原来是"令人讨厌的编程语言,排行榜"..
引用来自“晓骏”的评论
python ..受不了缩进。。。。。 那你别用,每门语言都有自己的特色特点,而不是唧唧歪歪的抱怨. 整唧唧歪歪的 那是你没看到 精髓所在
引用来自“晓骏”的评论
python ..受不了缩进。。。。。 那你别用,每门语言都有自己的特色特点,而不是唧唧歪歪的抱怨. 整唧唧歪歪的 那是你没看到 精髓所在
引用来自“哆啦比猫”的评论
引用来自“hooluupog”的评论
引用来自“打杂程序猿”的评论
引用来自“MinGKai”的评论
引用来自“打杂程序猿”的评论
一看就知道是外行的..竟然说java 慢...在后端语言里..除了c/c++ 能比java 快...还有什么语言能比得上java...
引用来自“哆啦比猫”的评论
引用来自“一木四水”的评论
好吧,我很喜欢c 和perl
我最喜欢C和perl了
引用来自“采女孩的小蘑菇”的评论
引用来自“开源狂人”的评论
引用来自“prince399”的评论
我知了,这是搞.NET的人写的。
引用来自“固体De海洋”的评论
总结:不要写程序
引用来自“开源狂人”的评论
引用来自“prince399”的评论
我知了,这是搞.NET的人写的。
引用来自“固体De海洋”的评论
总结:不要写程序
引用来自“hooluupog”的评论
引用来自“打杂程序猿”的评论
引用来自“MinGKai”的评论
引用来自“打杂程序猿”的评论
一看就知道是外行的..竟然说java 慢...在后端语言里..除了c/c++ 能比java 快...还有什么语言能比得上java...
引用来自“EREHMii”的评论
Python因为缩进都上榜了, 为什么ObjC没有因为满屏的中括号上榜?
引用来自“哆啦比猫”的评论
引用来自“hooluupog”的评论
引用来自“打杂程序猿”的评论
引用来自“MinGKai”的评论
引用来自“打杂程序猿”的评论
一看就知道是外行的..竟然说java 慢...在后端语言里..除了c/c++ 能比java 快...还有什么语言能比得上java...
引用来自“prince399”的评论
引用来自“开源中国匿名会员”的评论
引用来自“prince399”的评论
我知了,这是搞.NET的人写的。
引用来自“Cynic222”的评论
我以为是, "令人讨厌的,编程语言排行榜",进来一看,原来是"令人讨厌的编程语言,排行榜"..
引用来自“开源中国匿名会员”的评论
引用来自“prince399”的评论
我知了,这是搞.NET的人写的。
引用来自“hooluupog”的评论
引用来自“打杂程序猿”的评论
引用来自“MinGKai”的评论
引用来自“打杂程序猿”的评论
一看就知道是外行的..竟然说java 慢...在后端语言里..除了c/c++ 能比java 快...还有什么语言能比得上java...
引用来自“一木四水”的评论
好吧,我很喜欢c 和perl
我最喜欢C和perl了
js不想说什么了,流行起来再烂还得用
c++是我见过最恶心的存在
引用来自“隐形人”的评论
不要当程序员
引用来自“Archer_小A”的评论
这是TM要解脱啊!
引用来自“3神”的评论
大家都挺过的语言都上榜了,我觉得排在第一的应该是普通话:语法复杂冗余,语义表达方式太多,只有中国人才能听懂没平台优势……
引用来自“prince399”的评论
我知了,这是搞.NET的人写的。
引用来自“wliang”的评论
全黑了,最后的结论就是不要做程序员。生活很美好,为啥要当程序猿呢。珍爱生命,远离编程。
引用来自“滔哥”的评论
引用来自“晓骏”的评论
python ..受不了缩进。。。。。 那你别用,每门语言都有自己的特色特点,而不是唧唧歪歪的抱怨. 整唧唧歪歪的 那是你没看到 精髓所在
引用来自“SupNatural”的评论
就算你用了括号或大括号来表示代码块,为了可读性还是要控制缩进,何苦呢?
引用来自“prince399”的评论
我知了,这是搞.NET的人写的。
引用来自“打杂程序猿”的评论
引用来自“MinGKai”的评论
引用来自“打杂程序猿”的评论
一看就知道是外行的..竟然说java 慢...在后端语言里..除了c/c++ 能比java 快...还有什么语言能比得上java...
php再次被腹黑
引用来自“晓骏”的评论
python ..受不了缩进。。。。。 那你别用,每门语言都有自己的特色特点,而不是唧唧歪歪的抱怨. 整唧唧歪歪的 那是你没看到 精髓所在
引用来自“MinGKai”的评论
引用来自“打杂程序猿”的评论
一看就知道是外行的..竟然说java 慢...在后端语言里..除了c/c++ 能比java 快...还有什么语言能比得上java...
引用来自“打杂程序猿”的评论
一看就知道是外行的..竟然说java 慢...在后端语言里..除了c/c++ 能比java 快...还有什么语言能比得上java...
不要去当小白
引用来自“KevinJen”的评论
引用来自“hooluupog”的评论
引用来自“ParosFish”的评论
引用来自“打杂程序猿”的评论
一看就知道是外行的..竟然说java 慢...在后端语言里..除了c/c++ 能比java 快...还有什么语言能比得上java...
引用来自“logbird”的评论
引用来自“晓骏”的评论
python ..受不了缩进。。。。。 那你别用,每门语言都有自己的特色特点,而不是唧唧歪歪的抱怨. 整唧唧歪歪的 那是你没看到 精髓所在
无论任何语言 很难想象 没有缩进的代码 改怎么取阅读。。。
引用来自“SupNatural”的评论
就算你用了括号或大括号来表示代码块,为了可读性还是要控制缩进,何苦呢?
引用来自“晓骏”的评论
python ..受不了缩进。。。。。 那你别用,每门语言都有自己的特色特点,而不是唧唧歪歪的抱怨. 整唧唧歪歪的 那是你没看到 精髓所在
不是受不了缩进,而是有“明确癖”,受不了 仅仅靠缩进决定代码的层次逻辑
引用来自“滔哥”的评论
引用来自“晓骏”的评论
python ..受不了缩进。。。。。 那你别用,每门语言都有自己的特色特点,而不是唧唧歪歪的抱怨. 整唧唧歪歪的 那是你没看到 精髓所在
引用来自“ChinaZhang”的评论
引用来自“晓骏”的评论
python ..受不了缩进。。。。。 那你别用,每门语言都有自己的特色特点,而不是唧唧歪歪的抱怨. 整唧唧歪歪的 那是你没看到 精髓所在
引用来自“braviper”的评论
8. JavaScript
上榜理由:区分大小写
区分大小写都能成理由
引用来自“hooluupog”的评论
引用来自“ParosFish”的评论
引用来自“打杂程序猿”的评论
一看就知道是外行的..竟然说java 慢...在后端语言里..除了c/c++ 能比java 快...还有什么语言能比得上java...
引用来自“晓骏”的评论
python ..受不了缩进。。。。。 那你别用,每门语言都有自己的特色特点,而不是唧唧歪歪的抱怨. 整唧唧歪歪的 那是你没看到 精髓所在
不要当程序员
引用来自“logbird”的评论
引用来自“晓骏”的评论
python ..受不了缩进。。。。。 那你别用,每门语言都有自己的特色特点,而不是唧唧歪歪的抱怨. 整唧唧歪歪的 那是你没看到 精髓所在
无论任何语言 很难想象 没有缩进的代码 改怎么取阅读。。。
这明明就是轻松一刻的文章,即使某种语言有很多缺点,但是很多重要领域都在使用。。
拜托那些喷子们。。。 这个网络就被你们带坏了。。。
引用来自“qeemiao”的评论
引用来自“无量神通”的评论
果然C++名列榜首……
引用来自“晓骏”的评论
python ..受不了缩进。。。。。 那你别用,每门语言都有自己的特色特点,而不是唧唧歪歪的抱怨. 整唧唧歪歪的 那是你没看到 精髓所在
引用来自“无量神通”的评论
果然C++名列榜首……
所以这个统计已经无法反映出现在的情形了。
引用来自“ParosFish”的评论
引用来自“打杂程序猿”的评论
一看就知道是外行的..竟然说java 慢...在后端语言里..除了c/c++ 能比java 快...还有什么语言能比得上java...
引用来自“logbird”的评论
引用来自“晓骏”的评论
python ..受不了缩进。。。。。 那你别用,每门语言都有自己的特色特点,而不是唧唧歪歪的抱怨. 整唧唧歪歪的 那是你没看到 精髓所在
无论任何语言 很难想象 没有缩进的代码 改怎么取阅读。。。
引用来自“晓骏”的评论
python ..受不了缩进。。。。。 那你别用,每门语言都有自己的特色特点,而不是唧唧歪歪的抱怨. 整唧唧歪歪的 那是你没看到 精髓所在
无论任何语言 很难想象 没有缩进的代码 改怎么取阅读。。。
引用来自“崔钢”的评论
引用来自“Frank_mc”的评论
为啥都黑java慢呢,原生java速度很可以啊
PS,汇编可以弥补不少上面提到的缺点,不区分大小写 不用块缩进 不缺乏调试功能 还有比指针更灵活的内存操作方式 完全机器思维,熟练了后,什么OOP都可以当浮云了:)还有诸多好处。。。请问你用吗?
引用来自“Frank_mc”的评论
为啥都黑java慢呢,原生java速度很可以啊
引用来自“打杂程序猿”的评论
一看就知道是外行的..竟然说java 慢...在后端语言里..除了c/c++ 能比java 快...还有什么语言能比得上java...
引用来自“晓骏”的评论
python ..受不了缩进。。。。。 那你别用,每门语言都有自己的特色特点,而不是唧唧歪歪的抱怨. 整唧唧歪歪的 那是你没看到 精髓所在
引用来自“SupNatural”的评论
就算你用了括号或大括号来表示代码块,为了可读性还是要控制缩进,何苦呢?
引用来自“MarvinWang”的评论
这是要解脱啊!
引用来自“晓骏”的评论
python ..受不了缩进。。。。。 那你别用,每门语言都有自己的特色特点,而不是唧唧歪歪的抱怨. 整唧唧歪歪的 那是你没看到 精髓所在