书单:拓展对C 的认知层次
时间:2021-08-19 15:28:48
手机看文章
扫描二维码
随时随地手机看文章
[导读]我把C书籍分为4个层次:初级高级深入哲学初级层次的书主要写的是「方法流程」型的内容,其实算是初级与中级的联合,用于了解某个主题的基本内容以及使用方法,搭建知识框架。只需「依照规则」行事,便能吸收这些信息。高级层次的书主要写的是「经验技巧」型的内容,这类书一般都是由C大师或专家根据...
我把C 书籍分为4个层次:
初级层次的书主要写的是「方法流程」型的内容,其实算是初级与中级的联合,用于了解某个主题的基本内容以及使用方法,搭建知识框架。只需「依照规则」行事,便能吸收这些信息。
高级层次的书主要写的是「经验技巧」型的内容,这类书一般都是由C 大师或专家根据工作经验积累而成,用于了解某些在初级层次所未理解的组件原理,以及一些高级技巧。它所起的作用就是加强理解知识框架中的各个「概念」,将其连接起来,组成一张网络,将信息变成知识。到达该层次的人「按照经验」行事,能快速定位并解决一些疑难问题。
深入层次的书主要写的是「学科原理」型的内容,这类书的作者资格很老,大多都是大型公司的核心人员,或是C 标准委员会成员。他们经历过C 从形成到成熟的过程,参加过早期C 编译器的开发,对语言的理解极深。此类书可能并不会直接提升工作效率,但却能对语言的起源、原理有更加深入的理解。此外,这类书往往只涉及一个主题,深入探析该主题的方方面面,这些知识具有迁移性,所谓一法通万法,此之谓也。到达该层次的人往往「根据直觉」行事,面对一个问题,他可能说不出原因,但凭直觉就能马上定位并解决问题。
哲学层次的书一般来说在本领域内很少,要说区别,前三层次注重的是解决问题的「答案」,而哲学层次注重解决问题的「过程」。这类书可能包含历史、经济、人文、社会、物理、生物等等看似和编程毫不相干的领域,但却能从不同的广度和深度来系统地思考问题。
若仅从技术而论,那么到达深入层次已是顶尖,但技术发展具有非连续性,不时有新技术颠覆旧技术,而一个人的时间精力有限,不可能每次都能赶上潮流,所以淘汰是必然的结果。
因此,理论和工具固然有用,但是不要仅仅只是停留在使用工具和记忆理论本身,而是要去深入理解它背后的逻辑、起源,建立多元思维。编程领域中的许多理论、解决问题的方案也未必都是自创的,很多都是从别的学科同构演绎而来,所以哲学层次的书便属此列,让我们可以从别的领域学科来思考问题,寻找属于编程的「第一性原理」。
注:
本次书单主要是作者19年或近期所读,未必都精读过,但至少都通读过一遍。除了技术书籍,可能还会包含一些非技术书籍,它们有利于理解一些技术理论,此类统归为哲学层。
下面为具体书目:
《Modern C Design》
深入 | 泛型
- 初级
- 高级
- 深入
- 哲学
初级层次的书主要写的是「方法流程」型的内容,其实算是初级与中级的联合,用于了解某个主题的基本内容以及使用方法,搭建知识框架。只需「依照规则」行事,便能吸收这些信息。
高级层次的书主要写的是「经验技巧」型的内容,这类书一般都是由C 大师或专家根据工作经验积累而成,用于了解某些在初级层次所未理解的组件原理,以及一些高级技巧。它所起的作用就是加强理解知识框架中的各个「概念」,将其连接起来,组成一张网络,将信息变成知识。到达该层次的人「按照经验」行事,能快速定位并解决一些疑难问题。
深入层次的书主要写的是「学科原理」型的内容,这类书的作者资格很老,大多都是大型公司的核心人员,或是C 标准委员会成员。他们经历过C 从形成到成熟的过程,参加过早期C 编译器的开发,对语言的理解极深。此类书可能并不会直接提升工作效率,但却能对语言的起源、原理有更加深入的理解。此外,这类书往往只涉及一个主题,深入探析该主题的方方面面,这些知识具有迁移性,所谓一法通万法,此之谓也。到达该层次的人往往「根据直觉」行事,面对一个问题,他可能说不出原因,但凭直觉就能马上定位并解决问题。
哲学层次的书一般来说在本领域内很少,要说区别,前三层次注重的是解决问题的「答案」,而哲学层次注重解决问题的「过程」。这类书可能包含历史、经济、人文、社会、物理、生物等等看似和编程毫不相干的领域,但却能从不同的广度和深度来系统地思考问题。
若仅从技术而论,那么到达深入层次已是顶尖,但技术发展具有非连续性,不时有新技术颠覆旧技术,而一个人的时间精力有限,不可能每次都能赶上潮流,所以淘汰是必然的结果。
因此,理论和工具固然有用,但是不要仅仅只是停留在使用工具和记忆理论本身,而是要去深入理解它背后的逻辑、起源,建立多元思维。编程领域中的许多理论、解决问题的方案也未必都是自创的,很多都是从别的学科同构演绎而来,所以哲学层次的书便属此列,让我们可以从别的领域学科来思考问题,寻找属于编程的「第一性原理」。
注:
本次书单主要是作者19年或近期所读,未必都精读过,但至少都通读过一遍。除了技术书籍,可能还会包含一些非技术书籍,它们有利于理解一些技术理论,此类统归为哲学层。
下面为具体书目:
《Modern C Design》
深入 | 泛型