我们编写的程序由两个主要方面组成:
1 、算法的集合。(就是将指令组织成程序来解决某个特定的问题。)
2 、数据的集合。(算法在这些数据上操作以提供问题的解决方案。)
纵观短暂的计算机发展史,这两个主要方面(算法和数据)一直保持不变,发展演化的是它们之间的关系,就是所谓的程序设计方法(programming paradigm)
——————————————————————
算法是逻辑,由指令组织成的逻辑,能够作为一个“实现”,来解决某些问题。
数据是指在算法中流动的对象。程序中的变量/常量以及程序挂接的数据库等都是数据内容。
程序就是使用算法,处理数据对象,解决特定问题。
由此看来,程序的本质处理对象是数据。数据的处理结果对应了一切目标的解决结果。在这里数据的核心就是数字:因为硬件是由物理电路驱动的,包括开关、回路、电容以及在其中流动的信息,其实都是由电驱动的,通过控制这些电的流向和流量,就像铁轨扳道一样,产生成千上万的结果,而控制这些电的流向和流量的硬件单元最终对应了各自的数字。最底层的汇编程序就是控制这些数字,使硬件产生相对复杂的运行结果——例如对数字对应的像素点的点亮,许多个这样的点亮来完成一个图像,这就是驱动程序。驱动程序自身又提供许多数字,这些数字被用来操纵驱动程序,从而间接操纵硬件,这样,终端的程序设计者就不用去了解硬件细节,而只需要对驱动程序所提供的数字进行操作即可实现自己所要的东西。这就是程序的过程。