阅读更多

9顶
8踩

编程语言
我最近写了几篇比较严肃的博客,是关于一些沮丧的事情,结果我开始有些忧郁。很严重。所以,我想应该说些比较轻松的事情。我要做的就是数落大家最喜欢的编程语言。你会问我为什么,为什么要搞这种恶作剧?亲爱的朋友,我能想出三种理由。

  • 我无聊,没有更好的事情去做。
  • 我自命不凡,坐在家里,深知即使我侮辱了你编程最喜欢用的语言,你也拿我没辙。除非你能发明出这样的东西:


  • 我忘了第三个理由是什么,但我敢肯定,那一定是一个非常有趣的理由。
好了,不再浪费口舌,你最深爱的编程语言其实很烂。

1. C语言

哦,你听说学习C语言是必须的,因为大师Joel Spolsky这样告诉你的。他说了这种语言是最优秀的,最能体现编程语言的本质,等等等等。然而,当你花了20个小时调试一个弱者的bug,却发现是某个鸟人忘了检查存储的指针。请告诉我,最有本质特色的编程语言有多好?或者花10天时间在百万个函数中找出哪一个没有释放内存。哦,没错,我的老弟,你简直爱死C语言了。

让我来告诉你用C语言编程时的感觉:把你的手握成拳头。对,握紧。现在使劲揍自己。恭喜,你现在就是一名C语言程序员了。

2. C++

让我来给你开开窍。你喜欢上一种囊括所有C语言的丑陋的语言,而且在此之上还增加了自己的丑陋。就如狗屎上再堆一层狗屎,每过几年就会增加一层。

10行C++代码的编译要用去45分钟,而抛出的错误信息比《指环王》戒指上的那一行字还要扼要。

“甘道夫17年后回来。‘我一直在研究大量的古文献,’他说。‘答案很明显。这是一个模板错误。但我不会告诉你,因为这是一种很垃圾的语言,这种错误不会重现’’”.

等一下,你在说C++11吗? 这就是它:



3. Java

Hi,你好!我需要有人写超级复杂而且超级冗余的代码。我还希望我的虚拟机在打了最新的安全补丁后每隔一天崩溃一次。对于Windows程序,我需要无论在什么操作系统上都显示一样的屎难看。你说你能帮助我?太好了!

4. C#

让我来揭穿你。你不够男人,没法学C++,于是你不得不接受这个C++和Java的私生子。去写你的Windows程序吧,你这个懦夫。你不知道所有的酷孩子都在用Linux吗?

5. Visual Basic

像这样一种既能阻止犯罪又能抓捕凶手的编程语言,我无言以对。(观看Youtube视频

6. Lisp, Haskell以及其它函数式编程语言

所有的这些语言,没有一个能有资格称得上所谓的数学上的优雅的函数式编程语言。至少其它类型的语言解决过真正的问题。而Lisp/Haskell之流都活在一个幻想世界——带着墨镜,喝着美酒,写着优雅的代码。他们永远都拿那些卡通式例子给人看。“你能写出这么纠结的代码例子吗?Haskell就是比C语言好。”你说的很对,老爷爷。

还有,阅读《计算机程序的构造和解释》和其它像这样的大部头计算机书籍没有提高我的编程水平。即使阅读《格雷的五十道阴影(50 shades of grey)》这样的色 情小说或任何吸血鬼爱情小说都比你看Scheme和Haskell书籍要学到更多的编程知识。



7. Delphi/Pascal

切。

8. Python

你看这篇博客需要有领导的批准吗?Python就像一种编程语言宗教。所有的东西都要用它开发——先知这样说。否则我们都冷眼看你。

瞧瞧,这是邪教,却假装是一种编程语言。

9. Ruby

看看我!我是那种很酷的人的编程语言。买一杯咖啡,在星巴克坐8个小时,上着免费的wifi。大声的谈论着他们有多酷。

所有他们说的话的主旨就是友好的做程序员。Ruby主要是用Rails的人群使用,他们很多根本不懂编程。嗨,ruby们!闭嘴少说一分钟行不行,让其它人也说几句。

10. Perl

Dudeyouaresuchamessylanguage,Isometimeswonderhowanyonewritesanythingwithyou.Ireallycan'tunderstand anycode.

11. PHP

你为什么会在这里?你是从让所有Wordpress网站崩溃的事情中找到了一点空闲时间?你不是还有另外一个安全补丁要更新吗?如果你还想让代码写的更乱,相信Perl语言能帮你。

12. Javascript

如果你认为JavaScript是一种编程语言,那估计你认为HTML也是一种编程语言。去写你的HTML代码吧,孩子。

13. 任何在这里没有提到的编程语言

你的编程语言如此的烂,我都不屑去写它。

14. LolCode 和 Brainfu*k

好啊好啊!终于有人知道如何写代码了。拍拍自己的背欣慰一下吧。

如果我还忘了什么语言,那请你在评论里糟蹋它吧。

英文原文:Your Favorite Programming Language Sucks / 译文:外刊IT评论
  • 大小: 57.3 KB
  • 大小: 37.8 KB
  • 大小: 12.5 KB
来自: 外刊IT评论
9
8
评论 共 16 条 请登录后发表评论
16 楼 youhuiran711 2014-05-08 10:35
哈哈 可是闲的没事了 我也想写写消极的东西了
15 楼 春城飞花-JunTao 2014-05-07 14:48
就像作者说的一样,每种语言都有硬伤呀。
14 楼 bluky999 2014-05-07 14:14
逗比 哈哈哈  太逗了
13 楼 tianxiark 2014-05-06 15:59
12 楼 shuhen2011 2014-05-06 14:38
echo "我不会编程"
11 楼 Audi 2014-04-25 17:42
10 楼 archy123 2014-04-25 13:24
哈哈哈哈哈哈哈哈
9 楼 SapphireR 2014-04-24 11:31
<span style="color: blue;">吐槽的很到位</span>
8 楼 hooloo 2014-04-23 16:23
真糟糕!!!
7 楼 补魔党 2014-04-23 14:51
<span style="color: yellow;">我不会编程</span>
6 楼 luanzz 2014-04-22 13:53
的闪光灯的好
5 楼 dsjt 2014-04-22 11:18
java 吐槽 一点都不过瘾啊
4 楼 白青龙 2014-04-22 08:52
作者很有意思!
3 楼 liujiaoshui 2014-04-21 17:22
干点实事吧。。。
2 楼 freezingsky 2014-04-21 14:39
挺有趣的杂文。
1 楼 yunzhu 2014-04-21 13:03
原作者真是够无聊的

发表评论

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

相关推荐

  • 【Java】Spring中BeanUtils.copyProperties的坑及解决

    如果需要将源对象中的属性拷贝到目标对象中,包括目标对象中继承自父类的属性,可以使用其他的 Java 对象映射工具,比如 Hutool的 BeanUtil、Apache Commons BeanUtils 和 Dozer 等。方法是基于 Java 反射实现的,它...

  • Spring的BeanUtils.copyProperties属性复制避坑

    BeanUtils.copyProperties的属性复制规则

  • BeanUtils.copyProperties()和JSONObject.parseObject()分别是哪种拷贝类型(浅拷贝 or 深拷贝)

    目录 一、结论 二、证明BeanUtils.copyProperties()是浅拷贝 三、证明JSONObject.parseObject()是深拷贝 四、总结 一、结论 BeanUtils.copyProperties():浅拷贝 JSONObject.parseObject():深拷贝 二、证明...

  • BeanUtils.copyProperties问题与深拷贝、浅拷贝

    BeanUtils.copyProperties拷贝

  • Spring的BeanUtils.copyProperties的坑

    如果需要将源对象中的属性拷贝到目标对象中,包括目标对象中继承自父类的属性,可以使用其他的 Java 对象映射工具,比如 Hutool的 BeanUtil、Apache Commons BeanUtils 和 Dozer 等。

  • 复制(1) : [BeanUtils.copyProperties] 属性复制(浅复制)

    导包 : import org.springframework....BeanUtils.copyProperties(t1,t2); 测试代码 @Getter @Setter public static class Test { private List&lt;Data&gt; datas; } @Getter @Setter public s..

  • beanutils.copyproperties属性值丢失_数据质量 | 脏数据?缺失值、异常值和一致性分析?...

    导读:数据质量是数据仓库核心一环,也是数据挖掘中数据准备过程的重要一环,是数据预处理的前提,也是数据挖掘分析结论有效性和准确性的基础。没有可信的数据,数据仓库形同虚设,数据挖掘构建的模型将是空中楼阁。...

  • copyproperties爆红_利用BeanUtils.copyProperties 克隆出新对象,避免对象重复问题

    13、 list或者map转换成json的时候,空值的时候,字段会变没有,展现出来的是未定义 解决办法JSONObject jsonObject = JSONObject.fromObject(map); 14、history | grep aa 这种指令。可以查看历史指令包含aa的。...

  • BeanUtils.copyProperties在拷贝属性时忽略空值

    BeanUtils.copyProperties(Object source, Object target) 但这行代码会将所有的属性都进行copy,有的时候我们想要个别属性不进行复制(比如:null值属性),这时就需要用到另一个方法: /** * 忽略某...

  • 工具类:获取比较两个对象不同的属性名和值,改进 BeanUtils.copyProperties()方法可以指定字段名不一样进行复制

    } /** * 合并两个map中的元素 * @param map1 Map&gt; * @param map2 Map&gt; * @return 合并后的Map&gt; */ public static Map&gt; mergeMap(Map&gt; map1, Map&gt; map2) { Map&gt; map = new HashMap(); if (map1 == null && map2 == ...

  • msgpack序列化异常和Beanutils.copyproperties集合的坑

    Beanutils的copyProperties时,如果对象中属性名称相同(都是brandInfoList),并且类型相同时(都是List集合),就会通过反射对target的brandInfoList属性进行复制,就发生了狸猫换天子这一幕,但只要你不对集合...

  • Java中Bean和Bean集合的复制——解决BeanUtils.copyProperties不支持复制集合和map方案

    这样可以得到复制后的bean集合,比for循环BeanUtils.copyProperties方法更快,更优雅。我们在项目中总是遇到实体类(entity)和视图类(vo)需要相互转换,可能是单个bean、可能是bean集合。优点:当需要set多个字段...

  • 使用BeanUtils.populate完成json对象复制到Java Bean

    ** 实现步骤, ** 1.new Java Bean : ... val map: util.Map[String, Object] = JSONObject.fromObject(inputJson).asInstanceOf[util.Map[String, Object]] 通过 将map内容拷贝到Bean对象 BeanUtils.po

  • BeanUtils拷贝Map、JSONObject中的枚举、POJO属性

    使用BeanUtils.copyProperties()拷贝Map/JSONObject时,无法正常拷贝属性类型为枚举或POJO。此时,需要使用ConvertUtils注册一个自定义的转换类。 实验 实验准备: Student类(拷贝对象),Student中有三个属性name/...

  • BeanUtil.copyProperties复制复杂对象List Map不生效

    此方法不可复制复杂对象(List Map)。 &lt; dependency &gt; &lt; groupId &gt; cn . hutool &lt; / groupId &gt; &lt; artifactId &gt; hutool - all &lt; / artifactId &gt; &lt; version &gt; 4.5 .1 &lt; / version &gt; &lt; / dependency &gt; ...

  • 批量对象转换BeanUtils VS FastJson VS Gson VS Stream().map()

    它们对应属性名相同,只是属性数量有差别,常用的工具有BeanUtils.copyProperties()方法,FastJson的parseObject()方法,Gson的fromJson()方法,还有java8新特性提供的stream().map()。 今天就来对比一下它们的性能...

  • JavaBean与Map互转

    在实际开发过程中,经常碰到需要进行对象与map之间互转的问题,其实对于对象、Map 之间进行互转有很多种方式,下面我们一起来梳理一下: 利用 JSON 工具包,将对象转成字符串,之后再转成 Map,这种需要转换2次,...

  • 记录一次使用BeanUtils获取到Bean错误属性问题

    开发项目中某逻辑时需要对一个bean做转换,当使用BeanUtils.copyProperties对bean进行转换,转换后发现影响到了另外的一个业务,里面有两个int类型的两个属性都赋值为0,在一番定位后找到了原因,在使用BeanUtils....

  • 同步电机无传感HFI高频谐波注入模型及代码解析,PMSM永磁同步电机滑模观测器仿真模型研究,基于28035的典型HFI方案实现,详细解析参数实现过程与机理,工程实践与理论基础相结合的SOP代码应用,基

    同步电机无传感HFI高频谐波注入模型及代码解析,PMSM永磁同步电机滑模观测器仿真模型研究,基于28035的典型HFI方案实现,详细解析参数实现过程与机理,工程实践与理论基础相结合的SOP代码应用,基于无传感HFI高频谐波注入模型的PMSM永磁同步电机同步控制技术:解析与代码实现,同步电机无传感HFI高频谐波注入模型+代码 PMSM永磁同步电机无传感器滑模观测器仿真模型(基于28035),典型的HFI方案; 代码为实际应用SOP代码,非一般玩票代码可比(非ti例程);解析说明详细描述了参数实现过程和实现机理,工程实践和理论基础结合。 ,核心关键词:同步电机;无传感HFI高频谐波注入模型;PMSM永磁同步电机;滑模观测器;仿真模型;28035;HFI方案;SOP代码;参数实现过程;实现机理;工程实践;理论基础。,基于HFI高频谐波注入的PMSM无传感器控制模型与SOP代码实现

  • 基于thinkphp3.2开发的商城系统

    一个采用thinkphp3.2开发的商城系统,无论从前台模板的设计,还是后台php的开,都具有非常好的学习价值。首先作为一套前台模板框架的学习总结成果。.zip项目工程资源经过严格测试运行并且功能上ok,可实现复现复刻,拿到资料包后可实现复现出一样的项目,本人系统开发经验充足(全栈全领域),有任何使用问题欢迎随时与我联系,我会抽时间努力为您解惑,提供帮助 【资源内容】:包含源码+工程文件+说明等。答辩评审平均分达到96分,放心下载使用!可实现复现;设计报告也可借鉴此项目;该资源内项目代码都经过测试运行;功能ok 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 【提供帮助】:有任何使用上的问题欢迎随时与我联系,抽时间努力解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 下载后请首先打开说明文件(如有);整理时不同项目所包含资源内容不同;项目工程可实现复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用

Global site tag (gtag.js) - Google Analytics