永不沦落的英雄-给正在学C/C++ 或正准备学的一点经验之谈
想想学程序的这段日子,真的是痛苦并快乐着,从03年就开始学C,然后毕业以后,基本上没有从事过以之相关的工具,这真的是杯具,学了3年的C,居然也只会拿来做题。那个时候为了找一个好一点的工具,就看什么好就去学什么,接着的那一段时间就在学那些五花八门的语言,什么asp,html,js,jquary,delphi,java,c#,php,vb等等..... 。 到头来才发现,原来一切真的是浮云。我知道有很多人都没有正规的去学软件开发,很多的程序员都是自学的。就这样,这些年就全部浪费在了语言之间的切换上去了。直到去年,写了这么多年程序的我才发现,绕到最后,又回到了起点,因为研究到最后,还得往低层走(虽然说得很武断,但我相信做为程序员,当然要自我挑战,甘于平凡,虽然你能做到一时的荣耀,但是不能保证你一世的辉煌),现在是信息化时代,信息的变化可以说是一日千里,但是到最后,知道吗?有一些东西一直没有变,但它还能支持着最新技术的发展,那就是C . 我在网上看到那么一句话:“机器语言是天道,汇编语言是王道,C语言是正道“,我觉得很对,作为一个程序员,就应该要具备钻研的精神,都说的嘛,是男人就该对自己狠一点。
在这里写这篇文章就想告诉一下大家自己这些年的一些经验,好让正在学习和还在徘徊的童鞋们一点借鉴和建议. 当然,这只是我个人的观点,仅供参考 。
1. 找一种目前很热门的语言去学习,然后精通它。
这样做有几个目的:
1) 有助于你对程序开发流程的理解
2) 可以提高你的程序开发的信心(直接学C,很多人会被打击到以后都不想碰这东西)
3) 养活自己(这是最重要的 ^_^),因为如果你想要深入学习计算机技术,并不是一天两天就能做的,必须要有足够的实力养活自己,然后才有时间去做自己的研究,当然如果有很好的经济基础的话,那可以跳过这个阶段直接去找一个很好的培训学校参加培 训就可以了。
2. 利用空闲的时间多学两门编程语言,等你理解和学完以后,试着把相同的题目,用不同的语言写一下,然后再感觉一下。那个时候你可能就会发现,原来什么语言编程都是一样,重要的只是编程的方法,语言只是符号的不同罢了。
3. 当你完成以上这个阶段的时候,你可能就会感觉到,原来程序也就是如此。这时基本上就不会满足于现状,因为学一门语言对于你来说,根本就不是什么问题,这时你会觉得就算给你一门新的语言,你也能在很短很短的时间去学会它,那这时你就要考虑一下开始学习框架之类的知识了,当你开始试着往系统层面上写东西的时候你又会发现,原来一直都是在做自我安慰,到现在自己原来就是传说中的码农。
(本人真实的感受)
终上所述,我又开始了新一轮C/C++ 的学习旅程,一直以为它们不也就是一门语言吧,应该学习花不了多少时间吧,但我又错了,学了C和C++,又开始了win32的学习,学了win32后觉得有些不是很理解,又继续学windows核心编程,学完以后很多东西会涉及到内核及驱动,那我又转到了内核驱动开发,到这里,大家也知道,微软的操作系统是不提供源码的,在国内我不知道是什么原因,基本上 windows 驱动开发这方面的书少得可怜,linux 的倒是很全。没办法只得慢慢调试,慢慢去研究,接着又到了瓶颈,因为调试的信息都是汇编指令,那又得学汇编,木有办法,又只能一头研进了汇编的学习中... 这期间,真的是枯燥而痛苦。
很晚了,得洗洗睡了,明天还得工作呢,希望大家在我学习的过程中,总结一下自己的学习的课程及安排,最后这篇文章对大家有点帮助,有什么不懂的或不明白的,我会尽量帮助大家。 好了,到此为止了,晚安!!