设万维读者为首页 万维读者网 -- 全球华人的精神家园 广告服务 联系我们 关于万维
 
首  页 新  闻 视  频 博  客 论  坛 分类广告 购  物
搜索>> 发表日志 控制面板 个人相册 给我留言
帮助 退出
 
岸芷汀兰郁郁青青的博客  
尔酒既清,尔殽既馨.  
网络日志正文
A Programming Task (转载)- 一个有关计算机语言发展历程的趣谈 2007-02-23 18:58:44

可能比较耗时,同时需要你的耐心!

WARNING: geek humor ahead...

Programming Task: Shoot yourself in the foot.

Solutions in various languages:

C:
You shoot yourself in the foot.

C++:
You accidentally create a dozen instances of yourself and shoot them all in the foot. Providing emergency medical assistance is impossible since you can\'t tell which are bitwise copies and which are just pointing at others and saying, \"That\'s me, over there.\"

FORTRAN:
You shoot yourself in each toe, iteratively, until you run out of toes, then you read in the next foot and repeat. If you run out of bullets, you continue with the attempts to shoot yourself anyways because you have no exception-handling capability.

Pascal:
The compiler won\'t let you shoot yourself in the foot.

Ada:
After correctly packing your foot, you attempt to concurrently load the gun, pull the trigger, scream, and shoot yourself in the foot. When you try, however, you discover you can\'t because your foot is of the wrong type.

COBOL:
  USE HANDGUN.COLT.45.
  AIM AT LEG.FOOT.
  PLACE RM.HAND.FINGER ON HANDGUN.COLT.45.TRIGGER.
  SQUEEZE HANDGUN.COLT.45.TRIGGER.
  RETURN HANDGUN.COLT.45 TO HOLSTER.

LISP:
You shoot yourself in the appendage which holds the gun with which you shoot yourself in the appendage which holds the gun with which you shoot yourself in the appendage which holds the gun with which you shoot yourself in the appendage which holds the gun with which you shoot yourself in the appendage which holds the gun with which you shoot yourself in the appendage which holds...

FORTH:
Foot in yourself shoot.

Prolog:
You tell your program that you want to be shot in the foot. The program figures out how to do it, but the syntax doesn\'t permit it to explain it to you.

MUMPS:
You shoot yourself with steel-tipped hollow-point AK-47 bullets in even-numbered toes on your left foot, and in odd-numbered toes on your right foot all with one line of code. Then you shoot yourself in the head when it\'s time to modify that line.

BASIC:
Shoot yourself in the foot with a water pistol. On large systems, continue until entire lower body is waterlogged.

Visual Basic:
You\'ll really only appear to have shot yourself in the foot, but you\'ll have had so much fun doing it that you won\'t care.

HyperTalk:
Put the first bullet of gun into foot left of leg of you. Answer the result.

Motif:
You spend days writing a UIL description of your foot, the bullet, its trajectory, and the intricate scrollwork on the ivory handles of the gun. When you finally get around to pulling the trigger, the gun jams.

APL:
You shoot yourself in the foot, then spend all day figuring out how to do it in fewer characters.

SNOBOL:
If you succeed, shoot yourself in the left foot. If you fail, shoot yourself in the right foot.

Unix:
% ls foot.c foot.h foot.o toe.c toe.o % rm * .o rm:.o
no such file or directory % ls %

Concurrent Euclid:
You shoot yourself in somebody else\'s foot.

370 JCL:
You send your foot down to MIS and include a 400-page document explaining exactly how you want it to be shot. Three years later, your foot comes back deep-fried.

Paradox:
Not only can you shoot yourself in the foot, your users can, too.

Access:
You try to point the gun at your foot, but it shoots holes in all your Borland distribution diskettes instead.

Revelation:
You\'re sure you\'re going to be able to shoot yourself in the foot, just as soon as you figure out what all these nifty little bullet-thingies are for.

Assembler:
  1. You try to shoot yourself in the foot, only to discover you must first invent the gun, the bullet, the trigger, and your foot.
  2. Using only 7 bytes of code, you blow off your entire leg in only 2 CPU clock ticks.

Modula2:
After realizing that you can\'t actually accomplish anything in this language, you shoot yourself in the head.

Perl:       gdm
There are so many ways to shoot yourself in the foot that you post a query to comp.lang.perl.misc to determine the optimal approach. After sifting through 500 replies (which you accomplish with a short perl script), not to mention the cross-posts to the perl5-porters mailing list (for which you upgraded your first sifter into a package, which of course you uploaded to CPAN for others who might have a similar problem, which, of course, is the problem of sorting out email and news, not the problem of shooting yourself in the foot), you set to the task of simply and elegantly shooting yourself in the foot, until you discover that, while it works fine in most cases, NT, VMS, and various flavors of Linux, AIX, and Irix all shoot you in the foot sooner than your perl script could.

Then you decide you can do it better with the new, threaded version...

INTERCAL:
You ask the compiler to please load the gun and do place your foot in the trajectory of the bullet, but the compiler gives up.

JAVA:
You can load the gun, but you can\'t actually point it at your foot.

MS Visual C++:
Instatiate an object of the CShootOwnFoot class. This will shoot your foot just fine as long as you have your own Microsoft Revolver(tm)- check your system directory for msrlvr32.dll.

Note (by dah) that to run msrlvr32.dll you will have to download Internet Explorer 4.0 first, although you may continue to use any browser. The service pack 3-A, which must be installed over service pack 2 unless service pack 1 was installed, is available for download also. Finally, you should exit all applications and back up your registry before attempting to shoot yourself in the foot. After shooting your foot, you will need the Win95 CDROM and have to reboot your system.

Note that the FootChute service for Win95 will only shoot little toes. To shoot entire feet, you will need the FootEnterprise package which runs only on NT Server, available separately.

Pay-by-call help is available in the case of a stuck or jammed msrlvr32.dll

Note: knowledge base article 345 is available to Premier Subscribers which discusses problems some customers have had distinuishing the \"muzzle\" from the \"handle\", symptoms of which include failure to damage your foot and occasional holes to hardware systems in the immediate area, despite apparently correct functioning of the dll. The spurious holes apparently do not recurr once the muzzle/handle swap has been made.

浏览(618) (0) 评论(2)
发表评论
文章评论
作者:岸芷汀兰 留言时间:2007-03-07 22:24:24
不好意思,没想那么多,只觉得此文以“射脚”为例,“巧”解计算机语言的发展历程,比较新鲜。
回复 | 0
作者:凑热闹 留言时间:2007-02-24 06:32:03
用哲学语言来说就是:人不能两次踏进同一条河流(河流是运动的)
人不能两次射中自己的靴子的同一部位(靴子是静止的)你射中一次和两次在同一地方没什么区别
回复 | 0
我的名片
岸芷汀兰郁郁青青 ,25岁
来自: 地球
注册日期: 2007-01-04
访问总量: 128,511 次
点击查看我的个人资料
Calendar
我的公告栏
谢谢你们来居里小坐!
最新发布
· You and Me - 2008 Beijing Olym
· 喝苹果汁
· 小纸条
· 生活小常识几则(ZZ)
· 依此类推
· 致祖国 (转载)
· 传说 - <<成吉思汗>>
友好链接
· 老秃:老秃笔侃山
· 缪继鲁:缪继鲁
· Connie:Connie的茶馆
· 阿唐:阿唐的博客
· 一休:一休的博客
· 虔谦:虔谦:天涯咫尺
分类目录
【开篇】
· 我的博客
【鑫儿成长篇 (一)】
· 鑫儿启示一:返朴归真
· 女儿的情人节
· 爱女长大了!
· 图书馆意识
【鑫儿成长篇 (二)】
· 喝苹果汁
· 鑫儿趣事三则
· 妈妈的夹心小棉袄
· 爱屋及乌
· 鑫儿小语录(童言有忌)
【漫思瞎想】
· 博客岁想
【心情驿站】
· 致祖国 (转载)
· 圣诞快乐!
· 思乡的心情
【百宝囊(一)】
· 小纸条
· 许愿(转载)
· 郭德纲语录之一:不笑不容易 (
· A Programming Task (转载)-
· 要学会如此心态(转载)
【百宝囊(二)】
· 西方世界民间法则小集锦
【青青的小厨房】
· 妈妈做的焖面
· 三鲜小包
· 自制面条
· 小廚开张
【席琳.迪翁 - 简介】
· 席琳·迪翁简介 (一)
· 引子
【席琳.迪翁 - I(爱情篇)】
· IT’S ALL COMING BACK TO ME NOW
· I SURRENDER
· THE POWER OF LOVE
【席琳.迪翁 - II (亲情篇)】
· TO LOVE YOU MORE
· BECAUSE YOU LOVED ME
· IF I COULD
· A NEW DAY HAS COME
【席琳.迪翁 - III (轻摇滚篇)】
· I’M ALIVE
· I WISH
· LOVE CAN MOVE MOUNTAINS
· RIVER DEEP, MOUNTAIN HIGH
【席琳.迪翁 - IV (抒情篇)】
· POUR QUE TU M’AIMES ENCORE
· AMMORE ANNASCUNNUTO
· MY HEART WILL GO ON
【席琳.迪翁 - V (性感篇)】
· SEDUCES ME
· I DROVE ALL NIGHT
【健康人生】
· 生活小常识几则(ZZ)
【开心时刻】
· 依此类推
【人在旅途(一)】
【歌曲推荐 (一)】
· You and Me - 2008 Beijing Olym
· 传说 - <<成吉思汗>>
· 有没有人告诉你
存档目录
2008-10-14 - 2008-10-15
2008-05-04 - 2008-05-22
2008-04-17 - 2008-04-17
2008-02-12 - 2008-02-20
2008-01-02 - 2008-01-28
2007-12-24 - 2007-12-24
2007-11-11 - 2007-11-16
2007-10-08 - 2007-10-08
2007-09-03 - 2007-09-09
2007-08-27 - 2007-08-27
2007-04-25 - 2007-04-25
2007-03-10 - 2007-03-10
2007-02-04 - 2007-02-23
2007-01-04 - 2007-01-14
 
关于本站 | 广告服务 | 联系我们 | 招聘信息 | 网站导航 | 隐私保护
Copyright (C) 1998-2024. CyberMedia Network /Creaders.NET. All Rights Reserved.