Article

电脑,到底在干什么?

编程基础 33 次阅读

电脑,到底在干什么?

人类不擅长计算。但是,很遗憾,现实世界需要计算。从牧羊人数羊的数量,到纳税人纳税,我们都离不开计算。这大抵是因为数学确实深深植根于自然世界之中吧。

但是,人类很聪明。我们擅长寻找规律,我们在使用十进制。逢十进一,所以就有了最早的机械计算器——小齿轮转十圈大齿轮转一圈。

图 1 最早的机械式计算器

但机械的再快也有极限,齿轮转一圈总得花点时间,于是,在电被发现之后,人们开始琢磨用电来算。再后来,在一堆数学家和物理学家的努力下,我们有了半导体,然后就有了晶体管——他们其实本质上就是高速电控开关。当然中间还有个历史更加悠久的真空管——但是这东西和晶体管的作用基本一致,这里不做过多赘述。

后来,就是我们耳熟能详的时代:有些人发现晶体管不一定是这样的单个的原件

,而是可以在一整块硅上面“蚀刻”出来一堆然后用金属连接起来——效果是一样的。然后就有了人类历史上最畅销的芯片——555定时器。再往后,就出现了更大规模的集成电路,然后人类在这条道路上一路高歌猛进,直到今天仍然如此。

所以,计算机到底是什么?他是干什么的?这个问题就藏在他的名字里面。我们的俗称“电脑”既是正确的又是错误的。“电脑”拆开,是“电”和“脑”即“电气化大脑”——但是它并不能思考。它没有自主意识,只能遵循指令进行工作。正因为如此,“计算机”这一名字更加准确——用来“计算”的机器。你用电脑干的一切事情,不过都是“计算”罢了。

理解了这些,或许有助于你们更好的去接受接下来的课程。

为什么偏偏是“编程”?

自然语言还是太不精确了。英语里面的动词各种不规则变化(初中要求的100个不规则变化动词大家应该都有背过吧);中文重度依赖上下文语境的代词解析;日语一个词几十种表达方法……让计算机这个不能思考的东西去理解这些未必有点困难了。毕竟,金属和半导体构成的东西是没有情感的。

“编”,形声字。从糸(mì),扁声。“糸”在甲骨文和金文中象一束丝线之形,表示与丝线、纺织有关;“扁”为声符。《说文解字》云:“编,次简也。”古代文字刻于竹简,以丝绳按次序串连成册,即为“编”。故其本义为按次序排列、交织、连缀(如编织、编简)。凡将零散之物按一定逻辑、序列组织起来,皆谓之“编”。

“程”,形声字。从禾,呈声。“禾”指谷物;“呈”为声符。《说文解字》云:“程,品也。十发为程,十程为分,十分为寸。”其本义为度量谷物的法则、度量衡的单位。由度量之标准,引申为法式、规矩、准则(如章程、程式);又引申为事物发展的次序、步骤、历程(如路程、过程)。

而当“编程”二字放在一起,尤其是提及专有名词“计算机编程”,这个词就显得尤为精妙了。

“编”,重在动作与逻辑——如丝之结网,竹之成册,强调将零散的元素(指令)交织连缀,形成有结构的整体;

而“程”,重在法度与步骤——如度量衡之准则,强调事物运行必须遵循严格的规范、次第与逻辑路径。

所以,“编程”,乃是以计算机为对象,以机器语言或高级语言为丝线(编),将人类的意图转化为机器可执行的、符合严密逻辑步骤与算法法度的指令序列(程)。这样,在人类能阅读,计算机也可以执行。

或许,有些人可能会认为,AI的出现看起来似乎是“能让计算机理解自然语言”。实际上并非如此。有个B站视频给这个原理讲的很好,在这里可以看的到。

简而言之——AI并不是“机器能理解自然语言了”,而是——“基于大量已有数据进行的概率预测”。它的本质,只不过是一大堆矩阵和浮点运算。

PDF 版本

下载本文的 PDF 版本用于离线阅读

下载 PDF