编程的精义
读了编程的精义之后,对编程有了一些新的理解和体会,在这里写下来并且分享到博客园,仅代表个人的观点和看法。如有异议,非常欢迎私下里与大家再进行沟通和交流,希望大家批评指正。
虽然说学了一年的计算机了,但是到目前为止对编写计算机程序还是没有很深入的认识。对计算机程序的认识一直都停留在题目很简单,代码行数非常少的那些入门程序,对计算机编程思想更是一无所知。今天看了这篇文章之后,尽管对计算机的编程思想只是有了初步的认识,但是对文中作者提出的观点都很赞同,有一种恍然大悟的感觉。
什么是编程。其实仅就编写计算机程序写来说,实在是一件再简单不过的“苦力活了”!简单?也许很多人马上会这么想,计算机编程可一点都不简单啊!不要大惊小怪,听我慢慢说来。想要编写出优秀的计算机程序,首先要对计算机编程有一个清醒的认识,必须要搞清楚我们费这么大的力气编写计算机程序到底是为了什么?所谓的编程就是把一件事交给计算机去做,这件事一般来说都是比较繁琐复杂的,因为计算机是没有感情的,它只会“死心塌地”的按照用户的命令去做一件事。这就是编程的本质。知道了这一点之后,我们再来看看编程员在编程这项工程里面发挥到了什么作用。其实编程员只是一个传递命令的办事员。为什么这么说呢。因为要交给计算机做的这些事情都是有用户或者是客户提出来的吧,但是用户和客户都是外行,他们根本不知道如何把这么复杂的事情向计算机“说”明白。所以,这个时候就轮到我们这些码农上场了!这样一来,把程序员看成是一个传递命令的中间办事员是不是就很恰当呢。只不过一般意义上的办事员在传递命令的时候,都是在与人交流,不论是上级还是下属,都是人。但程序员在传达命令的时候就有所不同了。程序员的一端是客户,是人,而另一端,则是,人类最最忠实的朋友--Computer。既然要传达命令,就得交流吧,交流最简单、最实用的方式不就是靠语言吗。这一点是人机共通的。和人交流就没必要再多说了,当然是靠人话。与计算机交流用什么呢?当然是计算机的话喽。这就是计算机语言。计算机的语言和人类的语言一样,有很多种,但是,我要特别强调的是,计算机语言是没有好坏之分的。成天讨论这门语言好,那门语言坏的人,甚至是可悲的,这种人注定成为不了一名优秀的程序员。不同的计算机语言的区别只是它们的使用范围不大相同一些语言适合做数值处理,小数点后可以精确到原子级 而小数点前则可以表达到宇宙之无穷;另一些语言则适合做图形处理,它的底层函数库
可以比其它的语言快上十倍到数十倍;还有一些语言适合做网页。这和人类的语言完全是一个道理,汉语适合在中国以及一些东南亚的国家使用,而英语则适合在美国和欧洲的那些国家使用。难道我们就能说英语比汉语强吗?答案当然是否定的。明白了程序员的职责和计算机语言的作用之后,我们接着说计算机编程。前面说到计算机编程就是我们把问题交给计算机去解决。那么在交给计算机解决之前,我们先要问问我们自己:我们会不会解决这个问题?如果我们自己都不知道这个问题怎么解决,就交给计算机来解决那简直就是痴人说梦!所以编程的第一要务就是要把事情分析清楚,事件先后的逻辑关系和依赖关系搞清楚,然后才是代码实现。在这种情况下写代码就是一件简单的苦力活了。一接到任务就Coding的程序员通常是加班最多的程序员。记住:积极工作和勤于思考都要占时间。
我要说的就这么多,欢迎大家批评指正。