学习计算机已经两个年头了,现在也只是个小菜,但是觉得闻道有先后,只要肯花时间,肯下功夫,终有一天,小菜
也能变成老鸟。下面分享一下小菜这两年学习编程的一些感悟。
在学编程这么长时间后,我问自己为什么要学编程?或者说编程的魅力在哪?小菜想了想,回答这个问题可以从一个
最最简单的例子来说明。如果有人问你1+2+3+4+...+100的结果,虽然我们没有高斯那么聪明,但是知道高斯的智慧
之后可以很快给出答案:5050。但是,如果问你从1加到10000或者999乘以999的结果呢?不考虑学过心算的童靴,
我想一般人很难一下给出答案吧。但是,计算机的出现,更确切地说编程语言的出现可以让我们很轻松地得到这个答
案。通过编程,我们只要实现为数不多的代码,你就可以实现一个简单的计算器,利用计算机(硬件)高速的计算速
度,很快就能得到答案(根据问题的复杂情况,编程的工作量也不一样)。当然,这只是编程魅力的一个再小不过的
缩影了。
在看到了编程的魅力之后,我们“立志”学习编程,“立志”做一个程序猿。但是,接下来我们要面对的问题是如何学习
编程呢?我们先来简单的回顾一下编程语言的发展史。一开始是0101编程,晦涩难懂,真的很佩服那些科学家,你们
是怎么做到的。后来,人们发明了汇编语言,使得编程变得稍微简单了一些,但编程看起来还不符合人们的思维习
惯。再后来,在B语言的基础上,发明了C语言,这不得不说是一种巨大的进步。当然,同时期还出现了其他各种编程
语言。由于我的知识背景,对其他的不甚了解,不敢扰乱视听。C语言的出现,使编程变得更加容易了,也更加符合
人们的思维习惯。但是,随着一些大型的软件开发中,C语言作为一种面向过程的语言的弊端逐渐显露出来。C++、
Java等面向对象语言应运而生。通过将具体的事物转换为抽象的类,合理地组合各个类之间的关系(说到这,不得
不说一下设计模式,小菜看过程杰的大话设计模式,虽然看得时候觉得头头是道,但是对于设计模式的理解还停
留在一个较肤浅的层次),特别实现大型软件的开发。
通过回忆编程语言的发展史,我们可以看到编程是越来越符合人们的思维习惯,即编程变得越来越容易。未来的编程
语言会发展成什么样,小菜也只能去想象了。可是,虽然说编程变得越来越容易,可是要成为一个编程高手,一只老
鸟并不是一蹴而就的(天才除外)。对于一般人来说,最先遇到的最大问题就是如何将逻辑转变为代码了。那些编程
语言的语法可能我们花个一两个星期就可以掌握,但是我们可能在遇到具体问题时,要将我们的想法、逻辑转换为
具体的代码实现可能还是有很大的困难。我想很多的编程新手有同样的经历。
以小菜的个人经验来看,要想跨过这一障碍,必须要具备两个条件。第一,要打牢基础。编程语言的语法是必须掌握
的,这没什么好说的。这里说的基础是指数据结构的基础。你非常有必要将常见的数据结构学习一下,并亲手实现
。最开始,我们实现的版本肯定是简单的,考虑地不够完善。但是,随着学习地深入,我们可以逐渐地完善我们最初
的简单版本。如果你数据结构学的不错了,可以去看看操作系统方面的书籍,了解一些硬件以及软件架构的知识。操
作系统也是基础的,但是很难,至少小菜这么觉得,建议在学好数据结构之后再去探索。关于网络方面的知识有精力
的话也一定要涉猎一些。最后强调一句,数据结构是基石,一定要学好!第二,练习。小菜觉得如果不是天才,要想
学好编程没有捷径。就是要通过不断地练习,通过哲学论我们知道质量会产生量变,而且一定会!我们通过练习,可
以训练我的编程思维,而且也只有在不断地练习中我们才能掌握一些编程技巧,这跟学数学或者其他学科是一样一样
的。
当将逻辑转变为代码对你来说是一件轻而易举的事情的时候,我想你离老鸟的距离就缩小了一大步。到了这个阶段,
我们就可以去深入地学习一些其他东西,比如说设计模式、算法等等,来提高自己。如果这些你都很好地掌握了,在
小菜看来,你已经是一个老鸟了。
在通往老鸟的路上布满荆棘,我们只有化毅力、汗水、智慧为利剑,才能披荆斩棘,最终成为一个老鸟。
原文地址:http://blog.csdn.net/taochangchang/article/details/39136351