读《大道至简—编程的精义》有感
最近,我看了一本关于软件工程实践者的思想的由周爱民先生的著作《大道至简》,看完里面的第一章后,颇有感触。深深体会到了我们软件人员的的思想建立,感受到了我们程序员的思维核心。
《大道至简》从一个简单的寓言故事《愚公移山》引入话题,通过这一篇著名寓言来形象生动的阐述了我们软件人员的生活,我们编程人员的对编程的概念,其实编程就像吃饭睡觉,一点都不难学。对于我们来说,从大一开始接触C语言,C++,到现在慢慢开始更进一步的接触我们软件工程的其他语言。
其实,我们没有什么会不会的,只有喜欢不喜欢的。只要把自己投入其中,把自己埋在其中,用自己的思考方式,用自己学到的东西,就一定有所成就。在实施过程中,我们从需求的产生到团队之间的交流,从技术方案的提出到程序具体的实现,一个项目就完成了。其中程序功能的实现则由简单的语法:顺序、循环、分支一点一点地拼凑而成,就像愚公说的:“虽我之死,有子存焉;子又生孙,孙又生子;子又有子,子又有孙。子子孙孙,无穷匮也。而山不加增,何苦而不平?”,这就是编程的精义。所以,我们再也不能去想会不会写程序, 这本身就是一个问题,我们的在编程的精义下,有的,只是我们愿不愿意去思考、能不能认真的去分析,然后去解决我们的额问题。
程序=算法+结构,对于我们编程人员来说,在写一个程序之前首先要想好的就是用什么样的算法和用什么样的结构以及用什么样的思维去解决我们在编程之中遇到的一些问题。在编程中,我们会遇到会多很复杂的问题。就像“惩山北之塞,出入之迂也。”,这就是编程中遇到的问题。其实只要把这些东西想好了,利用我们在大脑里的不停地构造,把其中的算法结构规划完全了,我们就可以想机器一样把这个程序弄出来,用的就只是时间上的问题而已。我们平时的交流就是通过语言,对象是人与人之间。而程序的实现则是需要人与计算机之间的交流,所以我们的编程语言就起到了他相应的作用,编程语言通过不同的算法、结构去完成我们人与计算机之间的交流从而达到交流的成功。最后“毕力平险,指通豫南,达于汉阴”达成程序的实现。
总而言之,我认为我们要懂得编程的精义,懂得了编程的精义就是懂得了程序的核心。当我们遇到一个问题,我们要首先搞清楚这个问题的本质,然后在采取一个具有可行性的思路和逻辑,通过合适的算法与结构最后设计出我们所需要的程序。
大道至简—编程的精义,为我们程序员的核心,为我们软件人员的灵魂!