这篇有趣的文章编译自一篇西班牙博客。
有一位美丽的公主,被关押在一个城堡中最高的塔上,一条凶恶的巨龙看守着她,需要有一位勇士营救她…
下面是各种语言如何想办法将公主从巨龙手中营救出来的。
Java – 赶到那里,找到巨龙,开发出一套由多个功能层组成的恶龙歼灭框架,写几篇关于这种框架的文章…但巨龙并没有被消灭掉。
.NET – 赶到哪里,看到了Java程序员的做法,完全拷贝过来,试图去杀掉巨龙,但巨龙把他吃掉了。
C - 赶到那里,对巨龙不屑一顾,举起剑,砍掉巨龙的头,找到公主…把公主晾在一边,去看看有没有最新提交的linux内核代码。
C++ – 先打造出一根针,然后在上面添加各种功能特征,直到最后汇聚成一把复杂的剑,这把剑复杂到只有他能理解其中的功能…杀死龙,但他过桥时遇到了麻烦,因为内存溢出了。
COBOL - 赶到那里,看到巨龙,认为自己太老了,杀不死这条巨龙,营救不出公主,于是离开了。
Pascal - 他花10年时间开发出一套巨龙歼灭系统…当战斗开始时,他发现这套系统只能关住蜥蜴。
VB - 使用各种组件开发出一套巨龙毁灭武器,他跳到巨龙的后面,在最关键的时刻,他发现这种武器只能在雨夜里工作…
PL/SQL – 分析其它屠龙者的数据,创建出具有多维数据、n向关系的数据表模型、OLAP,花15年时间分析这些数据…当结果出来时,公主已经变成了同性恋者。
Ruby - 盛大出征,号称自己不管做什么都是最强的,当面对巨龙,他亮出了一张画有他杀死一条瘸腿的巨龙的图片…巨龙懒洋洋的吃掉了他。
Smalltalk - 赶到那里,分析巨龙和公主,转身走了,它们是次要问题。
shell - 创造一个超级强大的灭龙武器…但当面对龙的时刻,他忘了如何使用它。
Assembler - 他认为他的方法是正确的,而且是最高效的…但他把D写成了A,杀死了公主。
Fortran - 赶到那里,开发出来一套4万5千行的解决方案,杀死巨龙,与公主见了面…但公主认为他是懦夫,反而倾心于高富帅的Java程序员。
FOX PRO - 开发出一套杀龙系统。外表看起来华丽好用,但实际内部到处补丁,所以,当开始运行这套杀龙武器时,他才发现忘了给DBF加索引。
Lisp:这是一位著名的游侠骑士,在跟很多的屠龙专家交谈后,将他们的技巧模型化,他开发出这套系统,当开始运行系统时,他认识到,他少写了一个括弧。
HTML: 用各种著名的杀龙的剑拼装成一个网页,但他忽视了W3C标准。在跟龙相遇的时刻,他发现他的代码跟浏览器不兼容,于是他变成了赤手空拳。巨龙把他当成小甜点吃了。
Prolog: 他认为需要有一件杀龙的武器。于是在一个有182014件武器的目录里搜索。截止到公主死的那一年,他的成就包括:通晓了各种武器的制造方法,从索引A开始:Atomic Bombs, Anti-Air Weapons, Arches, Ammunition, Axes…
PHP: 开发出一个web网页,当这个运行时,它能通过一个Apache服务器从一个MySQL武器数据库里检索出武器消灭掉$dragon。然而,他在DELETE语句里忘了写WHERE语句,于是杀死了公主,巨龙,女侍,女巫,魔法师,和程序员自己。
JavaScript: 他创建了脚本网页,当网页运行时,脚本会除掉巨龙,他一加载页面,一些美丽的少女就向他抛来了鲜花,发出来尖叫。不幸的是,他没有认真分析这个类似蜥蜴的怪物——也被称作Mozilla,他得到的只是让控制台里填满了error信息,《Book of Mozilla》记载了他是如何被吞掉的。
Basic:他开发出来一种能够杀死纸龙的武器,但不论他如何改进,他发现,他都不能杀死一只比卷毛狮子狗大的龙。
Matlab: 他写出循环语句能计算出用巨箭射死巨龙的弹道。这个程序运行的完美无瑕疵。现在需要的是人能有这样大的力量按这种精度发射这支巨箭。
[英文原文:How to kill a dragon with various programming languages ] |