大道至简

很多作者写书是为厚而厚,大部分是水分,作者的原创精华只有很少,或者没有。而这本书是作者从事十年开发工作的总结,虽然不厚,但却闪烁着独立思考的光芒。他给我们的启示是追求事物的本源,不紧要知其然,更要知其所以然。自然界并没有轻松愉快的招数方法,真正的专家是从根本上解决问题,深入浅出。只有招数,不明道理,就学不会变通之道,就不会灵活的举一反三。

     一本讲技术高端的书销量肯定是有限的,就实际而言,薄定价就低,成本就无法回收,而且内容只有心得,没有案例,读起来很硬,对读者要求高,销量就更少了。该本书的作者却一如既往地坚持了大道至简的风格。就算没有出版社愿意印刷,也要把他的电子版问世。但也再杀青后,删去了一些内容,不能完正体现出作者系统思考的脉络,比较遗憾。

     读完这本书之后,觉得编程并没有想象中的那么难,甚至可以说只是体力上的一个基本的劳动。所以除了先天智障或后天懒惰者,都是可以学会写程序的。在愚公身上就可以很好的看出编程的基本步骤,顺序、分支和循环,如此重大的工程都是可以通过这样简单的编程来实现的,这就是编成的精义。

编程作为一种行为,只需要知道其逻辑方法就可以了。所谓的编程实际上是把一件事交给计算机去做,把自己认为该如何去做的事以程序形式描述给计算机,最重要是自己要知道要去做什么,计算机才能理解你。所以,编程的第一要务是先把事情分析清楚,把事情之间的逻辑关系和依赖关系搞清楚,然后再去实现代码,思考和积极工作同等重要。贯穿于整个编程的本质是由一个善于思考的人提出的“程序=算法+结构”。算法是对一个程序的逻辑实现的描述,而结构是实现所依附的数据实体。只要开发人员把程序的算法设计出来,把结构描述出来,剩下的,就是劳力活。

     熟悉一门语言之后,并没有会与不会,只有喜欢与不喜欢任何一门语言都可以在两周之内学成,因为他们的底层函数库都是那么的相似。而且他们的API都是依赖于操作系统。语言的差别主要表现在适用范围上。有的可以精确到原子级,表达无穷之小;有的适合做图形处理,它的底层函数书库比其他语言可以快上十倍甚至数十倍。还有的适合做网页,要用它做一个通讯薄软件都将是史无前例的挑战。成天讨论那个语言好坏的人甚至可悲,不仅仅是他的一叶障目,更是被他大愚若智的自得蠢哭了。

     在没有工程的时代,一个程序员的全部是他们掌握了一门语言,懂得了生活中常见的逻辑,他们用程序的方式思考和学习了一些算法,并根据前人的经验,把这些算法应运在一些数据结构上,所以最后我们就看到了他们的程序。

posted @ 2017-08-21 08:01  时间煮雨1111  阅读(110)  评论(0编辑  收藏  举报