[OT] 美国人为了宣传FP编程思想请尼古拉斯凯奇拍摄了部科教片

2 views
Skip to first unread message

Albert Lee

unread,
Jul 4, 2009, 12:37:51 PM7/4/09
to Python.cn@google
抱歉标题党一次

我写的影评:
(看到豆瓣上一堆文艺小青年一脸茫然,或者装作很忧郁的样子,心里真的挺暗自发笑的)

http://www.douban.com/review/2118068/

这个片子一点都不文艺。因此我很喜欢。因此本评论写给程序员看。
  这是我见过的关于“未来”“时 间旅行“一类电影中剧情最严密,逻辑最自圆其说的一部片子。
  我怀疑编剧是个程序员。
  
  首先简单回顾下剧情:主角起初可以预见到两分钟内的未来情况,因此可以提前趋利避祸。后来他为了遇到了一个命中注定的女人,去尾行 (tail)跟随她来到了大峡谷。他发现和这个女人在一起时,他可以预见到更远的未来。后面的剧情,就是被一些没看懂的人大骂被耍了的情节:主角预见到比 较远的未来,在未来,他又不断产生各个分支去搜索各种结局,最后这条路径还是无法找到最优解(其实是获得了一个最差的结果,全都死掉了),因此在电影的最 后,整条搜索分支都回溯回远点。
  
  显然,他运用了递归的能力。这一点在电影的高潮,码头仓库一段体现的最淋漓尽致:他在每条岔路口都递归的去搜索。这个情节简直可以拿来放到计算机算法课上当课件用了。
  
  其实在电影的最后,主角选择了和政府合作共同打击黑恶势力,还很狗血的说了几句挺哲理的话。但这就是结局么? 醒醒吧,这是编剧照顾文艺小资们的情绪故意卖的破绽。谁家用递归写个深度优先的搜索会只搜索一条分支呢?!
  
  而那句很狗血的话:关于未来的一个特性就是每次你看着他时他会改变,因为你看着他了。
  这分明是对side effect 的批判嘛,在另一部伟大的电影butterfly effect 中也有对 side effect 的深刻批判。因为有了副作用,程序的行为将变得不可预知,程序的正确性验证也就无从谈起。这是主角对纯粹函数式开发的深切呼唤。
  
  通过FP还有另一个好处:并行
  关于这段搜索的情节,有几点值得主义的:他同时并行执行了多个搜索任务。但是在电影里,又似乎不是纯粹的并行,因为其他的搜索分支会知道之前的搜索结果,进行剪枝。这算是搜索优化。
  
  
  关于递归,大家基本上都认同吧。那么为什么起初主角只能预见两分钟,而后来尾随了一个mm后就人品大爆发了呢?真相就是他开始”尾递归”了。
  
  关于电影名 “next” 。 这是表示迭代中止,跳转的语句。
  
  另外,关于未来的计算,未来的过程,大家想起点什么来没??continuation。
  
  think about it. 为了宣传FP的思想,老美居然拍了部电影,真是寓教于乐阿。

LaiYonghao

unread,
Jul 4, 2009, 1:13:50 PM7/4/09
to pyth...@googlegroups.com
好吧,牛X,我看过这部片两次也都是纯娱乐了,现在我明白为什么我们同龄但差距这么大鸟……

2009/7/5 Albert Lee <hanzh...@gmail.com>:

--
赖勇浩的编程私伙局:http://blog.laiyonghao.com
twitter: http://twitter.com/laiyonghao

Jay True

unread,
Jul 4, 2009, 1:26:48 PM7/4/09
to pyth...@googlegroups.com
Albert 兄不愧是深谙 FP 思想的人啊,特别是那个“尾递归”(虽然此“尾递归”非彼“尾递归”)。

--
歌词唱清楚,不是周杰伦
Home Page: http://glacjay.is-a-geek.org/blog/

nathan.wu

unread,
Jul 5, 2009, 6:05:41 AM7/5/09
to python-cn`CPyUG`华蟒用户组(中文Py用户组)
那火影的多重影分身也行吧,哈哈

leopay

unread,
Jul 5, 2009, 7:06:19 AM7/5/09
to pyth...@googlegroups.com


2009/7/5 LaiYonghao <lanp...@gmail.com>
好吧,牛X,我看过这部片两次也都是纯娱乐了,现在我明白为什么我们同龄但差距这么大鸟……
好吧,人和人是有差别的,我明白了为什么我不是牛人

ShellEx Well

unread,
Jul 5, 2009, 10:33:37 AM7/5/09
to python-cn`CPyUG`华蟒用户组(中文Py用户组)
嗯...真是很入境界。

On 7月5日, 下午7时06分, leopay <leo...@gmail.com> wrote:
> 2009/7/5 LaiYonghao <lanpha...@gmail.com>


>
> > 好吧,牛X,我看过这部片两次也都是纯娱乐了,现在我明白为什么我们同龄但差距这么大鸟……
>
> 好吧,人和人是有差别的,我明白了为什么我不是牛人
>
>
>

> > 2009/7/5 Albert Lee <hanzhup...@gmail.com>:

Rainbird

unread,
Jul 5, 2009, 8:50:54 PM7/5/09
to pyth...@googlegroups.com
几个月前就看过这部电影了,感触挺多,这下又勾起了回忆。。。

2009/7/5 ShellEx Well <5h3...@gmail.com>

raynix

unread,
Jul 5, 2009, 10:57:09 PM7/5/09
to python-cn`CPyUG`华蟒用户组(中文Py用户组)
喜欢这样的影评!

老光

unread,
Jul 5, 2009, 11:40:35 PM7/5/09
to pyth...@googlegroups.com
强就一个字!看过,顶一下!
未来总是令人忧郁……
预知未来=回到过去。
Reply all
Reply to author
Forward
0 new messages