-
Overview
我写代码总是乱七八糟,写完后自己都不想看,过来一段时间,都忘了程序是干什么的、怎么实现目的的;总的来说,就是代码难维护。
我想这是“软件工程”这个概念下的问题。
从周爱民的作品入手研究这个问题。
-
关于用词
编程语言,终归还是英语世界里丰富一些,作者的许多思想是用英文构思出来的,用中文表达出来,总有些语言表达上的不尽满意。
然而,不管此类硬伤如何,本书绝对是中文世界里一股清流,营养丰富的清泉。
-
关于分类
作者大量的用到了“分类”这个概念。
从自主理解,到对外界的答疑解惑,“分类”概念是其思考上的一个底层概念。
“分类”概念,既是作者的常用的底层思维武器;同时也是作者视角下到编程世界演化里的底层脉络。
这是从作者角度来看;另一个角度,作者提及“分类”其实跟Musk提到的语法树,有相通的成分,都是其接纳、运用知识的一种方式。一体多面中的两面。
-
面向过程 vs 面向对象
面向过程是对“流程”、“结构”、“编程方法”的高度概括;
面向对象本身只解决了“结构”、“编程方法”的问题,没有对“流程”加以改造。
如果内存是“层状存取”的,那么我们的“数据结构”就可以基于多层来形成“多层数据结构”体系;如果内存是“树状存取”的,那么我们当然可以用“树”的方式来存取。
不管哪种编程模式,底层还是需要与存储交互,存储方式决定了编程方式的优劣。
程序=数据+算法 —> 面向过程时代
程序=数据+算法+方法 —> 面向对象时代
Program = DataStructure + Al
《大道至简-软件工程实践者的思想》读书笔记
最新推荐文章于 2021-06-27 22:19:42 发布