程序员,相信在很多人眼中是一个非常神秘,非常特别又或者说非常有趣的职业。因为在这个行业里面实在出现了太多的英雄,每一个英雄的事迹都足以让我们热血沸腾。但是,又有谁知道在这些英雄的背后,藏着多少辛酸,藏着多少的努力。程序员这个行业并非如大家所想象的那样美好。程序员是一个没有白天黑夜概念的行业,程序员是一个让人筋疲力尽的行业。你们看到的是一些英雄的光辉历史,但是却忽略了大多数程序员的艰辛。所以在这里我奉劝各位,如果你是为了这个行业充满传奇色彩而想加入,如果你是为了这个行业薪水高而想加入,那么请你现在退出吧,因为它不适合你。这个行业需要的是拥有努力、认真、坚持等品质的人。 

  讲到如何学习编程,那么必不可少的就要讲到编程语言了,相信大家都知道编程语言有很多种,包括C、C++、BASIC、PASIC、ASP、PHP等等,当中还分为很多不同的领域,所以在学习编程之前一定要为自己定下一个目标,一个自己即将要进入的领域。有些人想进行底层开发,有些人想做网站开发,有些人想做商业软件开发等等,由于计算机的普及,软件行业所涉及的领域也就越来越多,一个人是不可能涉及所有的领域的,所以必须在学习之前给自己一个定位,这个是很重要的,如果没有这个定位的话在未来学习编程的日子里将会很迷茫。

  目标的定位当然不能少了工具的因素,因为不同的领域使用的开发工具也不同,在这里想重新再次郑重的向所有朋友声明一次,不要把开发工具和开发语言混为一谈,语言是编程的基础,而工具是用来辅助开发的,例如VC、VB、DELPHI、BCB等等。每种工具都有各自的优势和缺点,至于每种工具的特点我就不再讲了,如果大家是有心学编程的话,我相信你一定会去看看关于这些工具的具体内容的,呵呵,让我偷个懒。还有在这里重要提醒一下大家,不要被现在的流行工具所迷惑,学好根本才是最重要。

  前面大概的准备工作已经做完了,对这个行业了解了,给自己定了一个目标后,接下来当然是全力向这个目标进发了。那该怎么做呢?看了很多朋友的帖子,都讲到C语言是程序员必学的语言,如果程序员不学C就不算是真正的程序员,我个人认为这种说法有点偏激,当然,我承认学C是会对你有很大的帮助,但是并非一定要学C,大家之所以这样说,可能是因为C语言的影响太大了。但是你总不能要那些去学网站开发的人一定要去学C吧,呵呵。其实我个人认为,一开始学什么都无所谓,但是无论学什么,一定要努力和坚持,做不到这两点,你就注定会是个失败者。在这里我想讲一下学编程最关键的问题,就是思想。也许这是个很抽象的概念,但是没有办法,编程本身就是个很抽象的东西,呵呵。等你真正领悟到这一点的时候,恭喜你,你已经站在编程的门口了,呵呵,只是门口哦。那么编程的思想又该如何去领悟呢?要领悟其思想,那首先学习语言是必然的,语言是思想的一种体现形式,就像一个人的思想需要语言来表达一样,所以如果连一门语言都无法掌握的人是无法领悟其思想的。但是对于一个人,如果不经常说话,不经常使用语言,他又如何去使用语言来表达自己的思想呢?编程也一样,要领悟其精髓,必须先不断地看,不断地使用,才能在这种过程中慢慢有所体验,当然有的人可能快些,有的人可能慢些,但是不管快慢,能够达到就是进步。

  我记得在我仍然迷茫的时候,不知道自己该如何去学,每天就是机械式的看书写代码,根本都不知道自己是不是真的懂,但是就是这样不断的看不断的照着书写,终于有一天,好象突然开窍一样,一下子就把所有不明白的东西全都弄明白了,这个有点像佛家所说的顿悟,呵呵。我最初以C语言开始学习的,在我开始学C语言到顿悟这一刻,我可以告诉大家,我看C语言的书我一共看了5本不同的版本(不过都是像走马观花一样的看,千万不要学我),直到第5本看到指针那里,我才真正有种明白的感觉,也许我太笨了,相信大家看一本就够了,HOHO。自从那一次后,我接着看C++,学习pascal、basic、汇编这些东西,自己感觉都非常容易看懂,可能这就是所谓的一理通百理通的道理吧。呵呵,不过在这里要讲一下,上面所说的几种语言虽然看书都看过了,也看明白了,但是由于很少使用,现在大部分都还给书本了,呵呵。

  看到这里,包括我在内,我都感觉到自己很了不起,很厉害了。可惜,只有我自己知道,虽然看了那么多,学得也多,写得也不少,可是我却不知道如何运用。来来去去就是写一些书本上的题目,自己却感觉像windows那些程序却不知道如何去写,不知道该怎么办,相信很多人都有和我一样的体会吧,把C语言学了,题目也做了,而且都没有问题,可是却不知道如何去做开发,感觉自己学的东西一点用处都没有。这又是为什么呢?
  在这之前,我一直为这个问题烦恼,后来我终于找到了答案,那就是我所学的,所写的都是DOS应用程序,而我们现在所使用的是windows操作系统,当然也有使用linux系统的。后来看了一篇别人写的文章后,我才知道我所学的和实际运用相差太远了。现在大部分学习编程语言的书籍上的例题都是基于DOS系统开发的,所以我们所写的程序和windows上所运行的不一样,这就是造成我们迷茫的主要原因。那该怎么办呢?那还用问吗,当然就是去学习windows开发啦。在第一次接触windows开发的时候,我真的是大吃一惊,这完全和我以前所学的很不一样,但是又息息相关,如果没有以前所学的,我根本就看不懂windows开发的内容。

  在这里给大家简单介绍一下,windows开发和DOS开发的区别吧。大家都知道,DOS是一个单任务执行系统,也就是说在DOS下只能在一个程序运行完成或者中断后才能运行其他的程序,而windows是个多任务系统,当然在本质上windows也只能一个时间内执行一个程序,但是由于其利用CPU的运算能力,让这些微妙的时间让人无法感觉到,再就是windows是一个图形界面系统,拥有着良好的用户界面,不像DOS是个指令界面。所有这一切的区别导致DOS和windows开发上也存在很大的区别。所以现在的程序员首要的任务除了学习语言以外,就是要去学习windows开发机制。如果连这个都不懂,那是肯定开发不出一个好的windows软件的。在这里向所有朋友重点推荐美国人Charles Perzold所写的《windows程序设计》第五版,这本书可以说是经典中的经典,学习windows开发必看的书,适合有C语言基础的朋友看,它有多经典我就不想细讲了,总之就是绝对不会让你失望,呵呵。这本书市场价是160元整,分上下两册,如果有的朋友觉得太贵的话,我这里有他的电子版,需要的就找我要吧,随时欢迎大家找我要这本书,呵呵。

  说实话写到这里,我自己都不知道自己写了些什么,好象很乱,呵呵,希望大家能够看得懂吧。看完我介绍的这本书后,而且看懂的话,那么接下来自己该如何走,我相信我就不用再多说了,到那个时候你一定知道自己该如何去学习编程了。上面讲了下我个人是如何学习的,当然还有很多细节地方没有涉及到,不过随时欢迎朋友们跟我一起交流。而且我现在才发现上面所写的是从C语言开始学习的,呵呵,其实我并非要大家向我一样学习,我只是把自己学习的经过大概讲了下,当然还有以后该怎么办没有写,其实我也在摸索中,嘿嘿,我写了那么多废话,无非是想要大家明白几个道理:
  第一、首先要给自己定一个明确的目标。
  第二、分清楚语言和工具的区别。
  第三、把思想放在首位,语言在精不在多,学好了一门语言再去学其他的,就易如反掌了。
  第四、工具是经常被淘汰的,不要被工具所迷惑,坚定自己的信念。
  第五、无论选择做什么系统开发,首先要去了解这个系统,只有了解了这个系统才能在上面为所欲为。
  大概也就差不多了,不全或者写得不好的地方请指正,呵呵,就这么多了吧,欢迎大家跟我一起学习,一起进步,一起交流。当然最后仍然是那句:
  努力+坚持=成功