
撰文 | 阿嫻
審校|ziv
對於加利福尼亞州的一名服裝設計師Nontra Yantaprasert來說,結婚是一件非常開心的事情,因為她可以跟隨夫姓Null,以此擺脫日常生活中用起來非常麻煩的超長姓氏——Yantaprasert了。然而,令她沒想到的是,姓Null才帶來了更大的麻煩。
2014年,成功改姓的諾特拉·努爾(Nontra Null)受邀準備參加朋友的婚禮,然而就在她準備向印度領事館申請辦理簽證的時候,出了問題。簽證一直沒有辦下來,諾特拉·努爾打電話過去詢問才知道,電腦系統根本無法處理她的姓氏Null,不是報錯,就是認為使用者不存在,他們嘗試了很多次,也無法修復這個難題。
而這一切的源頭,還得從上個世紀60年代說起。

簡單來說:NULL 是一個不是值的值。
Null是由英國計算機科學家、圖靈獎獲得者託尼·霍爾(Tony Hoare)發明的。他把Null引入了ALGOL語言中,代表“無效的,缺失的,無意義的,空值”,表示一種缺失或不存在的狀態。如今,許多程式語言仍在使用它,包括Java和C#,但Rust等較新的程式語言則完全避免使用它。
在現實生活中,我們可以把它想象成一個空盒子。盒子本身是存在的,但裡面沒有裝任何東西。在計算機程式裡,當一個變數被賦予Null值時,就意味著這個變數當前沒有指向任何有效的資料。比如,你建立了一個變數用來儲存一個人的名字,在還不知道這個人叫什麼之前,就可以先把這個變數設為Null,這樣程式就能知道這個地方的資訊還未確定或者資料有缺失。

託尼·霍爾是英國計算機科學家,他在1980年獲得了圖靈獎。|By Photograph by Rama, Wikimedia Commons, Cc-by-sa-2.0-fr, CC BY-SA 2.0 fr
隨著計算機程式的普及和運用,Null不僅是程式除錯屢屢出錯的罪魁禍首,更因為Null是美國姓氏的之一
,給日常業務造成了極大的混亂。據統計,在美國姓Null的人口大約為10 006。每10萬美國人中,就有3.14個名叫Null的人。
75歲的氣象學家簡·努爾(Jan Null)多年來就因為自己的姓氏苦不堪言——他在網上預訂酒店,每次輸入姓氏時,表單都會不斷重置,導致他辛辛苦苦填寫的資訊全部清空。最後,他打電話給酒店員工,員工建議他輸入不同的姓氏。他也從中吸取了教訓,會將自己的首字母新增到姓氏中。而前文提到的諾特拉·努爾,也找到了一些變通方法來避免這一麻煩,比如偶爾用回她的本姓Yantaprasert,或者在本姓和夫姓之間用連字元相連。

姓Null的人群統計|mynamestats
除了以Null為姓的人,還有一些不小心和Null這個詞綁定了的人,也會因此倒了大黴。
36歲的安全審計員約瑟夫·塔塔羅(Joseph Tartaro)為了和老婆的車牌“Void”(也是空白,無效的意思)搭配成情侶車牌,他標新立異地選了車牌“NULL”,沒想到從此麻煩不斷。2018 年,他在支付了第一張合法罰單後不久,他的郵箱就開始收到來自全國各地、以他的名字開出的罰單。
這些罰單都是因為各種各樣的原因(比如警察開完罰單後忘記車牌號了),被工作人員在資料庫中登記為“NULL”,然後這些“未定義的罰款”又和塔塔羅的車牌關聯了起來,於是系統便預設將所有NULL的罰單都發給了塔塔羅。

個性化車牌在加州並不罕見,但如此“個性”的車牌卻給塔塔羅造成了麻煩。|加州機動車管理局
塔塔羅說,去年12月,他接到保險公司的電話,告知他在48小時內在兩個城市發生了兩起車禍……而事實上,這兩個城市相距甚遠,塔塔羅根本不可能同時出現在兩個城市。這些年,塔塔羅收到的本不屬於他,卻因Null識別錯誤的罰單加起來金額高達12049美元。不過,交管局最後也免除了他的罰金。
Null的創始人霍爾原本只是抱著“為了程式執行方便”的想法引入了Null,但他卻沒有料到,小小的一個Null會給後來人造成如此多的不便和隱患。他在Null References: The Billion Dollar Mistake一書中無奈地說道:“Null導致了數不清的錯誤、漏洞和系統崩潰,可能在之後40年中造成了十億美元的損失。”
因此,霍爾將自己的這項發明描述為“十億美元的錯誤”。
參考文獻
[1]https://futurism.com/null-name-trouble-computer-systems
[2]https://www.mynamestats.com/Last-Names/N/NU/NULL/index.html[3]https://www.msn.com/en-us/news/technology/life-isn-t-easy-if-your-last-name-is-null-as-it-still-breaks-database-entries-the-world-over/ar-AA1zHj8P[4]https://www.wired.com/2015/11/null/
[3]https://www.bbc.com/news/articles/c93lqng957jo
[4] https://en.wikipedia.org/wiki/Phos-Chek[3] https://www.livescience.com/planet-earth/wildfires/whats-in-the-pink-fire-retardant-being-dropped-on-la-and-is-it-dangerous[4]https://pubs.acs.org/doi/epdf/10.1021/acs.estlett.4c00727?ref=article_openPDF
[]https://www.worldrecordacademy.org/2023/3/worlds-largest-pipe-organ-world-record-in-atlantic-city-new-jersey-423169
本文經授權轉載自把科學帶回家(ID:steamforkids),如需二次轉載請聯絡原作者。歡迎轉發到朋友圈。
