仅献给想做程序员但还在迷惘和摸索中的朋友!
因为爱,所以爱 ----仅献给想做程序员但还在迷惘和摸索中的朋友
自从上大学选择了计算机专业后,我就深深地热爱上了软件开发,并已经立志把自己的
毕生精力都奉献给软件开发事业.一直以来,我都充满了激情去学习,去写程序,去接受
新的知识和技术.几年来,付出很多,收获很多,也走了不少的弯路,感触甚多.每次登上
论谈,看到那么充满热情和执着的朋友们那种对知识和技术的渴求,我很是感动;但看
到许多朋友还重复着自己以前走过的弯路时,内心又多了几分焦虑和担心.由于本人学
稀识浅,不敢妄加言论,在这里我仅结合自己几年学习,实践和感触谈谈自己的感受,以
此献给想做程序员,但还在迷惘和摸索中的朋友,希望此贴能给你们一点帮助.同时也
希望大家都把自己的经验,想法拿出来共亨!
(本文的部分内容摘自网上**和杂志)
你适合做程序员吗?
1.首先,你应该清楚自己为什么选择程序员这个职业?现在很多人是因为软件行业的薪
资高才进入的,其实没有人不想挣钱。但我的看法是,程序员是没有办法一夜暴富的
。甚至可以说如果你聪明伶俐的话,做程序员不如去做销售人员的待遇和收入上升得
更快一些,真的.做程序员首先一定要从兴趣上爱这个行业,否则根本无法忍受成为一
个真正程序员要付出的代价.请记住,程序员这种职业是非常辛苦的,需要全身心的投入
,如果舍不得付出和牺牲自己的青春的话就最好不要选择这个职业.
2.程序员应该是一种充满激情的人,他们喜欢挑战,喜欢接受新的技术和知识,对好奇和
不懂的技术总刨根问底的精神,并以此乐此不疲.他们最大的精神享受是自己的努力成果
给别人带来方便,快乐,能够得到别人的肯定和重视.优秀的程序员应该是完美主义,他们
对自己开发的软件一丝不苟,从功能到界面到软件的健壮性等.他们甚至会为界面上的一
个按钮的外观折腾半天,直到满意为止......一个缺乏激情的程序员的职业生命是很短暂的.
做好准备了吗?好,继续往下看......
如果你是初学者(俗称"菜鸟"):
1.好高骛远是许多初学者的通病,总幻想自己发疯似地努力几天或几个月就成为"高手"
(谁不想呀,看他们多受人尊敬),正是由于自己的这种好高骛远的"雄心壮志",往往给自
己定下一些不切合实际的太多的目标,比如:"这个月学汇编,下个月学C语言,再下个月学
C++,然后进入VC++集成开发环境做开发...",结果到头来经过几个月的努力,却发现与原
定的目标相去甚远,激情和信心也没有了,而且什么东西都没学好.其实并不是因为你笨,
学习能力不强,而是太心急了,看看身边的高手们,哪一个不是至少有几年功力的酝酿的?
如果你觉得自己很聪明,但请记住这句话:"天下的聪明人太多了,你想在三到五年就把
别人十年做的事情做一遍,那你也一定会把别人在十年中所受的苦难在这三到五年中经
历一遍."
2.学问是堆积起来的。基础越深,堆得越高,基础越广,堆得越快。如果你还是在校学
生,请重视基础理论课程,像数据结构,编译原理,组成原理,数据库理论等,学过这些基础课
程的人编出来的程序一定会比没学过的人编的程序技术含量更高,更具灵活性.这是一
个最坚难的时期,基础理论课程比较枯燥,难懂,而且往往这种教材陈旧,许多朋友开始学
习的时候充满激情,到后来学觉得没味,教材也太老陈,我们诚认,我国的本科教育教材落
后是不争的事实,但计算机始终是二进制的,那些最基础的理论一直没有变.如果你觉得大
学里的教材实在学不进去了,我的建议是不妨去上机实践,学一门程序语言和开发工具(比
如VC,VB),因为只有在实际编程的过程你才会明白那些基础理论的重要性,比如在编程过程
中遇到设计结构体,设计遍历,匹配等算法时你才会明白数据结构的重要性.另外,打好基础
,以后学新的东西就会很快,举个例子,我的一个网上的朋友,他有十年的DOS汇编基础,而
我只有几个月的基础,我们两差不多同一时间开始学习win32汇编,到现在他的进度已经远
远超过我了,而且写的程序技术含量高,更底层.
3.建议初学者特别要注意"知识断层"这个问题.经常有朋友问我"为什么我学不懂操作糸
统?","为什么我觉得C++那么难学?" 我可以简单地这样回答你:因为你存在"知识断层".
换句话说,你的知结构不完善,基础不扎实.我个人认为操作糸统原理没有几年实践编程和
扎实的基础是不可能有较深刻的理解的,所以建议初学者才开始不应该在操作糸统原理上
花太多时间,才开的时候只需建立一些基本概念,只有在以后的编程实践过程增加感性认识
(从操作糸统程序级接口来看),多问几个为什么,带着问题和感性认识再回过头来看操作糸
统原理,你会发现理解起来容易了.我曾经就是这样,才开始看操作糸统原理怎么也看不懂,
直到有一定的编程经验后再回过头来看就感觉轻松多了!再来说C++,我个人观点认为初学者
不要学C++,OOP,因为没有编程经验和一定的理论基础你就很难理解为什么要"封装",为什
么要"继承",为什么一个程序搞得那么复杂,C语言不是功能很强大了吗?所以建议在没有一
定的编程经验之前,不要学C++,不然你会感觉到底层的空虚,候捷说得好:"浮沙不能筑高台"嘛!
4.你的电脑里面不应该装游戏,不要忘了游戏也是程序员编出来的,如果你真的热爱编程的
话,你就不会沉溺于游戏而是沉溺于程序代码了.我有一个朋友,是电子科大的,学的是计算
机.他非常聪明,但整天沉溺于游戏,到现在什么都没学到.我过去也很喜欢打游戏,像"英雄无
敌","星际争霸"呀,一玩就会把用电脑的时候全用上,虽然计划学一些东西,但实际上收获甚
少,我想许多还在玩游戏的朋友都是有同感的.其实你可以思考一下游戏是怎么做出来的,它
和普通的应用程序有什么区别,虽然不一定会有实质的收获,但它会让你带着好奇心和问题去
学习,去编程.请记住,要想学好编程,就不要玩游戏.
5.尽快找一个突破口.一个人的精力是很有限的,不可能什么都学,不可能,也不现实.现在流行
的程序语言就有好多种,不要道听途说,今天听人说JAVA有前途,就看几天JAVA;再过几天听
别人说C#出来,又去学C#,那样只会让人很累,结果什么都没学好.建议初始者学编程的时候选择
比较底层的程序语言,比如汇编(win32汇编),C语言(SDK)等,那样你会学到更多东西.(当
然在学汇编之前最好学过一门高中级语言).一旦做出选择,就不要轻易放弃.其实许多计算机程
序语言都是相通的,学精了一门,再学其他语言就水到渠成了.我是把win32汇编作为突破口,
现在感觉学了很多东西,搞懂了许多API函数的用法,由于汇编的底层性,我对windows操作糸统
的一些机理也有了一定的认识.如果现在叫我用C(SDK)写程序,就容易多了,根本不用花太多时
间去学.
6.认真地写几个软件.要敢于去想,并且付诸行动,你才会收获更多.记得才学DOS实模式下汇编
的时候,我很想做一个简单的打字游戏,才开始的时候我以为自己做不出来,但我敢于去做,自己
去问高手,去查资料,乐此不疲,最后把这个游戏做出来了,并且放在aogo汇编小站供大家下载,
看到这么多人下载我写的程序,很是有成就感.在编程的道路上我始终坚信一句话:"没有做不到,
只有想不到".前段时间我想用win32汇编写一个桌面小工具,才开始的时候不知该怎么下手,于
是到处查资料自己摸索着写,还真写出来了,才发现其实很简单,甚至没什么技术含量.这个桌面
工具叫"桌面魔术师1.0",www.aogosoft.com首页就可以下载,欢迎大家使用.
最后,送大家一候捷**中的诗句:
"时人不识凌云木,始到凌云方道高。" |