这是一本书名,是我在研一读的一本书,非常幸运,这本书绝版了,我在一个犄角旮旯找到了。这本书再版了,可以买一本看看,CSDN有PDF。能不能成为大师,不好说,但是成为一个靠谱的程序员应该是有帮助的。
有听过我课的同学问如何成为一名程序员,首先,我很抱歉,我自己就是因为成为不了真正的程序员才到学校来教书。所以,你要问我如何成为程序员,我还真不知道。我知道我自己为什么不能成为程序员。
1.天赋
你有天赋吗?我在计算机上没有天赋。为什么?怎么看出来?当老师第一遍给你讲指针的时候,你能很快的感觉出指针像套在一起的环形针吗?如果你不能迅速的将抽象的计算机模型具体化,那么你和我一样,对于计算机,我们的天赋差不多。不要指望成为Linus。正如我们都有可能喜欢打篮球,但是我们一定不可能成为姚明。你没有这个先天优势。这样,你成为genius的机会,几乎不大了。你就不要以James Gosling为标准了。
2.兴趣和动力
这两个是相辅相成的,我放在一起说。你成为不了Linus的程序员,你可以做最好的自己。首先,我对计算机没有大家这样的热情。我学计算机是阴错阳差。有一部分原因是因为钱。所以我说只要有足够的动力,学会一样的东西是可以的。你曾经有过写程序写到吐血吗?你有过写程序写的不想睡觉吗?你有过非要把东西作出来才罢休的,不达目的绝不放过自己的觉悟吗?如果你曾经这般玩命,恭喜你,你可以往下看。
3.策略
如果说中国人总是认为“我的成功可以复制”,我认为这是不正确的。每一个独立样本的特性不具有统计意义,我们在知道自己的特性之后,如何发挥自己的优势,这才最关键。如何才能让自己尽可能的接近自己能力的极限,才是好问题。“我如何成功?”是一个很烂的伪命题,因为没有统计意义的推断不一定适合自己,如何成功只有你自己才能知道。
在说方法之前,我们假定是我们要让自己尽可能的逼近自己的极限。
最重要的一条:要始终不予余力的和自己玩命。我们都是有惰性,克服惰性是我们成长的唯一途径。我信奉的准则就是,只有突破死亡线,才能逼近极限。因此,这个问题就是如何学会不予余力的和自己玩命。
和自己的玩命最好的手段,我认为是目标导向。没有目标,就不知道自己的精力往哪里使,要不断的给自己找压力必须有一个目标,不然你怎么把自己弄的精疲力尽呢?因此,这个问题就变成了,如何找目标。
目标在我看来一定是现阶段我无法完成的,这个离我现在水平不能达到的东西可以从两个方向去找,一个是时间,一个是空间。
从时间上:
我能坚持每天写一百行代码吗?重复是学习最常用的手段。
我能有效管理我学过的代码吗?积累是重复的升华。
从发展空间:
我能每天坚持看一篇我看不懂的文章吗?向高手学是学习最好的手段。
这么复杂的东西我完全没有头绪!从最简单的地方看,拣自己看的懂的先看,浏览一遍再反复。
在成为一个合格的程序员最重要的开始,就是学会管理自己的代码。我们很多优秀的同学,已经把自己编写的代码放到Google Code上面了,为什么?因为这个有比较好的版本控制,我知道我现在学习到什么地步了。
有些同学觉得我好像对计算机整体的认识比较深刻,为什么会有这个感觉?因为凡是我学过的东西,我都能记住。你还记的7个化学主族元素吗?我仍然记的。因为我记忆力好?显然不是,我把所有的东西都抄写了3遍。一个东西,学一遍就会的,有两个情况:1,你在这个方面有异于常人的天赋,挺好的,不要浪费;2,这个东西和你现有认知是同一个水平的,不值得花太多力气。不好学的东西大多是要反复看的。
看不懂的东西?完全陌生的东西我怎么要学呢?当你在30岁之前你不能学会完全陌生的东西,你很有可能这一辈子不会再接受新东西了。科学统计表明人类在30岁以后的认知行为会发生变化,他倾向于把新事物归类到已有的知识结构,并将这个实物同化成符合现有逻辑框架的产物。因此,在你现在还年轻,你要进一步扩张自己网络。当你网络铺开了以后,你的思维会自动将这些网络修补起来,这样你的知识就会完善,这就是我将你们在大四的时候,应当有一种融汇贯通的感觉。
复杂的东西都是从小东西开始的,你喜欢Hack OS,你上来就整Windows XP,你老人家太牛了。Microsoft花了5年多,n个亿美元下去的东西,你老人家就打算直奔主题,说的好听是雄心勃勃,说的难听就是你根本就没有找到路子。南京人骂人常说:这个人不上路子。学习也是一样,你一定要从简单学起,放着Linux0.11不看,你一刀就杀向Windows我不知道该怎么说了。
4.方法
计算机范围太广了,你知道什么是计算机吗?如何在一定程度学会计算机呢?一方面是基本基础要扎实,另一个方面是在一个点上深入的钻下去。怎么钻?很多人在学习的时候非常盲目,我经常看到我们学校的同学,就喜欢上图书馆,借这个书,看那个书,我也有这个阶段,现在我已经不再这个阶段了。我想很多同学在度过了初学阶段以后,也会和我一样迷茫的时候,很希望知道我应该向什么方向努力。
在这点上,我比大家幸运一些。在我读书的时候,Microsoft是老大。因此Microsoft推什么技术,我就盯Microsoft。它推新技术,我就跟进,因此,我对Windows平台还算熟悉,这个就是一个方向——长期跟踪一个领域,不断让自己和这个领域保持同步。
现在的方向多了,不知道怎么选了。还有一个好办法,你在跟领域的时候一定会遇到很多牛人,跟着牛人就没有错。比如我学Java的时候,Think in Java的作者是Bruce Eckel,那么我就订了他的技术写作blog。他打算写什么,我就跟进这个领域看,这是我保持技术的一个习惯。我学OS的时候,我盯住了赵炯——长期盯住比自己牛人,看他干嘛,你就干嘛。
长期关注一个领域,长期跟踪一个比自己牛的人,这是保持技术敏感性的好习惯。我这辈子不大可能领先世人,因此,我就采取跟随战略,我只要技术上不掉队就好了。
解决了跟谁学的问题之后,我们要做的就是坚持。同时,要有挑战自己的勇气。工作了以后,敢不敢试着去面试大公司?我曾经很喜欢的一个故事就是:一个高级经理每年都到人才市场上找工作,他想知道自己现在值多少钱。同样的,我们是不是去暗暗的向大公司面试一下——不给我面试,说明我还不行。面试了,没去,能力还不行。过了一面,死在二面了,好有进步了......不一定要骑驴找马,但是你要知道我现在是在贬值还是在增值。
原文链接:http://www.software8.co/wzjs/cxyyg/3215.html
作者:newcnzz 发表于2013-3-6 11:05:33 原文链接
阅读:31 评论:0 查看评论