21.3 C
Taipei
星期四, 27 10 月, 2022
Home科技新聞電影鋼鐵人等五部科幻片中出現的程式語言,你可以看出是 Python 還是 Java 嗎?

鋼鐵人等五部科幻片中出現的程式語言,你可以看出是 Python 還是 Java 嗎?

常看電影的朋友肯定對駭客角色不陌生,雖然大部分電影中對駭客技術都沒有詳細解釋,但也有不少考據細節的電影,就算是一閃而過的程式碼也都是有根據的喔!像是 JavaPython 、 MySQL 和 C 語言等熱門語言,不只是電影中的常客,也是求職市場中最夯的程式語言!

以下就分析 5 部出現過程式語言的電影吧!咦,有一部賣座大片的程式語言還寫錯了?

鋼鐵人:C 語言


鋼鐵人中出現的程式語言-C語言
▲ 《鋼鐵人》中出現的 C 語言

 

作為漫威英雄代表之一的鋼鐵人,以高科技打造的鋼鐵裝甲想必讓許多粉絲印象深刻,小勞勃道尼幽默風趣的詮釋也讓「托尼‧史塔克」成為許多影迷最喜歡的超級英雄。

而在最近上映的《復仇者聯盟4:終局之戰》中,陪伴我們十年的鋼鐵人也迎來結局,其犧牲自己、拯救全宇宙的氣概,想必讓粉絲們感動又不捨啊!看完是不是很想馬上重溫《鋼鐵人》系列呢?

而回顧鋼鐵人1,托尼史塔克在綁匪的洞穴中第一次啟動他所設計的人工心臟,使用的就是 C 語言代碼──說是 C 語言讓鋼鐵人誕生也不為過啊~

這段代碼還有個不為人知的冷知識:其實這段代碼來自於樂高積木的硬體下載程式。

電影中使用這段代碼,可能是指鋼鐵俠要下載一套硬體描述語言;或是將硬體描述語言上傳到樂高積木的控制系統中。無論哪個,都表示鋼鐵俠的誕生跟樂高積木有關。

無敵破壞王2:網路大暴走:Python 語言


無敵破壞王2:網路大暴走中出現的程式語言-Python
▲ 《無敵破壞王2:網路大暴走》中出現的程式語言 Python

 

《無敵破壞王》續集《網路大暴走》,正如片名,劇中反派是個能癱瘓全網路的病毒!這個病毒能自動掃描程式的漏洞且不斷複製,一旦發現其他目標,又能迅速散播,不需要任何人為干預,就能自動複製和感染。

在病毒尋找感染目標的畫面中,我們可以看到 Python 程式碼。

沒錯,這個能自我繁殖、自動利用軟體安全性漏洞的病毒,正是使用經常運用於 AI人工智慧的領域上的 Python 語言寫的!不得不讓人聯想到,人類設計出能自動學習、模仿並完成人類行為的AI,有天會不會也會像片中病毒一樣,癱瘓且滅絕全人類呢?

<

殺千刀重出江湖:Java


殺千刀重出江湖中出現的 Java 程式語言
▲ 《殺千刀重出江湖中》中出現的 Java 程式語言

 

這部電影號稱好萊塢史上最白爛的動作片,雖有一班大咖演員,卻被眾多影評稱為「爛片的極致」!片中老套的劇情、俗爛的對白,大肆使用血漿而備感廉價的流血場面,某種意義上體現了 B 級電影的極致。

這部粗糙結合科幻風的電影也小露了一下程式碼:蜜雪兒‧羅德里奎茲飾演男主角的好搭檔「Luz」,在片中使用一段 Java 程式碼執行一個簡單的 TCP server 任務,以當前的日期和時間回應客戶端。

魔鬼終結者:Apple II 的 CPU 「6502」 組合語言


魔鬼終結者出現的Apple II 的 CPU 「6502」 組合語言
▲ 《魔鬼終結者》中出現的 Apple II 的 CPU 「6502」 組合語言

 

還記得在電影《魔鬼終結者》系列中出現的各種機器人嗎?這部對當今的科幻電影產生了各種影響的經典之作,早在第一集上映的 1984 年就已經有各種創舉了,像是現今科幻電影都很喜歡的秀出程式碼,魔鬼終結者當然是不會少的囉!

在最早的《魔鬼終結者》第一部中,我們透過由阿諾史瓦辛格飾演的機器人終結者 「T-800」 看出去,可以看到展示了一段 MOS 6502 的組合語言程式碼。

MOS 6502 是 1975 年由 MOS 科技所研發的8位元微處理器,剛問世時是當時效能最強的 8 位元 CPU,而 Apple II 的採用使 6502 成了廣為人知的 CPU。而在機器人眼中的程式碼,正是從 Apple II 複製過去的。

龍紋身的女孩:MySQL


龍紋身的女孩中出現的 MySQL 語言
▲ 《龍紋身的女孩》中出現的 MySQL 語言

 

這部充滿懸疑、鬥智、暴力又刻畫出人性病態扭曲的電影《龍紋身的女孩》,女主角莎蘭德便是個經常入侵他人電腦的神秘駭客。這部電影獲得各方好評,但其實有一幕或許會讓熟悉 MySQL 語言的觀眾感到奇怪!

電影中有一幕是莎蘭德使用筆電以 MySQL 語言駭入瑞典警察局的資料庫,想追查受害人。而如果將她用的 left join 關鍵字的 SQL 語言整理出來,可以得到一個輸出結果訊息,重構後會發現她用 outer-join 的方式連結關鍵字和被害人資料。

知道 MySQL 語言的觀眾可能會驚訝,為什麼要使用這樣的文字過濾方式呢?因為 MySQL 中是有 like 語法的。更奇怪的是,輸出結果中居然沒有姓名分別以 R、L 開頭的受害人。

究竟是編劇沒有做好 MySQL 的功課、還是女主角的駭客功力還不到位卻有好運氣呢?

推薦閱讀
前端工程師也該會的後端:MySQL 的 DDL DML DQL DCL

<

最新文章

熱門文章