自大一第一学期学习完C语言以后,我就有了一点关于迷惑——什么是编程。带着这个问题,第二学期的C++转眼间学完了,但好像还是只会编一些学过的程序,总感觉脑子中很乱,一团浆糊。终于,暑假来临,在老师的推荐下,我认识了周爱民老师的《大道至简》这本书,短短的一百多页,此书让我焕然一新,把我脑子中的浆糊整理了一番,好像突然间井井有序了。
此书开篇那就让我耳目一新,引用了“愚公移山”的典故,将“愚公移山”以编程的思想概括,即用 编程解决移山,又用移山简化编程思想。直接点明了编程的精义。本书教会我们程序不只等于算法加结构,应该是程序=算法+结构+方法,那么什么是方法呢?方法就是一个程序员在面对一个编程任务时所想到的怎样能让它变简单的过程,简言之,方法就是创新,就是创造新的编程路径或工具。当然,目前我只能想想,然后继续算法+结构 。
学习一门语言,并不是所谓的举步维艰,只有投入热情与不投入热情。周爱民老师说过,任何一门语言都可以在两周之内学成,尤其是计算机语言,无论那种计算机语言,其核心思想都是基本相同的,你掌握了一门,那么学习其它的就好学了。这里引用周爱民老师的一段话,“语言的差别主要表现在适用范围上,有的可以精确到原子级,表达无穷之小;有的适合做图形处理,它的基本函数书库比其他语言可以快上十倍甚至数十倍;还有的适合做网页,用它做一个通讯薄软件都将是史无前例的挑战,成天讨论那个语言好坏的人甚至可悲,不仅仅是它的一叶障目,更是被他大愚若智的自我蠢哭了。没有一种语言会一直是主流语言,在计算机里有很多种语言,如C++,PHP等,我们不一定要掌握全部的语言,只需要精通两三种,剩下的就是学习能力。”
所谓编程,就是把一件事交给计算机去处理。关键是要认识到自己到底想要做什么,才能有下一步的行动,计算机才能理解你。所以,编程的第一要务是先把事情分析清楚,把事情之间的逻辑关系和依赖关系搞清楚,然后再去实现代码,思考和积极工作同等重要。贯穿于整个编程的本质是由一个善于思考的人提出的“程序=算法+结构”。算法是对一个程序的逻辑实现的描述,而结构是实现所依附的数据实体。
读完本书,不但解决了我长期以来的疑问,而且又学会了不少有用的东西。比如你一个人语言学得再好,也难以独自完成一个大的项目,重要的是团队意识,需要每个人的分工合作,才能把项目完成的又快又好。站在组织者的角度,在这本书中,周爱民先生用李离伏剑、Y公司的错误以及蚂蚁的故事来告诉我们作为一个team的组织者、管理者应该具备的才干:担当、明确组织模式与制度、分析成员工作的规律、明确分工等等。简言之,语言只是工具,重要的是怎么使用它去跟电脑沟通,怎么分工合作去使用它,才能使电脑更简单的为自己工作。
阅读完这本书,我对软件工程有了崭新的认识,尤其是其思想上,更是有了深刻的理解,真正推荐所有学软件工程的学生都去仔细品一品。
原文地址:https://www.cnblogs.com/zhangzhongkun/p/9343737.html