书上程序的定义,现在我类比下。
程序:
数据+算法
类比与——
流水线:
产品+工序。
程序和流水线很相似,流水线就相当于程序,产品相当于程序要处理的数据,各工序相当于各算法。
程序中数据的流向的这条流水线相当于整个程序,流水线的整体布局——比如流水线空间布局、工序布局(需要哪些工位、这些工位如何排放、第一个工位是什么、第二个工位是什么等等、这些工位需要干啥活、输入输出什么等等)等是程序的架构,此为架构师所干的活。
程序的流水线经过架构师进行布局调整完以后,那么各个工位的人就开始就绪准备干活了,然后各个工位的职责等架构师也都分配好了,但是具体怎么干就又各个工位的人自己想办法又快又好有多又剩地输出架构中所需的那部分数据,这就是算法,程序流水线上的数据流到每个工位,由各个工位的人(这就是大的项目中分到的模块中的各码农)写的算法把数据进行加工等处理然后再放到流水线上流到下一个工位,和流水相似,这个工位有并行的也有串行的,并行的比如SIT测试等。
当然整个架构也是算法。
算法就相当于数据的流水线。
算法是加工数据的工具,是人的思想、灵魂、智慧的物化体现。
好的算法,相当于好的工序,节省时间保证质量。
数据流向的方向就像一条河,从高层流向底层,奔向美丽,奔向自由,奔向快乐,多么绚烂,多么美丽,多么自由啊!