这个问题比较大,那么我缩小下范围,以免时间以偏概全。

如何提高学习编程语言或者新技术的学习效率?

其实这个问题是从一次餐桌上引起的,其实我感觉那天有些东西没有完全说清楚,当时脑袋也有点乱。以免让人误解,所以整理一下。

我们提高学习效率的方式传统就是:看书,看Blog,动手。

我个人的经验看书最慢,因为吸收很慢,至少你要能到动手的程度是需要一个过程,过程就是动手。 其次看Blog,这个比较好,但:

  1. 很难选择什么样的适合自己
  2. 什么样的能够帮助自己快速深入理解。

然后是动手,不用想,这绝对是最慢的,因为尝试是有代价的,就是时间的消耗

我只简单说下我的方法,首先去微博找到非常喜欢聊技术且有深度的大神,不去特意关注他们的非技术类,只关注技术类帖子。大神看多了,你就可以把他们分类。然后定时按组刷新,这样你的索引就有了,根据他们的讨论或者心得体会,去理解,上面一般会有代码和原理。

这样大大节约了你实践尝试的次数,有人可能会突然问了,尝试才是王道,这个我不解释,人一生就那么点时间,试错的次数是有限制的。

既然你找到了突破点,那么从微博索引上提到的词汇和技术帖子去找具体的书,他们的微博一般都会推荐书,然后延伸阅读,实验,从一个技术点就能扩散一个面,到最后掌握一个技术项。比如BNF,EBNF,然后扩展到yacc/lex或者ply。

所以我觉得这套方法可以通过被动的节约时间来达到一些快捷的目的,其实微博本来就是短信息发布链的一种形式。

备注:以上就是我刷微博的原因,纠正曾经说过的说法错误,展示其实仅仅是被动,你做出来不打广告才是浪费,^.^ 。