“巴別塔”式逃離逃生密鑰Esc鍵的隱秘往事
眾所周知,蘋果一些新的MacBook產品線不僅取消了Esc鍵,而且還對通常用於多數計算機鍵盤的功能鍵佈局進行了變更——它們有的被轉移到了TouchBar,有的則被永久取消掉了。那個常標配於每個鍵盤的Esc鍵,眼看著卻有淡出大眾視野的趨勢——名為“逃離”的這個按鍵,終於將履行它的命運了嗎?
只有在將要失去的時候,它們才會引起人們的注意——名為“Escape(逃離)”的Esc鍵背後,是設計者對徒勞無益工作的厭惡,還是他在生活的困境和重壓之下對未來的一種“憧憬”?抑或是,在話語權的爭執過程中,對巴別塔式的現狀作出的回應?
“逃離”的背後,究竟有著怎樣的故事?
起源
事實上,不同於我們對於Esc鍵早已習慣的現狀,早期鍵盤上是沒有現在這種Esc鍵的——連類似的功能按鍵都沒有。直到一些早期的Teletype Model 33鍵盤上(Teletype Corporation的Model 33終端於1963年推出,是數據通信行業中最受歡迎的終端之一),才出現了類似Esc鍵早期功能的按鍵——Alt Mode,它可以將接下來的錄入以替代操作的模式(類似於今天的大寫鍵的功能,可以在兩種輸入方式之間切換,無須按住)來對下一個輸入的字符進行轉義處理。而這種應對方式也成為了後來電腦鍵盤處理轉義字符的一種傳承式設計。
圖源:wikipedia
這為Esc鍵的最終誕生提供了一種契機——在早期的計算機鍵盤上,Esc鍵(在國際標準系列ISO / IEC 9995中稱為Escape鍵)是用於生成轉義字符的鍵,它可以用來轉義為十進制的ASCII碼的,最早出現於早期IBM電腦的鍵盤上。
圖源:wikipedia
轉義字符:轉義字符是很多程序語言、數據格式和通信協議的形式文法的一部分,像是常見的n在一些編程語言中就表示換行的意思,類似於現在鍵盤上Enter的功能。
這一功能對我們來說到底有什麼用處呢?對於大多數計算機用戶來說,計算機內部程序的運轉和邏輯是既神秘又難懂的,而且看上去只需要輕點關閉,它就可以自動終止正在運行的指令——然而事實卻並不是這樣的,不同於現今電腦可以“智能”運轉的表像,計算機內部程序運行的規則和邏輯體系一直都各有不同,不僅不同的編程語言之間需要協同和對接(大概可以類比為自然語言的“翻譯”吧),同一編程語言體系下也會有“轉義”的需求(比如上面提到的”n”),早期不同硬件廠商的編碼體系更是是百花齊放。
而且,早期計算機的交互體驗也是實打實的硬核,如果不能理解計算機程序實際上不會“智能調用”內存等硬件資源的事實,那麼程序邏輯最終運行的結果將很可能是吃光硬件能夠提供的每一分資源——程序的循環邏輯會一直不斷地重複執行下去,直到堆積的運算把電腦的性能“榨乾”。
因而,Esc鍵作為轉義鍵的存在就是必然會產生的結果了——按照計算機交互方式專家Dennerlein的說法,轉義鍵的誕生實際上推動了二十世紀70年代和80年代的計算機革命。
Esc鍵誕生於1960年,當時,一位名叫Bob Bemer的IBM程序員試圖解決程序上的“巴別塔”的難題:保證來自不同製造商的計算機可以在代碼不同的情況下進行通信。Bemer發明了Esc鍵,以便程序員可以輕鬆完成從一種代碼切換到另一種代碼的轉義過程。後來,當計算機代碼標準化後(Bemer同樣發揮了主導作用),Esc鍵則變成了計算機上的一種“中斷”按鈕,是一種調動計算機內部運轉,並說“讓我離開這裡”的方法。
巴別塔的故事想必大家都很熟悉了——因為語言的分裂而產生的分歧,最終使得通天的高塔無法繼續建立。這一邏輯事實上貫穿人類歷史,即使在程序邏輯中,也無法避免多樣化的數字世界產生對立和分歧,信息和數據的不對等,不僅是人類社會面臨的問題,同樣也是程序協作當中不得不解決的難題——因而標準的統一和溝通的主持,也一直是各大廠商爭取的高地。
為什麼要叫做“逃離”呢?Bemer本可以用其它的詞彙來形容,像是“轉換”,或是“停止”,都是可以理解的意思——但他卻選擇了“逃離”。早在1970年代,他便開始警告“千年蟲”問題(Y2K),並向時任美國總統的理查德·尼克松(Richard Nixon)的顧問們解釋了2000年可能發生的計算機災難。
2000年問題(Year 2000 Problem,簡稱Y2K),也就是我們常說的“千年蟲”問題,或者叫“千禧蟲”危機,是指由於計算機程序設計的一些問題,使得計算機在處理2000年1月1日以後的日期和時間時,可能會出現不正確的操作,從而可能導致一些敏感的工業部門(比如電力,能源)和銀行,政府等部門在2000年1月1日零點工作停頓甚至是發生災難性的結果。
兩千年問題是由Bob Bemer在1958年第一次提出的
對此的擔心和顧慮促使Bemer把Esc鍵命名為了“逃離”,並時刻警醒著使用它的人們。
今生
由於後來大多數計算機用戶不再需要介入對計算機周邊設備控制時的細節操作,Esc鍵原先作為“中止”鍵的功能被應用軟件設計員利用了起來,並且沿用至今。Esc鍵不僅是許多網頁瀏覽器中“停止”按鈕的通用快捷鍵,在Windows當中,它還成為了對話框中表示“否”、“退出”、“取消”、“放棄”的快捷鍵。
事實上,自Windows 3.0以來,包括Windows XP,Windows Vista,Windows 7,Windows 8和Windows 10在內的各世代Windows都包含了大量應用Esc鍵的快捷鍵。
比如說,除了常見的Win鍵外,調用“開始”菜單的另一個典型做法,就是是按住Contro+Esc鍵(好讓你從層層的Windows中逃離?)。Microsoft Windows在許多關鍵快捷方式上都使用了“ Esc”。
而“Ctrl+Shift+Esc”則可以方便地調出任務管理器——比起從任務欄右鍵打開任務管理器和“Ctrl+Alt+Delete”的方式來說,這一方法簡單又直接。
此外,使用“Alt+Esc”的組合,則可以方便地在打開的窗口間進行切換,其作用類似於“Alt+Tab”和“Win+Tab”(Alt+Esc是按順序來切換程序窗口的,而按一下Alt+Tab鍵則只是切換到你上一次使用的程序窗口)。
在macOS中,“ Esc”鍵則通常用於關閉或取消對話框或工作表——比如⌘Command+⌥Option+Esc結合就可以強制退出對話框,讓用戶結束無響應的應用程序。
並且,在大多數計算機遊戲中,Esc鍵也是可以作暫停按鈕或調出遊戲菜單的。
一個沒有鍵盤的未來?
事實上,在數十年後的今天,整個鍵盤進行操作的想法對於不少用戶來說甚至都是一件奇怪的事情了——不僅交互邏輯的改進導致了各種電子設備當中繁雜的操作鍵成為了非必需品(個別設備甚至實現了全觸摸交互),語音輸入等新技術的誕生也使“語音打字”成為了可能。今後的電腦,或許會步入沒有鍵盤操作的未來,下一個五十年,鍵盤上消失的按鍵,將不止是Esc鍵。