高手教你快速学习编程语言 (2)
如果没有相应的公司内部资源可用,你可以去github上找开源代码学习。
我担心国内没有google很多优秀的资源不方便找。
其实没有google影响不大,bing也是可以用的。
在中国出差的时候我就经常使用bing。
还有就是读代码时不要仅满足于理解代码的意思,更要思考这行代码这么写好不好,有没有更好的写法,可以做到效率更高,或者把代码写得更简洁易懂,更容易维护等等。
你给的意见都非常实用。
不过我想会不会有人担心你之前的基础比较好,所以才能做到轻松地通过阅读源代码和自己做项目的办法来学习新的语言呢?
在学习的最初阶段我估计这么做会有一定的难度吧。
在入门阶段我觉得一本经典的好书还是很有必要的。
但我想强调的一点是:如果说一门语言本身可以被学习和掌握的内容像是一个广大的二维平面的话,那么一本经典读物就是这个平面上的一条通道。
再优秀的图书都不可能展示给你所要学习的方方面面;作者能给出的是ta自己觉得效率比较高的一条道路。
然而走法是无穷无尽的,没有唯一的最好方法,尽管学习效率方面会有一定的差别。
我会选择一本好书作为一种方向上的指南,但它不是一份地图,也不是我学习的全部。
经典的工具书我也会买来,比如reference和cookbook之类的。
这些工具书在做项目和今后的工作中会有很大的帮助。
平时没必要一条一条顺序去读,只是一种参考。
你会通过网络课程来学习吗?
我确实使用过一些,不过课程的质量高低对学习的影响很大,这一点要留心。
Coursera是我用过的一个不错的学习网站,里面几乎所有资源都是免费的。
我在上面发现过很好的课程,但有时也有很差的。
如果你觉得某个网络课程并不适合你,你不必勉强自己,继续去寻找更适合你的方法。
我想一个人自学的时候难免会遇上难题或绕不过去的弯,在那种情况下你是如何解决这些问题的呢?
我建议任何人都不要一个人闷头学习,要和其他人一起学,并请教有经验的人。
如果是环境设置的问题,我经常能在stackoverflow网站上找到解决对策。
如果你身边有同样初学的朋友,要经常和他们一起交流讨论。
如果你身边没有这样的朋友,就去网络上寻找其他初学者。
比如去一些开源网站帮助做一些工作,哪怕只是帮忙写文档做点贡献,这样很容易结交到志同道合的伙伴。
如果你认识已经有经验的朋友或同事就更好了。
为防止过度打扰别人,你可以平时积累各种问题,把其中有一定深度的问题保留下来,有机会的时候一次性问清楚。
这一点很像我以前一个同事说的,小事不决问google,大事不决问老板。
绝对不要一有问题不动脑筋不做研究就直接问老板,否则老板会因为你把ta当成google搜索代理而非常不满的!
是这样的。如果你问的是一个好问题,即使是有经验的人也不会觉得你在浪费ta的时间。
我突然想到一点,因为你工作的关系经常要从能够教会别人的角度去学习,这样是不是帮助你遇到任何含糊的地方都不能草草地绕过去,而必须自己理解得清楚透彻才行?
这样的高要求是不是对你的学习也起到了帮助?
我觉得确实是有帮助。
教别人是一种很好学习手段,对不懂的内容你不能蒙混过关。
在教的过程中我也经常可以从别人的问题和讨论里学到新东西。
真所谓是教学相长啊!