想做程序员但还在迷惘和摸索吗?

  
自从上大学选择了计算机专业后 , 我就深深地热爱上了软件开发 , 并已经立志把自己的毕生精力都奉献给软件开发事业 . 一直以来 , 我都充满了激情去学习 , 去写程序 , 去接受新的知识和技术 . 几年来 , 付出很多 , 收获很多 , 也走了不少的弯路 , 感触甚多 . 每次登上论谈 , 看到那么充满热情和执着的朋友们那种对知识和技术的渴求 , 我很是感动 ; 但看到许多朋友还重复着自己以前走过的弯路时 , 内心又多了几分焦虑和担心 . 由于本人学稀识浅 , 不敢妄加言论 , 在这我仅结合自己几年学习 , 实践和感触谈谈自己的感受 , 以此献给想做程序员 , 但还在迷惘和摸索中的朋友 , 希望此贴能给你们一点帮助 . 同时也
希望大家都把自己的经验 , 想法拿出来共亨 !
(
本文的部分内容摘自网上文章和杂志 )

    
你适合做程序员吗 ?
    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"
     最后 , 送大家一候捷文章中的诗句 : " 时人不识凌云木 , 始到凌云方道高。 "
    
由于笔者水平有限 , 说得不对和有失偏颇的地方还请大家批评指正 .
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值