我曾经写过一本《动态函数式语言精髓》,并称之为我在最终结论面前的“最后一层表象”。而我所追寻的最终结论是关于什么的呢?那个问题从十余年前便困扰着我:作为一个程序员,我到底在做什么呢?换而言之,我一直在追问的问题其实就是:
什么是程序?
我曾经认为这个问题是有答案的,比如经典的“算法 + 数据结构 = 程序”。但是在多年之后我对这个答案有了怀疑。因为我看到,《结构程序设计》这本书根本上是在讨论另一个解,即“结构(算法(数据))”。然而即使如此,“结构化”本身,就是程序规模化的唯一求解吗?更深入地说,规模化是“计算的程序化”唯一的问题吗?
我认为不是。
本书从数据之于计算系统的意义谈起,回顾了我多年前所认识到的那一层(我曾自认为是最后一层)的表象——亦即是“语言”。而后,将所谓真正的问题推及对“程序”的认识和理解,再推及到所谓的“应用”与“系统”,并最终揭示这些表象之下的那个简单的事实:它们不过是“结构化”这一求解的引申。
又是一层表象。
从现在开始,原书(《大道至易》第一版)被分成了三本书,以电子书的形式由图灵出版公司发行。这些书采用了免费共享的授权(是的,你可以很自由地分发它),分别面向各自己的读者群体。它们不但在内容上独立清晰,而且在行文上各持风格,再也不受原书的影响——例如我恢复了所有章节、小节的标题,分别设计了它们的封面等等。
这三本书分别是:
《大道至易——实践者的思想》(第二版)
本书,约只有原第一版的1/4内容。面向软件工程相关角色。
《程序原本》
面向程序员、软件设计师。
《我的架构思想——基本模型、理论与原则》
面向架构师。
本电子书许可第三方(含个人)在对本作品不作任何修改(含水印、增页等形式)的前提下自由分发,并许可在保留有关版权和著作权信息的前提下分发作品的部分内容。不可印刷成纸质书籍或用于商业行为。