微信号:infoqchina

介绍:有内容的技术社区媒体

第三只眼:熊猫乱谈——镜头中的代码

2013-09-13 18:26 水羽哲

如果不是上周已经做了预报,这周就跳票了orz,为了配合小水懒得写字的性格,周五的系列内容于是定名:“熊猫乱谈”,( o)哇擦,鼓掌!!熊猫乱谈将会周末之前为大家带来不那么严肃的技术相关话题,例如这一期的内容,如标题所言写的就是出现在各种电影、动画、电视剧中的代码镜头。

 

华丽丽的脚本

镜头从欢闹的舞会跳到了寂寞的宿舍,有个哥们没有被邀请到舞会于是就突发奇想打开Emacs写脚本开始扒图片,谁成想这个寂寞屌丝男操着一手华丽的Perl做的小玩意竟然成了市值过千亿刀的上市公司?这就是电影《社交网络中》开场的那个镜头。咦,慢着,Facebook不是使用PHP来写的吗?为了克服PHP的性能问题他们还写了hiphop-php将PHP编译成C++,因为他们难以从历史的“包袱”中转型?难道早期的马克使用的是Perl吗?搜索了Facebook的Github没有Perl的项目,可能是马克的确用过Perl后来转型PHP了吧,不过却从Quora上看到了马克当年写的代码,大家感受一下:

function do_stuff($array)

{

$sample[0] = $array;

$array = windowize($sample);

$array = do_fourier($array);

$array = log_magnitudes($array);

$array = scale_array($array);

print "preparing for write $GLOBALS[prompt_text]...";

write_spp($GLOBALS[handle], $array);

}


do_stuff,WTF这啥意思呀?哪里的全局变量?看来,当你成为技术公司的CEO以后也会顺带也给造成神了吧


翻滚吧Python

说到了Facebook绝对不能不提Google,据说谷歌现在压力很大,好多程序员被Facebook挖了墙角,这咋整?招人呗,新人先来实习,包吃包住,包技能,不满意随时退款……汗,写成了蓝翔的节奏,于是两位年近四旬突然下岗的大叔也应征到实习生的行列,这就是《实习大叔》的节奏。如果你看过这两年的Google I/O,你会发现现在的I/O已经成了阿三的地盘……所以电影也不例外,作为不会写代码的大叔,他们就被阿三大叔安排了DebugCode的任务。好吧……这个应该不是难事吧,不过可能会累一些,记得Python的八荣八耻吗?

    以打印日志为荣 , 以单步跟踪为耻;

恩恩,如果是多线程的任务……大叔们就惨了


进击の字节码

 

说到神级的程序员,我其实很推荐日本的动画片《 战争程序员白濑》,大意是一个小伙很强,美国的超级计算机被劫持了,他使用手机对抗入侵对方的电脑捍卫日本和平的故事。好吧,怎么一个强法?请看下面的图片:

注意下面的小窗口是电脑外的状态,主角就这么一个华丽的场景出现了:一只手空着,另一只手按着鼠标:左右左右,就是0101的那种形式把程序敲完了,为了体现主人公的从容,旁边还有一碗拉面……华擦,这不成Jeff Dean般的大牛了吗?什么?你竟然不知道Jeff Dean!!你Out了,给你讲几个流传的Dean的故事:

 

  • 编译器不会向Jeff Dean给出警告,Jeff Dean会给编辑器警告;

  • Jeff Dean是直接写二进制代码的,然后他写了源代码,作为给.其他开发人员看的文档;

  • 有一天当Jeff Dean优化一个功能时,被迫发明了异步调用的API,这样那个功能就可以在它被调用前返回结果了;

 

不管怎么说,谷歌最顶尖的编程高手、Map/Reduce的作者绝对是我们只能仰观的,言归正传,白濑的动画中出现了两种代码:

 

如下是直接敲的16进制代码,主角大拇指又是神级的输入速度:相应的对抗的计算机出现了一段C++的程序,貌似是Linux的内核代码的片段,只能感叹日本的漫画同学太细致了orz据说日本的动漫中出现的代码多为Ruby,不知道是不是Matz的缘故:)


ok,到此为止,上班时间不能多看电影,被Boss抓住就不好了~


老习惯,剧透下:

下期预告:北欧的程序员们

下下期预告:瓦擦,IDE


对于下期和下下期的话题,你们是不是也有什么想说的呢?留言回复吧!


“第三只眼”:主要由InfoQ编辑专门为微信公众账号自编自写的一个栏目,旨在表明编辑态度及表述平日见闻和思考,期望成为和读者沟通的桥梁。亦接受投稿:editors@cn.infoq.com


今日专栏作者:

水羽哲(@麦可思哲)

进击の编辑,写代码、追美剧、看小说,每周五准时微信值班!


***********************************

本文来自InfoQ微信公众账号:infoqchina

1、回复“今日新闻”,查看今天更新的新闻;

2、回复“今日英文”,查看今天英文站的更新;

3、回复“文章 +关键词”,搜索关键词相关内容;

4、回复“QCon”,了解QCon大会相关信息;

5、回复“活动”,了解最近InfoQ组织的线下沙龙;

6、回复“架构师”,获取《架构师》下载地址;

7、回复“投稿”,了解投稿和加入编辑团队的流程。

***********************************

 
InfoQ 更多文章 Facebook如何实现PB级别数据库自动化备份 学术派Google软件工程师Matt Welsh谈移动开发趋势 Spotify为什么要使用一些“无聊”的技术? 妹纸们放假了,汉纸们做啥? 大多数重构可以避免
猜您喜欢 手把手教你搭建安卓自动化框架之UIAutomator perl黑魔法[九]双冒号:: Github干货铺:django-webpack-loader 被你倾倒—响应式网页模板 说说那些不可思议的被拒理由