想象有一天,您只需对一个机器人说道:“给我一杯茶”。机器人会回道:“好的”,它就会驱动它的机械臂和机械脚为了泡上一杯茶,送到你的面前。 给一些输入,或者不给,计算机就会给你一些输出。 您对机器人说的话是输入,机器人的回复和驱动机械臂、脚,泡茶等动作是输出。 输入或输出大致是一些采用不同媒介的信息,比如文字,数据,图像,语音等等。用这些信息去驱动一些机械或电子产品,从广义上也可看成是输出。 把输入变成输出的过程,大概就是编程。 程序员们在这个过程中皓首穷经,是为了得到所期望的输出。有时候这个过程很艰辛,需要大量的知识储备,甚至会用到人们称为AI的东西,以后还有一些别的什么东西。 上帝说:要有光,于是就有了光。 程序员说:要有光,于是他们就 new Light() ,也创造了一道光。 可程序员毕竟不是上帝,每个人对于光的感受和理解不同,创造的光也各有不同,而且无论外观或内涵都远远比不上上帝创造的光。这就是为什么我们要宽容程序员们的原因。 有时候,我们还需要让计算机记住一些什么,这就是存储器的功能了,存储器分为内存和外存。一些人很迷糊,这二者的区别。 其实做个类比就好理解了,我们把一些东西记在大脑中,用的时候能快速回忆起来,缺点是如果人挂了,就湮灭了,别人也休想知道,如果写成书或记成笔记,那就可以流传千古了。显然,大脑记忆的比在笔记本里找要快得多。 内存相当于人的大脑,外存相当于记了笔记本或写成了书,显然,内存昂贵,容量小,速度快,断电也会湮灭,而外存便宜,容量大,速度慢,不怕断电。移动硬盘,U盘,SSD硬盘,这些都是外存,古老的有磁带,纸带,但凡你平时随手在用的存储,基本都是外存。 记笔记或写书的时候,有时候我们会画一些表格,为了更有条理,更好查找,数据库就是这样的一些表格,它是放在外存上的,一般是各种硬盘。由于它可以流传千古,不怕断电,所以程序员把记录在数据库中的行为叫做持久化。