读《大道至简》有感 1
实不相瞒,即使已经有过一年编程学习,有一定时间的代码训练,曾独立完成过一些编程,C与C++考试成绩都在80分以上的我来说,编程之路,还很迷茫。
编程到底是什么?说实话,我本不是很懂,大一的我只是被动接受老师的知识,循规蹈矩的去练习。题目虽然做出来了,但是,说实话,没搞懂。我会套用已有的模板,也许我会使用这一段知识点,会使用那一段知识点,但是,当一个问题有不同于我以前使用的模板的时候,当这个问题不止需要一个主要的知识点,而是两个,三个,甚至是个的时候,我的脑海只会cout<<”What shoule I do?”<<endl;。没错,我还是没有搞明白编程。
再读过周爱民先生的《大道至简》之后,我好像明白了点什么,我好像明白了点编程的本质,周先生的书很好,看完之后,我明白了,编程之路看似很难,其实,大道至简!
对于目前还没有进行过团体编程没有进入过公司的我来说,我对第一章编程的精艺和第四章流于形式的沟通中的“客户不会用C,难道就会用UML吗?”感触颇深。周爱民先生引用《愚公移山》很好的阐述了编程的精艺。他用风趣的语言阐述了编程的根本:顺序、分支(选择)、循环。还讲述了首先需要确定一个项目的目标,然后通过研讨,择定一个井然有序、可以实现的技术方案。再用顺序、选择、分支去逐步编写代码。这一点引起的我的反思:以前,我拿到一个题目,先做的不是想一个方案,而是直接开始写,能写啥就把啥写出来,这样导致的后果就是,程序没写完,还因为自己没有理解好题意而导致编写的可能和需要的根本不符,或者根本无法编译出来,我以前的这种方法也许应付简单的问题不会出毛病,但是一遇到复杂的问题也就是徒劳的做无用功啊!再者,就算各部分都编译了出来,但是,有很多时候,你会发现,原来,自己写的多个模块是冲突的,是无法联结成一个程序的。这样白费时间敲出纵使几千行代码却根本不能运行,有什么用吗?我以后碰到项目,首先要仔细审视,确定一个准确的目标,在需选择一个井然有序的、可以实现的技术方案,然后通过编写代码将这个项目实现。
客户不会用C,难道就会用UML吗?这句话我真的感触良多,我以前的代码,对用户一点都不友好,只是一个黑框,一点提示都没有,除了我,也许就没人知道这个黑框是干啥的,自己以后要时刻铭记,我服务的不只是会编程的人,更多的是普通百姓!
编程之路,大道至简,任重道远!