青青子衿, 悠悠我心, 但为君故, 沉吟至今
« 破解周鸿祎的战术精要微软升级Windows Live Sync »

程序员眼中的《盗梦空间》

  越来越觉得《盗梦空间》是给程序员们拍的了。那么进入一层梦境到底怎么映射到编程?是递归?是循环?还是简单的函数调用?

  对于一个进入梦境中的人来说是递归,一层层push进了再一层层pop出来,对于很多进入梦境中的人来说,是函数调用,因为停在某一层梦境中的人与其他进入更深梦境中的人是同时工作的。更加确切的说,进入梦境中的人算是程序中设定的全局变量,梦境中虚拟出来的人算是局部变量,而一个程序中一般不会只有一个全局变量,所以进入梦境不是递归操作而是函数调用了。每一个虚拟出来的梦境都是一个函数,可以由任何其他梦境任何时候调用(进入),进入此函数(梦境)的变量(人),一般还是要返回的,就是函数返回的参数了,此变量返回时作为人并非没有任何变化,比如Cobb给Ariadne在梦境中注入了一个思想,那么Ariadne作为变量返回时就是经过处理的了。一般来说编程中函数最好是返回参数的,要么是直接处理后得到的最终值,要么是得到的一个标志变量,但也可以不返回参数,也就是void型的,对应到电影中就是:进入此梦境中的人可以返回,可以不返回,永远留在梦境中。

盗梦空间

  为什么进入一个梦境中比前一个梦境(或许是现实)时间要变慢了?或许可以这么理解:如果我们把现实世界看作主函数(main函数)的话,那么我们一般不喜欢在一条主线中写太长的代码,那么我们希望写一个函数来调用,写好函数之后,在此流程中直接写一个函数调用语句就行了,具体的过程就由此函数来完成,我们默认允许此函数用长一些的时间去完成逻辑功能,当然很多情况下处理时间越短越好。

  进入梦境的时候会选择进入谁的梦境,被选定的这个人在程序中就对应一个最主要的变量,这个人在梦境中如果被杀掉,就对应此函数中的主要变量有问题,不符合此函数(梦境)对此变量(人)的要求。此时就要throw exception并且return回到上层梦境(函数)。

  设计梦境的人就是编写此程序的程序员。此人也可以进入他设计的梦境,而程序员面对自己的程序也要不断深入,因为要找各种bug.如果此程序员留在了梦境中没有出来,我们可以这样理解,这个程序员出了问题或者说这个程序员写的程序出了问题。所以说选择一个好的造梦师(程序员)至关重要,所以cobb才会回到巴黎找他老师(也是父亲?没太弄清楚)要一个很聪明的学生,并把她培养成一个优秀的造梦师。cobb作为一个造梦师,自身条件是很好的,可是有一个致命的缺点:总是抛不掉自己过去的或是生活中或是梦境中做的不好的场景,并且这些场景会经常出现在新的梦境中。对应地,一个程序员,如果总是沿用自己过去写过的程序,那些代码段自己以前写的时候或出现了问题或者问题没有表现出来,但是在新的要求下并不符合要求了,或者写新的程序时候总是沿用自己过去的编程思想,或许那些思想并不适用于新的情况。所以一个程序员很重要的一点是要打破自己的惯性思维,遇到问题即使跟以前遇到过的很像也要仔细地重新审视。打破常规,发散思维,这样一个程序员才会有长足的发展。

  作者:alexzhan,作者电子邮件:[email protected] ,欢迎来信交流



  除非注明,月光博客文章均为原创,转载请以链接形式标明本文地址

  本文地址:http://www.williamlong.info/archives/2346.html
  • 文章排行:
  • 1.诺基亚5610主题下载
  • 这个电影确实不错。。不过就是有点扯淡。。。。
  • 2010/10/1 10:32:43   支持(9)反对(4) 回复
  • 2.flyhigher139
  • 这篇文章写的很有意思
  • 2010/10/5 19:43:37   支持(9)反对(4) 回复
  • 3.三猫博客
  • 设计梦境的人就是编写此程序的程序员。此人也可以进入他设计的梦境,而程序员面对自己的程序也要不断深入,因为要找各种bug.如果此程序员留在了梦境中没有出来,我们可以这样理解,这个程序员出了问题或者说这个程序员写的程序出了问题。
  • 2010/9/30 17:50:50   支持(6)反对(3) 回复
  • 6.快速备案
  • 这个电影我还没看呢,惭愧。
  • 2010/10/1 0:59:03   支持(7)反对(4) 回复
  • 7.r0man
  • inception is bowshit , but code is really running。
  • 2010/10/5 23:01:52   支持(7)反对(4) 回复
  • 8.地对地导弹
  • 只能说电影很像编程的而已。像电影中“进入下一个梦时间为什么增长”,你觉得跟“天上一天,地上一年”有什么区别。电影里有解释,说是因为大脑的反应速度太快。电影毕竟只是是电影而已,要有想象力,不要什么都生拉硬扯。
  • 2010/10/11 14:53:55   支持(6)反对(3) 回复
  • 9.Alpha
  • 那个老教授是Cobb的岳父,也是他和Mal共同的老师。
  • 2010/10/20 18:36:00   支持(8)反对(5) 回复
  • 10.半导体

  • 他的老师应该是他的岳父大人吧
  • 2010/10/1 10:41:10   支持(4)反对(2) 回复
  • 11.hu583507093
  • 没看过这个电影,但是挺崇拜月光博主的。
  • 2010/10/2 13:41:40   支持(6)反对(4) 回复
  • 12.儿童充气游泳池
  • 好喜欢这个网站的模板啊,很有feel,呵呵~
  • 2010/10/2 14:38:39   支持(6)反对(4) 回复
  • 14.orsay
  • 不过我还没有看过,应该很刺激
  • 2010/11/3 11:31:21   支持(6)反对(4) 回复
  • 15.雷迪嘎嘎
  • 盗梦空间~~~科幻的电影让人浮想联翩哦!
  • 2010/10/1 21:48:41   支持(5)反对(4) 回复
  • 18.anmi
  • 强啊,作者把程序与人生联系来写了.
  • 2010/10/3 18:14:29   支持(5)反对(4) 回复
  • 19.cold
  • 这么牛逼的博客怎么现在才发现,遗憾啊
  • 2013/8/29 0:28:40   支持(8)反对(7) 回复
  • 21.灰辉
  • 作为一个设计师 我对对此文表示很费解
  • 2010/9/30 18:34:29   支持(5)反对(5) 回复
  • 22.hannon
  • 强悍,看不太懂,不过电影很好看
  • 2010/10/1 7:14:01   支持(5)反对(5) 回复
  • 23.老刘戒烟
  • 等着高清版出来了再看,枪板的不能接受!
  • 2010/10/2 1:26:22   支持(5)反对(5) 回复
  • 24.老刘戒烟
  • 弱弱的问博主,前面那篇文章的内幕怎么这么清楚?
  • 2010/10/2 1:34:09   支持(5)反对(5) 回复
  • 25.义乌拓展训练
  • 程序员太悲哀了。。。
  • 2010/10/2 10:58:54   支持(5)反对(5) 回复
  • 27.乐衣先生
  • 呵呵,正想看到梦空间了。
  • 2010/10/3 17:21:57   支持(4)反对(4) 回复
  • 29.reus
  • 基础概念都没搞清楚。。。难道递归不是函数调用咩,还需要分别看待。
  • 2010/10/4 20:47:03   支持(6)反对(6) 回复
  • 30.wings0350
  • 新颖的视角,赞一个,博主是一个有故事的人.
  • 2010/10/22 11:36:23   支持(4)反对(4) 回复
  • 31.orsay
  • 版主联想够丰富的,文章很精彩
  • 2010/11/3 11:30:53   支持(4)反对(4) 回复
  • 32.Suitear
  • 不装懂,只表示不太理解,不过大概懂个意思,看电影跟书一样,一千个人一千个哈姆雷特!
  • 2010/9/30 18:33:07   支持(5)反对(6) 回复
  • 34.20岁用什么化妆品好
  • 博主的理解能力太强了
  • 2010/9/30 19:40:35   支持(5)反对(6) 回复
  • 35.素材岛
  • 到现在还没看这个电影。。。。。
  • 2010/10/1 7:22:17   支持(4)反对(5) 回复
  • 36.千与琥珀
  • 对于一个稍微会编程的人 你说这一大堆还不如直接来个源码加注释来的实在 读你这篇文章就好像一个常量与变量乱用的代码一样 摸不明白
  • 2010/10/1 8:17:24   支持(5)反对(6) 回复
  • 37.老刘戒烟
  • 第一次来到这个博客,感觉来得太晚了,这博客给人感觉真有内涵,我要常来了,今天多看下文章
  • 2010/10/2 1:25:39   支持(4)反对(5) 回复
  • 38.大智慧下载
  • 完全同意楼主看法!

    我只能说楼主太有才了,这都能联想到!
  • 2010/10/2 10:39:44   支持(4)反对(5) 回复
  • 40.如此多娇
  • 这的文章比较其它博客比较深奥,慢慢体会了。
  • 2010/10/2 22:43:39   支持(5)反对(6) 回复
  • 41.baoyalv
  • 没有看过,社会反响很好,改天去看看啦!
  • 2010/10/15 18:06:39   支持(5)反对(6) 回复
  • 42.wudo
  • 有点意思,不过如致命ID,死亡幻觉,生死停留,穆荷兰大道等等这种类型的片子都可以尽情开放思维式联想---系统构架,程序原形,代码实现,甚至可以超越时代直接跨入量子计算概念.
  • 2011/10/26 1:04:24   支持(4)反对(5) 回复
  • 44.IT牛人网
  • 你好,文章已被转载至IT牛人网
  • 2010/10/1 15:28:25   支持(7)反对(9) 回复
  • 45.阿鼎
  • 我也算是个入门程序员,我也得看看去!
  • 2010/10/1 21:38:55   支持(6)反对(8) 回复
  • 46.河南北大青鸟
  • 也想早日目睹《盗梦空间》这部电影的奇妙,周末的时候去看了,结果实在是入戏了,电影都结束了,我差点还没迷糊过来,好似已经分不清楚哪是现实生活,哪是梦境了.....

    这部电影真的很不错
  • 2010/10/30 16:41:36   支持(5)反对(7) 回复
  • 48.abercrombie
  • 好看啊, 设计梦境的人就是编写此程序的程序员
  • 2011/10/18 17:18:40   支持(4)反对(6) 回复
  • 50.过路人
  • 不是程序员些文看的不是很懂!
  • 2010/10/3 13:25:03   支持(4)反对(7) 回复
  • 51.catbox
  • 决定看了电影之后再来看这篇……

    诶……能写出这文章来,绝对是个尽心爱岗的好程序员~(至少也是个geek……)
  • 2010/9/30 20:26:52   支持(7)反对(11) 回复
  • 52.Pop
  • 作为一个在岗程序员……个人觉得这篇文章写得很幼稚。对程序的理解很肤浅,有生搬硬套之嫌
  • 2010/10/1 3:42:27   支持(5)反对(9) 回复
  • 53.带压堵漏
  • 到现在还没看这个电影。。。。。
  • 2010/10/1 22:04:08   支持(6)反对(10) 回复
  • 55.简单xf
  • 神呐,盗梦空间给了人很多浮想联翩的空间,但没想到还会涉及到程序~~~
  • 2010/10/14 20:14:53   支持(3)反对(7) 回复

发表评论:

 请勿发送垃圾信息、广告、推广信息或链接,这样的信息将会被直接删除。

订阅博客

  • 订阅我的博客:订阅我的博客
  • 关注新浪微博:关注新浪微博
  • 关注腾讯微博:关注腾讯微博
  • 关注认证空间:关注QQ空间
  • 通过电子邮件订阅
  • 通过QQ邮件订阅

站内搜索

热文排行


月度排行

本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享. 转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议.
This site is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License.