高科技無(wú)關(guān)的電影也偶爾會(huì)出現(xiàn)一些跟計(jì)算機(jī)相關(guān)的鏡頭。文本搜羅的是在各種電影中出現(xiàn)過(guò)的代碼,它們有的是黑客腳本,有的是絕密文件,有的就是為了擺酷,文中對(duì)這些代碼都有截屏,你是否能看出它們是什么語(yǔ)言?
一、《鋼鐵俠》,c語(yǔ)言
電影《鋼鐵俠》
最近我重新看了一遍《鋼鐵俠》,發(fā)現(xiàn)了一些有趣的事情。在鋼鐵俠的人工心臟第一次“初始化啟動(dòng)”期間,在那個(gè)“恐怖分子”的洞穴里,一些長(zhǎng)長(zhǎng)短短的C語(yǔ)言代碼出現(xiàn)在那個(gè)偽造的筆記本電腦屏幕上。
屏幕上的這些代碼,盡管從語(yǔ)法上看是少了一些重要的字符,例如分號(hào),但的確是有效的C語(yǔ)言代碼。寫的非常規(guī)范,以至于我想弄清楚這些代碼是從哪里來(lái)的。
使用谷歌一搜,我就找到了它。這段代碼實(shí)際上是這樣的:
send[0] = 0x65; send[1] = 1; send[2] = 3; send[3] = 5; send[4] = 7; send[5] = 11; if (rcx_sendrecv(fd, send, 6, recv, 1, 50, RETRIES, use_comp) != 1) { fprintf(stderr, "%s: delete firmware failed\n", progname); exit(1); } /* Start firmware download */ send[0] = 0x75; send[1] = (start >> 0) & 0xff; send[2] = (start >> 8) & 0xff; send[3] = (cksum >> 0) & 0xff; send[4] = (cksum >> 8) & 0xff; send[5] = 0; if (rcx_sendrecv(fd, send, 6, recv, 2, 50, RETRIES, use_comp) != 2) { fprintf(stderr, "%s: start firmware download failed\n", progname); exit(1); } /* Transfer data */ addr = 0; index = 1; for (addr = 0, index = 1; addr < len; addr += size, index++) {
上面的這段代碼來(lái)自一個(gè)樂(lè)高積木(LEGO,一種可編程的積木游戲)的固件下載程序,由斯坦福大學(xué)的Kekoa Proudfoot寫于1998年。你可以從這里下載完成的程序。它使用的是Mozilla Public License許可協(xié)議,這跟火狐瀏覽器和其他很多開(kāi)源軟件使用的許可協(xié)議一樣。
電影中使用這段代碼,似乎是在暗示要給鋼鐵俠下載一套固件程序,或者是把固件程序上傳到樂(lè)高積木控制系統(tǒng)里,總之,鋼鐵俠的誕生是跟樂(lè)高積木多少是有關(guān)聯(lián)的。
所以,看起來(lái),鋼鐵俠要么是使用了開(kāi)源軟件,要么是由樂(lè)高積木程控做成的。我不知道那個(gè)更酷。
二、《龍紋身女孩》,SQL
電影《龍紋身女孩》
電影《龍紋身女孩》中的女主人公搜索兇手時(shí)使用的很顯然是真正的SQL語(yǔ)句——雖然從SQL的效率上她的技術(shù)并不是很高。完整的SQL代碼可以從這里查看。
三、《超人》,BASIC
《超人》
這個(gè)家伙對(duì)《超人II》中出現(xiàn)的代碼進(jìn)行了詳細(xì)的分析,從哪里你可以找到屏幕上出現(xiàn)的代碼的完整源碼。
四、《忍者神龜》,Turbo C
《忍者神龜》
《忍者神龜》中出現(xiàn)的這段代碼看起來(lái)很像Turbo C。
五、《大逃殺》,C語(yǔ)言
《大逃殺》
在電影《大逃殺》出現(xiàn)的這段代碼是nmap的源代碼。NMap,也就是Network Mapper,是Linux下的網(wǎng)絡(luò)掃描和嗅探工具包。
六、《星際之門:真理之舟》,JavaScript
電影《星際之門:真理之舟》
在電影《星際之門:真理之舟》中,出現(xiàn)了一段從一個(gè)加拿大銀行網(wǎng)站上拷貝出來(lái)的Javascirpt代碼。
七、《彎刀殺戮》,Java
電影《彎刀殺戮》
在電影《彎刀殺戮》中出現(xiàn)了一段Java代碼,是用來(lái)執(zhí)行一個(gè)簡(jiǎn)單的TCP server任務(wù),它用當(dāng)前的日期和時(shí)間響應(yīng)客戶端。
八、《侏羅紀(jì)公園》,shell
電影《侏羅紀(jì)公園》
電影《侏羅紀(jì)公園》中出現(xiàn)的這段代碼看起來(lái)很像是為一臺(tái)UNIX機(jī)器寫的shell腳本
九、《劍魚(yú)行動(dòng)》,C語(yǔ)言
電影《劍魚(yú)行動(dòng)》
電影《劍魚(yú)行動(dòng)》中的C程序代碼是來(lái)自DES cracking program。
十、《社交網(wǎng)絡(luò)》,perl
電影《社交網(wǎng)絡(luò)》
在電影《社交網(wǎng)絡(luò)》中出現(xiàn)了很多代碼,而且看起來(lái)都像是專門為這個(gè)電影而寫的。
十一、《歐羅巴報(bào)告》,ActionScript
電影《歐羅巴報(bào)告》
在電影《歐羅巴報(bào)告》中出現(xiàn)了這些ActionScript 3 顏色選擇器代碼。
十二、《燃眉追擊》,未知
《燃眉追擊》
《燃眉追擊》這部電影我沒(méi)有看過(guò),也不知道上面這個(gè)圖片出現(xiàn)在什么場(chǎng)景中。這段代碼是什么語(yǔ)言?有誰(shuí)看出來(lái)了,請(qǐng)留在評(píng)論里,我會(huì)更新這段內(nèi)容。謝謝。
十三、《反托拉斯行動(dòng)》,Java
電影《反托拉斯行動(dòng)》
在電影《反托拉斯行動(dòng)》中這兩個(gè)家伙盯著看的這段“壓縮”代碼來(lái)自一個(gè)用Java寫的Web Server源代碼。
十四、《維基解密》,Lua
電影《維基解密》
在電影《維基解密》中主人公阿桑奇在看一段用Lua語(yǔ)言寫的代碼。這段代碼是AwesomeWM項(xiàng)目中的diskusage.lua。
十五、《終結(jié)者》,匯編語(yǔ)言
電影《終結(jié)者》
在電影《終結(jié)者》中,機(jī)器人的眼里展示了一段6502匯編語(yǔ)言代碼,看起來(lái)是從Apple II里拷貝的。
十六、《極樂(lè)空間》,匯編語(yǔ)言
電影《極樂(lè)空間》
在電影《極樂(lè)空間》中太空站重新啟動(dòng)時(shí)使用的代碼直接來(lái)自《因特爾架構(gòu)軟件程序員手冊(cè)第三卷:系統(tǒng)開(kāi)發(fā)》