编程须知...(写给想要学习编程学员的一点儿建议)


    大约5年前,我还是个即将毕业的懵懂学子的时候,出于对自己毕业后工作问题的担心,决定好好学习一门手艺用来维持生计。介于我大学的专业是网络工程,其实本该专心搞网络建设的,但由于个人对硬件设备确实没什么太大的兴趣,纠结过后,还是决定向软件方向发展。
    毕业过后,托父亲的福,在他发小的介绍下,我来到了一家私企,入职后,一台配置极低的小霸王、一个水杯,几本我根本不感兴趣的公司产品彩页,外带8个小时的工作时间,这就是我的一天。该公司本质是一个硬件产品制造商(确切的说是一个集成商,东拼西凑起来的产品...),对于一个想向软件方向发展的毕业生来说,简直是无用武之地,一来没有大神带我超神,二来没有好的实践环境,也许当时的领导也意识到这个问题了,由于我是关系户的原因,没法说什么,只能给个最低生活保障,然后让我干些杂七杂八的事儿,每天浑浑噩噩的度过,工作的清闲逐渐的将我变成一个安于现状的寄生虫,不求上进,早已把当初所谓的志向抛之脑后了,直到认识了我现在的妻子,买房、结婚,各种压力迫使我再一次重新审视我的未来,我再一次意识到该好好学点儿什么,否则真无法向家人交代,就这样我走上了漫漫的编程之路。
    在这里和大家分享一下我学习编程的一点儿经验,希望对即将选择学习编程的学员有一些帮助。
    首先要搞清楚编程的动机,就是你编程用来干什么,是兴趣爱好,是工作需要,还是为了锻炼自己的逻辑思维等等。这一点儿很重要,因为紧接着下一步就是要选择一门适合自己的编程语言(编程语言的种类实在是太多了,眼花缭乱)。所谓的适合,不单单是最快速度的上手,更重要的是可以培养一个编程思维,以不变应万变。不要看语言种类很多,但基本都是千篇一律,只要你掌握了本质,换什么语言来写,也只是一个实现方式的区别以及熟练程度而已。
    拿我来说,在上学的时候,学校确实有很多关于编程的课,C、C#、java、C++,再后来的工作后,又自学了一些其他的语言(javascript、php、vb等),慢慢的发现,到后来再去学习其他语言的时候,理解起来会感觉很快,即使需要临时使用不熟悉的语言去开发一些项目,通过短时间的熟悉,再加上一些资料的查找,也是可以很好完成的。
    所以再次强调一下,学习编程不是仅仅学习编程本身,而是要掌握编程的思想,不要拘泥于具体的某一种语言,更不要纠结选择的语言是否正确,会不会被市场所淘汰。
    接下来就是针对自己所选择的语言了解其语法结构,常规的编程方式,学习使用框架内提供的类库或引用其他类库来实现自己所想的功能,在这个过程中可能会遇到一些比较棘手的问题无法解决,可以通过求助网友或身边的朋友。如果一个问题通过很多途径都无法很好的处理时,就应该考虑实现的方向是否正确,亦或者自己所掌握的知识体系存在断层。这个问题在初学时尤为明显,一个在别人眼里很好理解的概念,为什么自己就是想不通呢,就是这个原因了,很有可能就是缺乏一些其他知识的支撑,导致该概念理解不畅。
    编程很简单,但要很优雅的编程是有难度的,同样的功能高手写出来的代码效率既高代码量又少而且还易于理解维护,普通人写出来就是一团糟,没有任何美感可言,更别提模块的复用和维护了。
    这就又涉及到一个问题,一个很有争议的说法,是速成还是脚踏实地。随着互联网的不断发展,在网上基本上可以找到任何自己需要的东西,很多学习了皮毛的人也可以通过网上的代码东拼西凑来实现一个程序,但这些人下次再遇到同样的问题时,依然是低级的搭积木,这样下去别说进步,说句不好听的,永远都是初级选手,永远是传说中的复制党。
    当然不是极端的说不要鉴戒他人的成果,任何功能都自己从头开发,那么你也是走进了一个误区,先不说个人能力如何,多少前辈们几十年的成果怎么说也不是一个人可以搞的出来的。要会用他人的成果,更要学习他人的思路,通过自己的加工,在将来的某一天肯定会派上用场的。
    个人比较注重基础的学习,不要因为太入门就不当回事儿,少一点儿浮躁,多一点儿耐心。万丈高楼平地起,大神也是一点一滴积累起来的,脚踏实地把基础打好,再去吸收新鲜技术,学习流行科技也会容易很多。
    最后要说的就是,编程是门苦差事,方法不得当会感觉很枯燥乏味,但反过来说,如果掌握了心得,通过不断学习、练习,积累兴趣、强化自信,慢慢你会感到编程是件很有乐趣的事儿,尤其是通过自己努力实现了自己预想的功能后,那种感觉怎一个爽字了得。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值