slot deposit pulsa slot mahjong slot gacor slot gacor slot gacor resmi slot gacor 2025 slot gacor terpercaya slot gacor 2025 slot gacor hari ini slot gacor hari ini slot gacor hari ini
梦想是勇敢者的游戏:程序员成长攻略
17611538698
webmaster@21cto.com

梦想是勇敢者的游戏:程序员成长攻略

资讯 0 13087 2016-04-09 12:00:43
我是一个老码农。数数手指头不够用,再加上脚趾头,从2000年现在,我的编程之路已逾15年。做为一个程序员,有苦有乐。它和这个世界的任何行业一样,有好处也有缺点,有轻松也有挑战。
 
至今我仍然在写程序,仍然享受在其中,乐此不疲。Enjoy那种成就感与那种无与伦比的控制感。从某些心理角度,控制计算机比与人打交道要直接,方便得多。
 
所以,我仍然做着一个程序员。在写代码的同时,再写一些书,还有文章,把有价值的内容送给大家。
 
这次,我来讲讲如何学习一门编程语言。这个话题不针对初学者,对于几年工作经验的人也同样适用。
 


兴趣驱动


 
看到这个标题,你就明白。想做一名程序员,工程师,第一个要素就是兴趣!
这个兴趣是你本心,不是觉得这行赚钱才来的,现在任何行业做都可以赚钱,特别极功尽利你可能做不好程序员。
你可能会跟我说,你非常喜欢代码,很想当程序猿。


你真的准备好了吗


 
那么先经过以下几个问题拷问吧——
 
这是北京市地铁中关村站的一幅图片:
 
 
001.jpg


 第二个问题问一下你,过两年你就成这个样子。还有这种让人捉急的事情,大伙逼杨白劳要跳楼:
 
 
002.jpg


 有人会问,我不是学计算机的,可以做得好程序员吗?没有问题,前面的兴趣你有了,而且你做好了前几年受孽待的准备。其实现实并未那么严重。。。
 
然后再来一张图片,你看到他们眼中的善良,执着了么?
 

003.jpg


 
从某些方面,编程是孤独的旅行,路上少不了错误和异常。但那又怎样,哪怕执行不了,也要编的漂亮!无论如何,我们都要坚持,坚持再坚持。
 
好了,经过了几关考验,看来你是铁心做开发了,我看你也是天庭饱满,地阁方圆,是块写程序的好材料。我们就一起开始讲如何学习一门编程语言。
 
先给大家放一首歌轻松一下吧:
这是光良的《童话》,听到那句: 我会编程~~童话里,你爱的那个天使..
我会编程...
我有种洗脑的感觉。我觉得得他已经为我们代言了。未来一定是程序员的时代,会编程就会了不起!


你的目标


 
有一句话:不为失败找理由,只为成功找方法。
目标就是要达到的结果。比如你要在3个月学会某个语言,编个什么小程序或产品,更实际的是找到工作,相到对象等,都是一个好目标。
 
有了明确的目标,我们就摩拳霍霍向语言了。


选择一门语言


 
和选择女孩子一样,现在的开发语言不少,但主流的也就是那么几个。如果你想写服务器后端的程序,可以选.NET(C#,.net)、Java或PHP、Python。还有一些,比如Perl、Ruby等用得少可以不用考虑,除非你特别偏爱,选择后期开发也是可以的。
 
移动端开发可以选择Object-C或Swift,这两个语言是针对于iOS开发的,还有Anroid开发,它是Java的子集。
如果你想做前端开发,可以选择HTML5/CSS或JavaScript。
 
选择一门语言,其实看两点,一个是看工作职位是否多,另外是自己觉得用着顺手。开始时可能没有后面的感觉,就从主流的语言里选择一下就可以。


选择一本书


 
有数据说,现代人的节奏越来越快,读书的人越来越少。从身边人来看,大多数却是爱读书的人。对于程序员来讲,读书更加重要。
 
因为编程是一个递进工程,不是产品经理或者运营类,可以几天速成,需要踏实地,循序渐进。而书可以让我们在学习的路上更系统更有方向感。
 
有人会说,我就不看书,直接卷起袖子就开始写代码,可以买个VPN翻墙用Google查资料,用Github找代码。
这种“极客”精神值得学习,适合悟性和总结性强的人,而大多数人是要从系统的学习开始,这样会更扎实。
 
现在市面上的编程类图书品类不少,无论是国内作者还是国外作者的书,众人也褒贬不一。
 
刚开始学一个语言的时候,先买一本自己喜欢的。无论感情上喜欢,比如封面,行文。重要的是要薄,这个薄不单单是书的厚度,是写的内容由浅入深。
 
一定不要选择晦涩艰深,简单问题复杂化,故弄玄虚,让人不知所云的书。但有人会觉得那样的书才有深度,这个请大家要仔细鉴别。
 
选择编程类书,一定要面向实践和实用的书。
 
 还在一个我必须提一下学计算机的同学,如果你想成为程序员,先下面这本C语言暂放掉,如果你学过可以忘掉!
 
004.jpg


 就是这本书!让一部分想成为开发人员的同学,忘而却步,误以为写程序就是在解数学题,做一部分没趣没用的事情。
借这个机会吐槽一下谭老师,这本书在当年的价值有目共睹,但从现在来讲已经过时,希望国内院校不要再使用这本书做教材,会浪费更多好苗子。
 
因为,写程序是一个有趣,有料,有钱景,有尊严的好职业!


多看别人的代码


 
我们在书上可以找到一些样例。这些代码在作者的讲解下看懂后,然后再在本地环境上,自己敲进去运行一次,以加深印象。
 
现在的很多应用,包括商业应用,很多是在开源代码或框架上延展开发的。如果你加入一家公司,会有工程的代码给你。如果你还没有加入一家公司,可以在github、Google Code或21CTO网站上下载到源码。
 
一般的开发工具,使用eclipse或notpad++都可以打开查看。优秀的源代码工整有序,注释说明、手册齐全。
阅读别人的代码可以更好地了解你自己的代码,帮助自己增加编程速度和代码易用性,还可了解新的代码架构、框架,和他人优秀的编程方法,从而积累高质量的编程基础。
  


让程序跑起来


 
github的流行,得益于上面大多数是质量较高的半成品产品。光有心理上的兴趣还不够,当你下载完,加以调试可运行,这种是最好的驱动力。
 
运行后,你的心是快乐澎湃的。锻炼写程序能力的最好方式就是实践、实战。
修改别人写过的程序,不要怕,改!哪管是改了几个输出文字,然后再按自己的想法调整。
由小变大,我想你已开始渐入佳境啦。


按自己的思维写程序


 
当你看了不少别人写的程序。给自己定一个目标,写一个具体功能的程序。从零开始写,包括代码架构,数据库结构。
 
遇到问题想不要急着查资料,自己扛过去,之后就不怕了。
然后你再参考和你写的功能类似的产品,发现自己写的比对方写得还好,亦或者别人的写法值得借鉴。
 
如此往复并坚持。祝贺你,你的功力又进了一级。


开发一个模块


 
前面我们已经积累了一定代码编写能力,包括语法,编程逻辑上的能力。下面我们干把大的,写模块。
 
比如我们可以开发一个会员管理系统,亦或购物车系统等。不要小瞧每个功能,拿注册用户来说,等你开始从零开始时,会发现细节考虑的也不少,比如逻辑安全,代码优化等。
 
在开发模块的过程中,会遇到逻辑错误的情况,我们会积累调试和debug的能力。
还有一些棘手问题,可能通过搜索引擎也解决不了,需要我们自己先独立解决。这才是开发能力的真正体现。


小结


 
我们要做五年的准备,迎接与接受这些挑战。
 
不管一个人有多勇敢,对自己的攀登能力多有信心,没有手臂永远无法攀登岩石。编程。同样,我们对自己有信心,但不与人合作,接受别人的帮助也无法成就事业。程序员容易陷入自我的小天地,我们必须依赖与外界小伙伴的互动。
 
方法是积极参与技术社区,乐于开源,参加讲座分享。锻炼自己快速学习,解决问题的能力。
 
最后,一个合格的程序员,不限于某个编程语言,语法不再是障碍,问题也不再是烦恼。写程序只是日常,我们喜悦面对的一个游戏而已。
 
To be world-class professional,未来已经开始,祝大家成长愉快。

评论