记得高中的时候

  • 下决心要背单词了,就去网上疯狂找一波背单词的书,以为万事俱备,就能彻底剿杀3500这个毒瘤。
  • 突然想要好好学习了,就把高中所有的书都拿出来,想从高一开始从基础补起,以为等到基础补好,万事俱备就能平步青云。
  • 计划好一个暑假要看多少本书,一口气买了所以,以为万事俱备,结果只是一个暑假买了多少本书,甚至有些都没翻开过。

这些天看到一个程序员的公众号里面的一类评论

  • 我是个完完全全的小白,想学编程,应该先从哪门语言学起
  • 我想学C++有没有什么好的教程
  • 我想学python,请问有没有什么好的教程

突然想明白了一点东西。于是,诌点字出来。

当我们面对一个新事物的时候总是有点害怕,担心自己没有基础,学不会。所以开始在网上疯狂搜资料,找熟人问套路,在某宝里面自己比较了各种评论后心满意足地买回一些所谓的适合的好书。然后在自己书桌上摆好,一副雄赳赳气昂昂,不破楼兰誓不还的样子,总觉得万事俱备才能真正无压力衔接新事物。但结果往往是现实很残忍,基础很枯燥,在我们还没有真正接触到新事物的本身或者说核心的时候,豪情就已经散去,热血也被浇灭。最后不了了之。这可能是很多人的通病,因为诌和身边一部分人都是这样的。

细想起来,最初对计算机开始感兴趣还是上小学的时候。那时候真的是什么都不懂,但似乎很多东西都是在那个时候慢慢学会的。每次电脑有什么问题,就各种查资料,也不管什么基础还是系统学习的。就是单纯的遇到什么,就去找什么相关资料。资料里不懂得接着查资料,直到把问题解决了。那时候装个系统都要研究好久,怎么进BIOS,怎么把The first boot改成CD ROM,但就是乐此不疲。家里面的家电也是这样,虽然什么都不懂,但就是单纯地感兴趣,就去拆拆装装,很多电路的东西反倒不是中学学会的,而是那时候一边折腾一边用电脑查资料弄明白的。

我想其实无论学什么应该都是这样,无须万事俱备。要背单词,何苦拿着字典死记,找篇文章看过去,看到不会的就查字典记下来,接着再看下去就行。要学python,何苦搜罗一大堆书籍慢慢啃,也不必先去温习一遍vb来巩固基础。直接上手就去看简单的程序源码,遇到不会的语法,不懂的函数就去查,弄明白了就继续。这不就👌了么。

我并不否认事备而后动,但是也没有必要等到万事俱备,稳操胜券才动手。事实上,生活啊,变数太多,万事俱备实在太难。所以当我们开始接触一个新事物的时候大可不必拘泥于小节,直接奔向主题。至于基础,用到多少就学多少,这样也不至于在起跑线上,先累死自己。当然,在一顿狼吞虎咽之后,还是应该系统地接受学习。当掌握了一部分技术和经验,就应该对自己所学的内容做一个升华和补充。IT界有前辈说:你不需要成为一个优秀的ruby工程师才能用好rails,但如果你想成为一个优秀的rails工程师,则你必须很好地掌握ruby。

所以就目前而言,我对学习一项技术地方法总结是,先抛开万事俱备地束缚,直奔目标进行学习,等有一定基础,也是确定自己适合学习这个技术时,再进行系统学习,力求万事俱备。