“大道至简”出自春秋末期老子的《道德经》:“万物之始,大道至简,衍化至繁”。大道至简的意思就是大道理是极其简单的。我所阅读的《大道至简》是周爱民先生所写的软件工程实践者的思想,他用形象的实例、简明的话语告诉我们编程以及生活中我们需要具备的思想,言简意赅,对于正在学习编程的人来说,这本书具有重要的启示意义。
大道至简用在软件工程上十分合适。简可以看作是程序代码简单,一个做好了的软件在我们看来它的运行是复杂的,但是把它“拆开”后就是一段又一段的代码。《大道至简》用愚公移山的例子形象的说明了编程的根本,即顺序、分支、循环,像移山这样庞大的工程是可以简单动作的循环完成,而我们所写的程序,也是可以通过简单的编程来实现,简单的代码既能提高运行效率,也能避免不少问题。
对于编程,过程十分重要,结果也很重要。编程的初衷就是为了程序的实现,这是编程的结果,对于软件公司来说,软件需要满足顾客的要求,如果在内部部门的交流中偏离了需求,顾客自是不满意,《大道至简》中指出,我们要学会分析,真正了解顾客需要什么,不要只说过程很详细、很完美,要知道,如果没有解决需求,顾客也不会因为过程很辛苦给你好评。
成功的人一定也是优秀的管理者。《大道至简》中提出了一个问题:你的桌子是整齐的吗?如果你的书桌杂乱无章,你要从里面找到一本书,恐怕要花些时间,如果你给书桌分类,把每类书籍管理好,就能很轻松得到需要的书。程序往往不是一个人的事,如果你是一个项目经理,你就要管理好自己的团队,不仅要管理好时间,还要管理好制度,保证项目顺利进行,同时也要管理好与客户的交流,保证每次交流都是解决问题,而不是浪费时间。除工作外,生活也需要管理,你会发现,优秀的人的生活总是井井有条。当然,管理是需要逻辑的,管理能力强意味着逻辑思维能力强,程序编写需要逻辑清晰,学会逻辑才能真正学会编程。
对于我而言,在过去我总是满于现状,学习和生活没有明确的目标,也没有主见,只会被别人“牵着鼻子走”,《大道至简》中拿愚公和李冰作比较,我从中看到了我这种不良习惯的弊端,李冰烧石轻松地移走了大山,愚公要几百年才能完成,我只遵循别人的方法,没有创新,恐怕也是愚公了。
在刚刚接触编程时我总是怀疑自己能不能学会,认为学习编程是一件很难的事,读过《大道至简》后,回顾学习编程的一年,我发现编程语言并不难,正如书中所说,如果你知道天热减衣,天冷添衣,那么你就能学会编程,这也给了我学习编程的信心。在未来,我需要经常反思自己,要学习的不只是理论,还有实践。解决问题的首要办法就是找到自己的方向,把自己拉回正确的道路,没有人比自己更清楚自己需要的是什么,再者就是学习,锻炼自己的能力,这样才能做到“简”。