由一个“看到西瓜买包子”笑话想到的

老婆给当程序员的老公打电话:“下班顺路买一斤包子带回来,如果看到卖西瓜的,买一个。” 当晚,程序员老公手捧一个包子进了家门。。。 老婆怒道:“你怎么就买了一个包子?!” 老公答曰:“因为看到了卖西瓜的。” 

 

严格的讲老婆的话是有二义性的,最后买一个没有明确买的西瓜还是包子,也没有说清楚是加买一个还是只买一样东西。

从生活的角度,程序员是情商太低了,把编程的思维带到了生活中来,不能揣测出别人的意思,不过至少中国很难出现这样的程序员,因为生活有足够的力量让你变得聪明起来。

 

老婆的程序:

买一斤包子;
if (看到卖西瓜的)
  买一只(西瓜);

 

程序员老公的程序:

if ( ! 看见卖西瓜的) 
   买一斤包子;
else
   买一只(包子);

 

其实正确的程序应该是

function 下班后需要执行的老婆的指令(){
  var 带回来的东西 = [];
  带回来的东西.push(顺路买一斤包子());
  if(看到卖西瓜的){
    带回来的东西.push(买一个西瓜());
  }
  return 带回来的东西;
}

 

posted @ 2012-09-22 14:03  远方V3  阅读(6448)  评论(0编辑  收藏  举报