在很多人的眼中,用一行行代码改变世界的程序员们仿佛是《哈利·波特》里的魔法师,拥有无比神奇的能力。他们说着麻瓜听不懂的咒语——二叉树、Node.js、栈、SOA……在屏幕背后悄然控制着这个世界。
然而许多人不知道的是,除了那些晦涩难懂的术语,许多我们日常会用到的词汇,在程序员们的世界里也有着不同含义。
让我们花五分钟时间,学习几个披着日常用语外衣的计算机词汇吧。
对象[duìxiàng]
普通人:对象是恋爱的对方。
程序员:对象是类的实例,这个词通常出现在「面向对象编程」中,与「面向过程编程」相对应。
不明白这两个词的意思也没关系,它们只是一种编程思想,你只要别把「面向对象编程」理解成「对着女朋友进行编程」就可以了,因为程序员通常没有……
木马[mùmǎ]
普通人:通常指游乐园中的旋转木马。王菲的《旋木》里就有这么一句歌词:旋转的木马,没有翅膀,但却能够带着你到处飞翔。
程序员:指一种恶意程序,植入受害者的电脑之后,施种者可通过木马程序任意破坏对方的文件,甚至不经允许远程控制对方的电脑。
这一名称源自于《荷马史诗》中「木马屠城记」的故事,木马程序与特洛伊木马一样,都极具伪装性和破坏性。
Bug [bʌg]
普通人:虫子的意思。
程序员:电脑程序中未被发现的缺陷或问题。
为什么bug这个词会被用于形容程序缺陷?它的背后还有一段轶事:
20世纪40年代,为了满足战时海量的计算需求,哈佛马克二号计算机被建造出来。一日,马克二号因为不明原因停止了运作,时任首席程序员的格蕾丝·霍普(Grace Hopper,她是世界上最早的几位女性程序员之一)检查后发现,问题是由一只飞蛾导致的:它飞进计算机里,卡住了穿孔纸带。后来,她还把飞蛾的残骸贴在研发记录簿上,并标注为「找出bug(虫子)的首个实际案例」。此后,人们便逐渐开始用bug来形容计算机程序中的错误,而找出错误的过程则被称为debug。
Table [‘teɪb(ə)l]
普通人:桌子。
程序员:表格。虽然大部分人都知道table有桌子或表格的意思,但我真的有一位前端程序员朋友,从小学的是日语,工作了很多年之后,才知道table原来还有桌子的意思。
地址[dìzhǐ]
普通人:一串文本,表示某人或某组织所处的具体地点。
程序员:也是一串文本,但通常指的是IP地址或是物理地址。所以如果你问程序员的地址,一定要说清是什么地址,否则你得到的答案也许会是173.168.15.10,或者是08-21-6C-06-A6-29。
整数[zhěng shù]
普通人世界:认为1000是整数。
程序员世界:认为1024是整数。
这里的「整数」其实不是数学意义上的整数,它更类似于「凑个整数」里的「整数」。为什么程序员认为1024是整数呢?因为计算机世界使用的是二进制,十进制里的1024用二进制表示则是10000000000,是整数没错吧。所以1024才成为了计算机领域的基本倍数,例如1MB=1024KB,1GB=1024MB,10月24日还是程序员节。
而至于有些人认为1024这个词在其他地方有更深层的含义,我根本不知道他们在说什么。
握手[wòshǒu]
普通人:握手是一种短暂的礼节,两个人握住对方的左手或右手,通常伴有两手的简短摇动。
程序员:数据通信中,在进行信息交换之前,对操作模式的状态互相达成协定的过程。例句:TCP建立连接的过程需要三次握手。
最好的语言[tte best language in the world]
法国人:法语。
英国人:英语。
中国人:汉语。
程序员:PHP才是最好的语言。
p.s.这是一个笑话