技术语境中那些熟悉又陌生的英语动词(一)

09/05 17:31

不管是阅读计算机领域的英文内容,还是使用英文界面软件时,你可能都会见到很多生词。其中,有的词本身就长得张牙舞爪,或者在日常语境下用得很少,因此一眼就知道是个技术术语。但又有这样一些眼熟又陌生的单词—— ...


不管是阅读计算机领域的英文内容,还是使用英文界面软件时,你可能都会见到很多生词。其中,有的词本身就长得张牙舞爪,或者在日常语境下用得很少,因此一眼就知道是个技术术语。

但又有这样一些眼熟又陌生的单词——尤以动词居多——它们本身并不生僻,很多甚至都是中小学阶段的基础单词;但第一次在技术语境下看到时,还是容易稍感意外,并在了解含义后产生「原来还可以用在这里」的感觉。了解这些词的含义和用法,能让阅读和使用更加顺畅;如果自己在工作或沟通中要表达相应含义,也可以借此让表达更加简洁、精准和生动(多用动词也是一个常被鼓励的写作优化技巧)。当然,即使没有这样的需求,知道点稀奇古怪的事情本身也挺有意思的。

接下来介绍的就是一些曾经让我产生过这种意外的动词。显然,这只能是一个不完全列举,并且筛选标准完全是个人的,因此欢迎补充指正,后续篇目也会陆续介绍更多。

abort

在计算机语境中,「终止」中大概有一百种不同说法,但 abort 肯定属于你特别不想看到的那种,一般特指在操作出现重大错误或故障的情况下,由程序自动、强制终止执行操作,并且跳过正常的收尾流程。因此,称一项操作为 abort,一般也暗示着可能造成一些不可逆的影响,或者至少事后需要通过额外步骤来「收拾残局」。

abort 作为一项操作的词源主要可以追溯到 C 语言标准库,其中的 abort() 函数就是用于执行异常强制退出的功能。当程序调用 abort() 时,系统会向程序发出信号 SIGABRT 强制其退出,并且不会执行原本应在退出时执行的其他操作。因此,它不同于通过按 Ctrl-C 造成的中断(interrupt,对应 SIGINT 信号),因为程序那时一般还有机会完成收尾;也不同于用 kill 命令导致的终止(terminate,对应 SIGKILL 信号),因为那是用户手动干预,而非程序自行要求终止。

abort 最出名的出镜场合大概是在 DOS 系统中。当时,系统找不到软盘、软驱仓门打开、软盘校验错误都被定义为所谓「严重错误」,命令行此时会显示一句灵魂拷问 Abort, Retry, Fail? 其中,Retry 的意思不言自明,Abort 和 Fail 的差异则在于,Fail 会给被终止的程序传回一个错误代码,程序可以据此决定是否以及如何做一些补救措施(例如要求用户换一个文件路径),而 Abort 是直接终止而不做任何通知。

显然,从用户交互设计的角度看,这种提示语只能得零分,因为普通人根本不可能轻易明白这句提示的含义,只会造成不必要的恐慌——毕竟在日常语境中,更为人所知的可能是这个词的名词形态 abortion,用来类比电脑故障无论如何太重了一点。更何况,abort 定义中的所谓「严重错误」是从程序自身的视角来看的,但不同程序的地位不同,其出错的实际后果可轻可重。如果 abort 的是一次复杂的系统升级(例如在 do-release-upgrade 期间),那么确实可能给你留下一个半残废的系统;相反,如果 abort 的只是一次 GCC 的编译流程,那么无非是清理目录、调试一下环境再来而已。

可能正是因为这些问题,abort 目前已经很少在面向最终用户的界面上看到了,而一般只出现在——也只应该出现在——编程调试、系统维护等场合。如果你某天在某次折腾中看到这个词,不要恐慌,一切还没有结束。

例句:

  • The installation hung for five minutes, so I had no choice but to abort the setup. [安装过程停滞了五分钟,我没得选,只能终止安装。]
  • If the pre-deployment checks fail, abort and generate a core dump for analysis. [如果部署前检查未通过,终止部署,生成核心转储以便分析。]

bump

如果经常逛 GitHub 的话,你会在很多软件的更新日志里看到 bump 这个词。虽然这个单音节词听起来有些活泼,但它显然不是指什么暴力举动,而是指提升版本号——可能是软件自身的版本号,也可能是其依赖的第三方组件版本号。不同于 upgrade,bump 对应的版本更新一般是小幅的,对于 X.Y.Z 式的语义化版本号,一般是指 Y(次版本号)和 Z(修订号)的提升。更宽泛地,bump 这个词也经常见于 bump the counter 这个固定组合中,指将计数器的值增加 1。

bump 为什么会被引申出「增量」的含义呢?一种说法认为这是来自机械计数器,它需要通过快速推动其附着的横杆(其后会弹回原位)来使得计数增加一次。这样的机械结构后来也出现在早期计算机中,bump 也就作为一种惯用表达沿用下来。在许多上世纪的大型机使用手册、汇编语言指南里,就已经可以见到 bump the counter 的说法。

作为一个术语,bump 说起来可谓简洁而有趣,但对于外行人确实有些理解门槛。实际上,开源项目常用于管理依赖项的工具 Dependabot 就收到过一条建议,要求减少在界面中使用 bump,而换成更好懂的 update。维护者很友好地接受了大部分建议,但决定还是在自动生成的合并请求标题里保留它。

例句:

  • Bump the API minor version from 2.0 to 2.1. [将 API 小版本号从 2.0 提升到 2.1。]
  • Bump some_dependency to 4.17.21 to resolve CVE-XXXX-YYYY. [将依赖项 some_dependency 版本提升到 4.17.21 以解决编号为 CVE-XXXX-YYYY 的漏洞。]

complain

用电脑是一件很容易生气的事。操作卡顿会生气,软件有 bug 会生气,游戏掉帧也会生气。但别忘了电脑也有脾气。当你试图要求程序接受它不喜欢的东西——不符合规范的值、格式错误的配置文件、已经弃用的语法,它会做的一件事就是「抱怨」(complain),也就是报错并显示诊断信息。

你经常可以在编译器(compiler)、代码检查器(linter)的语境下看到 complain 这个词。与人类相比,程序即使在抱怨的时候也是冷静(冷漠?)和有逻辑的,一般都会指出有问题的具体位置,以及说明实际情况和预期情况的差异。从程度上说,被 complain 的事情一般不是特别重大,很多时候是因为粗心大意导致的,在目前阶段还没有导致什么后果。

会员专属文章,欢迎加入少数派会员。
优质内容
权益周边
会员社群
power+
评论区
全部评论0
成为少数派会员方可评论,立即加入 。若已是少数派会员,点击登录
还没有评论,来发表第一个评论吧
全部评论
还没有评论,来发表第一个评论吧
成为少数派会员方可评论,立即加入 。若已是少数派会员,点击登录
会员新功能
内容侧边栏
点击这里拉开侧边栏,即可查看会员内容列表,快速切换内容。