思考:计算机做的,就一件事
date
Apr 18, 2023
slug
what-does-computer-do
status
Published
tags
技术思考
summary
让数据从A到B。
type
Post
经常遇到这种场景,当人们看到或用到计算机科技产品,无论软件还是硬件时,都会感叹神奇、伟大、不可思议。
这时,如果人们身边有个理工科的家人或朋友,大概率会向他们问道:这到底是怎么做到的?
碰上这种情况,我往往手足无措、如鲠在喉。因为这其中的科学道理,在我脑中对应着一本专业性很强的教科书,而同时我需要在很短时间内,向不懂技术的人用浅显、通俗的话语来分享,这显然是个难度极高的任务。我尝试过30分钟、20分钟,甚至10分钟的讲解,都没有得到听众对内容被理解、被吸收的反馈。
我时不时拿出易中天的百家讲坛系列来睡前助眠,沧海桑田的历史、形色各异的人物却能娓娓道来,让听者有所得、有所感。计算机科学的历史,相较人的历史,岂不小巫见大巫。久而久听之,我也再次自我思考,希望运用到人文式的方法论,来提高对计算机专业更深一层的理解。
遵循不拘小节、抽丝剥茧、大道至简、求同存异、回望起源、展望未来的原则,来回答“计算机怎么做到不可思议的一件事”这个问题。
经过提炼再提炼,精简再精简,我用七个字进行了终极表达。计算机一直在做的,解决的问题,实现的目标,其实就一件事:让数据从A到B。
A、B可以是终端设备,也可以是地理位置,也可以是表达形式等等。
下面来检验一下这句话的能力:
- 微信聊天是怎么做到的? 讯息就是数据,好友间通讯就是从A到B。
- 看视频是怎么做到的? 视频也是数据,虽然人不能直接阅读,但计算机能存储、传输、转码,最终在设备上显示。无论是数据库环节、网络环节、还是算法环节,每个过程都可以看成数据从A到B,从B到C的处理。
- ChatGPT是怎么做到的? 人类文明,通过人类语言能记录、表达的,甚至有些通过人类语言不能表达的,都能基于自然科学(特别是数学)理论将它们抽象成数据,将数据交给计算机,再进行的组织、分类、加工、分析、推理等工作,说到底都是让数据从A到B。
站在计算机专业的角度看,通过这句表达,也能帮助我们在应对专业难题时,提供一个逃出迷雾的思路,做到对技术难题在战略上藐视。
- 实现一个数据库,不过是让数据A,通过存储或读写到达B;
- 实现一个算法,不过是让数据A,通过计算得到B。其中需要的数学算法理论、复杂度分析等,我们再逐个击破;
- 实现一个网络,不过是让数据A,通过传递到达B。其中需要的传输、加密、编码等,不过是在A和B之间,又插入了新的几段A到B罢了。