散记01:计算机的三大原则

01

一:

即便是面对最新的复杂技术,只要把它们归结到计算机基础知识上,就可以变得轻松理解了。

二:

一门学科总有其知识和应用边界。首先,我们要识别一门学科的边界,为它划定知识边界,其次,我们要划定它知识的核心和外围衍生,把握住作为核心的基础知识,然后再以这些基础知识成体系对整个学科知识做一个大概的推演,最后,根据我们所需要的目的有意识的使用知识。

02

一:

从硬件的角度来看,计算机是执行输入、运算、输出三种操作的机器。计算机硬件由大量的集成电路(IC)组成,每个IC在本体外都带有引脚,一侧的引脚会负责接收数据、向本体输入,本体则会针对这些数据做运算,另一侧的引脚会负责输出数据、向外部输出。

计算机依靠输入从外界获得信息,如果没有输入,计算机就不能工作;计算机必须执行运算,否则计算机将失去意义,若输出的信息和输入的信息始终一致而不发生改变,那么计算机只能算作空无一物的管道,有它没它都不会有任何区别;计算机依靠输出对外界发出信息,一个只堆积通过输入得到的信息和通过运算改变的信息,却不向外界发出信息的计算机,只是一个大容量的垃圾站,产生不了任何价值。

二:

正因为计算机硬件上这样的特点,由于计算机是执行程序的机器,所以无论我们是编写简单或是复杂的程序,在头脑都要有一套输入、运算、输出的流程,而这一套过程又包含了诸多更小层次的输入、运算、输出的流程。因为无论多么复杂的功能,都是通过组合一个又一个的输入、运算、输出的子流程搭建起来的,且输入、运算、输出这三个要素缺一不可。

03

一:

从软件的角度来看,计算机是执行程序的机器,计算机程序是指令和数据的集合。所谓指令,就是同计算机硬件的行为一一对应的进行输入、运算、输出的命令,所谓数据,就是在进行输入、运算、输出这一套操作流程时,使用和改变的信息。而数据也分为两类,一类是作为指令执行对象的输入数据,一类是作为指令执行结果的输出数据。

程序员在编程时,用函数来命名可以完成某个功能运算的一组指令(它当然包含输入和输出),用变量名来命名某个具有特别含义的数据。而函数和变量的关系,可以使用数学上的公式来表示:

y = f(x)。

它的含义是将变量x输入到函数f中,x经过函数f的某些运算后,其得到的结果会输出到变量y中。

二:

坚持一个底层观念,任何程序最终都会变成机器代码,而每份机器代码的内容都是数值的罗列,而这些数值中,要么是指令,要么是数据。这样就不会迷失于高层的抽象中。

04

一:

从底层工作机制的角度来说,计算机有自身独特的工作处理方法。就本质而言,计算机是为我们处理特定工作的机器,是为我们提升手工作业效率的机器。但由于计算机在设计时,面临和人类完全不同的限制,采用的独特设计使得它的底层对于信息的处理机制和我们人类不尽相同(当然,也和其他机器不同,就如同放大镜和显微镜在设计上的不同,使得它们对于事物的观察尺度发生了根本的不同),因此,如果想要让计算机替代我们的手工作业,我们要做的顺应它的处理机制,就如同顺应自然规律。

用数字表示所有的信息,这是典型的计算机式的处理方法。对于信息的表示形式的不同,自然导致其信息处理机制的变形。无论计算机要处理的是怎样的信息(组成程序的两大要素:指令和数据,都是数值),在最底层硬件进行处理,都将其理解为数字。

二:

再坚持一个底层观念,在计算机上,无论多么高层的抽象,到最后都是数字。任何高层抽象的改变,都意味着底层相关的数字发生了变化。新增或者修改程序都意味着从底层对相关数字进行了篡改。而高层抽象和底层数字之间的转换也是一个重要关口。

05

一:

计算机的从业者正在努力使计算机的使用方式和计算机程序的编程方式在使用趋向人类,使得人类可以用自己的思维方式去更便捷的使用计算机。

二:

倘若计算机底层的架构并没有本质上的改变,那么这种趋向只能说在表现上让计算机的使用方式和计算机程序的编程方式趋向人类,其中必然存在更多环节、更复杂的转换,毋宁说是趋向人类,不如说是在模拟人类。

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值