“巴别塔”式逃离的背后,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键。