--- 大师,大师,大师
··· 以后别喊大师了吧,喊我大师的同学都已经毕业了
--- 那喊啥
··· 新的外号:书记
最近写周记之前,老是在想要不要把自己藏起来,或者不应该写这些萝莉八所的东西。纠结点之一。
五月十号以来迎来了我2019年购书的一个小高潮,在京东上买了九本(合计463元人民币),在当当买了4本(合计人民币257元),在印刷社打印了3本电子书(合计100元人民币,发现打印电子书要比买书还便宜)。说实话,这是出乎我的预料的,但是出现这样的疯狂行为也影射了本少某些方面的焦虑。首先说说动机吧。
买的大部分的书都是Python和R的,这两门语言我都是在用的,R早一些,大概在2015年秋天,Python晚一些,2017年春才知道有这门90后语言。买了Python厚厚的(比新华字典还厚)学习手册以及一些应用方面的书籍。R的话买了数据科学啊、编程啊、R包开发啊之类的。原因就一句话:
你越喜欢一个人,就对他的细节越好奇;你越熟悉一门语言的细节,用起来也就越顺手。
你像这俩语言我都能写一点,但是能不能写的好一点,或者说可不可以不要每次都写的那么纠结?于是,好的办法就是多阅读、增加词汇量和语感。
在上上周末,我专门把手头上关于Python类有关的章节都看了一遍,才知道原来类是这样的:实体抽象,概念化,键值对。我在2017年3月份打开的第一本Python书《笨办法学Python》的时候就已经知道这个词了,但是我总以为类啊对象啊是遥不可及的东西。以至于在2018年初面对一个用Python写的流程时连实例化都很难理解。
R也是一样,在写R脚本的时候我能想到用函数,也知道一些绘图的细节,但是对于他的效率知道的很少,只知道:R很慢的啦。上周我试图melt两个矩阵,直接跑断了,在执行小的数据集时没有问题,但是遇到大的数据集melt、cbind、rbind所能操作的数据量数据慢到直接不能用。写的时候想的是能运行就行啦,但是有时候只是有时候能运行。所以代码规范与审查在团队协作中是很重要的,你写的别人要能看得懂,在另一个条件下要能运行。
所以,需要知道它们的更多细节。前期为了快速入门,可以狼吞虎咽地大快朵颐以建构一个框架和基本语法原则,在后面的写作过程中要把血肉找回来,才能丰满。
写过编程的人也许都知道,遇到知识点去Google就好了。遇到一个Google一个,确实是一个办法,他是实践的,缺点在于不够系统。就是你查到一个知识点,这样用了,程序跑通了,但是为什么,还有没有其他办法?这些是不知道的,这就是我觉得需要看书的原因。
也许最重要的原因是:我喜欢看书这种形式学习。我一般在一个任务不是很急的晚上找一间会议室,拿着荧光笔,开始一页一页的翻书,这种感觉很好:以前不知道的现在知道了。
有很多IT类的书籍一般的命名规则是从入门到精通,但是入门和精通其实是两码事,就像亲同学和好朋友一样。在去年年末的时候,我觉得自己的R已经差不多了,可是转眼就打脸了:一个不懂C的人怎么好意思说自己的R差不多了呢?会调包算什么本事!
很多事情的发展符合一个摇把型的曲线:
具体到学习上来,就是一开始动机很强,兴趣很浓,学习走上坡路;一段时间后,觉得也不就那回事吗?不就是Python吗,我也可以写啊,这就是危险的高原期,不要在这儿停留太久(如何才能做到?);然后是某一天看到一段神奇的代码:我去,Python还能这么用?!枉我用Python十几年,连这都不知道。于是开始新一轮的学习。如此循环往复。
所以,重要的是这个曲线,你处在哪里呢,我可不希望在高原区遇见你,让我们相逢在高处。
这个进阶之旅写在这里是有纪念意义的,因为下周就要到6月份了,在过去的1个月里,在过去的3个月里,由此追溯到过去的半年里,你是在原地踏步呢?还是发现了自己新的侧面呢?
有没有新知?比如,你知道上文提到的摇把长什么样子吗?