这本书用通俗易懂一方面解释了程序,工程等概念,另一方面又在团队合作,与客户交流上面下功夫。
我觉的对于一个只学过c++的大学生而言,这本书从自上而下教给你如何从另一种角度去看待你写的程序,又如何将你从每天对程序dubug死去活来中给揪出来,让你体验什么才叫真正的以设计程序的思维去看待你做的程序。
任何一个程序都可以由选择,顺序,循环这样简单的编程来实现。而程序=算法+结构+方法。没有高效的算法,程序运行时间就大大延长,所以我们需要去了解,并学习算法。结构则是让你明白各模块之前分工如何,能否各司其职,高效运行。方法则是你需要从自上而下分析的总流程。由模块的重要程度从重到轻逐渐入手。在写程序之前搞清楚这些,那么你只需要做的只是体力活。而不是想到什么就开始写什么。让你写代码时更有规格要求,更有效率,更简洁明了。
轻编程语言,重程序思路,才是学习方向。我在一开始还在纠结这么多编程语言c,java,python,c#等这么多语言,我得花多少时间才能学完。现在我才明白,各种编程语言它的底层逻辑都是差不多的:顺序、选择、循环。我们需要看重的就是你设计程序的思路。你拥有这个程序开发的思路,那么我相信你用哪一门语言开发这个程序都没什么大问题。
我在之前写的程序,几十行代码,为了做一个题。这时我不知道工程是何物。更不清楚我在网上做那些算法题和我之后开发软件到底有何联系。实际上,我们所做的所有都是为了更好提供服务。让一个非常复杂的过程通过开发程序,得到了只用输入数据,就能得到输入结果。软件是为了给别人省时间,提高效率。但这些我们通常不会从每个程序写个几十行中明白。我们只用从整体出发,聚焦于解决实际问题,提升生产效率,那么我们的目光才会看到更远一些。
就个人而言,不仅对编程,工程的理解有欠缺,对编程和工程的学习上也有一些束手无策,具体体现在缺乏指导,缺少交流上。书上中也提到了团队合作和沟通的重要性。我觉得很多时候去写程序,多别人交流,多听听别人的看法,吸取他人的经验。那么对于在编程一路上学习才会有显著的进步。如果只是闭门造车,那么终究只是在自己的世界里打转。看不到自身实际以外的东西。
综上我认为,编程学习对于一个未来想就业的人来说是必不可少的,但是呢,编程之外的东西也不能缺少,比如看这本书,或者其他的书。这些东西很可能不会给你带来一下子的改变。但是这也为你点明了你当下学习的困境以及未来的路要该怎么走。多看,多听,多总结,多思考。应用于编程上,同时也应用在编程之外,思维这个维度的学习。它本身不是为了让你提升编程能力的,而是为了让你提升编程能力的速度更快。