那种情怀──论技术人的读书、学习与氛围
2016.01.09 10:47:00
我喜欢阅读技术书籍、掌握感兴趣的技术,过程中,也是有不少磕磕碰碰。而多年养成的积淀习惯,觉得应该对自己的读书与学习感触做个梳理。
这篇感悟,算是对自己心路历程的一个归纳总结。此外,也有不少人问我,读书应该怎么读才有效?这个问题还真是因人而异,我的心得,八成也只能是“仅供参考”而已。
江水三千里,情怀两三行。读书与学习,也需要满满的情怀......
不得不说,我以前并未发现自己爱阅读,甚至在n年前跟LP谈恋爱时,还被LP说:“你这么年轻,又是学计算机专业的,还成天不读书不学习,怎么跟得上技术的发展呢?”嗯,这句话刺激到了我。
那时候,开发技术比较单调,IE又是一家独大,写Web基本上掌握好ASP就足够了,再深入点也就是添加点ActiveX控件,整点JavaScript跑马灯,做出来的效果在那个年代已算是“云兴霞蔚过钱塘”。
没有深入学习的动力和方向,也就不会想着去学习。被LP刺激后,我也想着总不能就这样安于现状吧?那时候互联网还很原始,上个网还要去图书馆拨号,一小时价格貌似挺贵,网速却赛似蜗牛。因此当时掌握知识的途径主要是一靠上书店发掘,二靠杂志报刊订阅。无意中,很巧合地在「电脑报」上看到了一块豆腐篇幅的PHP介绍,开源、Unix文化、C风格,冥冥中就感觉这东西比ASP有趣。说实话,那时还并未指望在工作中怎么去用到它,就抱着了解一下的心态,也有点儿“扮”给LP看的味道。
豆腐块大小的介绍怎能满足学习的需要?于是我就去书店逛了逛,发现了书店里唯一的一本PHP书籍── 《PHP 核心编程》 ,当时是PHP 3!
没想到的是,后续借助LAMP,开发出来的东西满足了大量的业务场景需求。当然,由于IE的垄断地位,很多时候还是离不开ActiveX的。但那时候的技术趋势已经逐步明显,互联网发展起来,号称响应互联网需要的Java技术包括Servlet/JSP也开始流行。这些都是后话,要花好多笔墨的,暂且不表。
回顾上述历程,我只想说明以下两点:
有了主观的态度,接下来才是各种动作。
我在读书和学习过程中,遇到的各种问题林林总总,归纳起来大致如下:
这要分两方面看:
一是对自己需要掌握哪些技术没有清晰的认知,现在的技术流不比当年,各式各样的技术让人眼花缭乱应接不暇,如我在「守住心中的一亩田」一文中所讲:“每种技术看宣传看介绍都是美好而吸引人,如果只是为这些迷人的“噱头”所牵引,最终很可能热情无法持久,并要吃不少苦头”。这主要源于对技术流选择以及自身技术前途的茫然,一会儿想学C++,一会儿觉得大数据有前途,或者一会儿觉得MongoDB好,一会儿又发现MySQL新版本也支持JSON了。 这时候建议你好好梳理自己的选择,而且一旦敲定了方向就不要变了, 要知道现在的各种技术流已经不是一门语言这么简单了,几乎都有一系列的技术栈在对应,比如LAMP,掌握下去可是要花费大量精力和时间的,转变方向成本代价巨大,非同小可。技术选择,也需要有“曾经沧海难为水,除去巫山不是云”的情怀......
二是对各种琳琅满目的同质化书籍选择无从下手。光是Python的书就不下二十部,到底该选哪本合适呢? 嗯,现在的书评不能看,讲Python的书,评论却是快递包装质量很棒......囧rz......还有有的给5星有的给差评......那如何是好吖?这还真是个问题,建议:
依我的理解,如果就按着顺序一路看下去, 看到200页时,就会发现前面的好多概念都给忘掉了(而看英文版时,估计七八十页的时候就会有遗忘) ,而现在的技术书籍,很少就只有200页的。出现这种现象实属正常,人的接收和记忆都有个过程,那如何避免记忆丢失呢? 道理很简单,就是:“好记性不如烂笔头”! 要勤记笔记,比如我在阅读《CSS设计指南(第三版)》这本书时做的学习笔记:「选择符汇总」 。做笔记要把握好两点:
此外,大凡技术书,一般在前六章里,就把基础核心概念介绍得八九不离十了,再往后,就会转入增强的主题。而往往这时候是阅读的关键期,好比长跑运动员的“极点”现象,有一种坚持不下去的吃力感觉。但,没办法,你必须得坚持!如何坚持?且看:
中间过程的延续性很重要。其实,静下心来想想看,技术领域也是蛮浮躁的,掌握技术的过程很容易被各种舆论所影响,比如React更先进、PHP是最好的语言(注:这里指的是贬义)等等,特别打击学习积极性,并诱惑你转向别的技术,好比狗熊掰棒子。但也正如我在「守住心中的一亩田」中讲的:“ ......赶时髦并不总是好的......有定力、有主见,耐得住寂寞、挡得住诱惑,不朝秦暮楚 ”,这点很关键。
学习过程切勿中断,好比学英语,停了一天感觉语感就下降不少。说其他事情耽误了阅读进度八成是藉口,要知道,地铁上、旅途中,都可以找到时间见缝插针的,因为“时间像牙膏一样总能挤出一点的”。 你可以阶段性延缓进度,但千万不要中断。
嗯,这是个乱花渐欲迷人眼的技术世界,我等都是凡夫俗子,总要受到环境的各种左右和影响,也就难免会浮躁和烦躁。但养成好习惯更重要,甚至能做到本来是一颗烦躁的心,而一旦进入阅读状态,就能让自己平静下来。 这点没辙,只能靠自身修为了,即使再烦躁,也要坚持阅读,尽量让自己进入阅读状态。
好多人抱着找一本最佳书籍,将一门技艺掌握得透透彻彻的想法,这种理想主义者的要求是不切合实际的。 一门语言、一门技术,要知道作者本身也不可能百分百掌握,甚至有可能他的理解也有误,那么,怎么能要求他写得面面俱到呢?! 书籍的作用是引导,说白了仅此而已,道行高深与否得靠个人修炼,不是书能够解决的,这是投机的想法。 因此,应该以客观的态度看待书籍,才能有实在的收获,否则就像好多老头老太相信什么“神药”能够包治百病,最终迷失了自己。
掌握一门技术,我觉得至少要有三样材料:一本系统的教材,一本进阶的资料,还有相应的官方文档/手册(比如PHP手册的重要地位,无视其的开发者都称不上真正的PHPer)。其他的,就靠大量业务实践活动的演练,以及求助网络了。
哎,我也遇到过烂书,还不少,啥“nightly release”就是“夜晚运行”o(>_遇到这种情况只能祈祷自己早日认清,早日换本书看了。
世事如水无常,看书本无规则。关键是找到合适自己的路子,这才是最重要的。比如经验丰富者,看书往往不必从头至尾,只需挑选章节,一目十行他就能得到他想要的内容,而这对初学者而言当然不合适。以前还看到:“数学家华罗庚有一种奇特的读书方法。他拿起一本书,不是从头至尾一句一字地读,而是先对着书名思考片刻,然后闭目静思:设想这样一个题目,如果要让自己来写应该怎样写……想完后再打开书,如果作者写的和他的思路一样,他就不再读了。一本需要十天半月才能读完的书,他一两夜就读完了。”
总结一点,读书学习的过程,各种感悟会在相应的时机出现,天长日久,便会形成自身独特的阅读情怀、技术情怀......
不能贪求任何东西,一旦喜欢就执著在那里,应该心无挂碍......
现在的技术流越来越多,可供选择的余地也越来越大。在移动互联时代,营销是商业驱使下的必然手段,除了产品营销,技术营销也越来越普遍。同时,大大小小的技术圈子也不断涌出来,犹如武林门派,有江湖就有纷争,每个门派都极度推崇自己的技术流,对自己崇尚的技术津津乐道,并乐于布道和举办各种大会、沙龙。
铺天盖地的营销、狂热之下,许多所谓的清规戒律、最佳标准及推动者都出现了,而其中混杂着良莠不齐。当然,这并非总是问题, 但在各种资讯过载的时代,你必须要有清醒的认识,切不可太过陷于其中,否则将给自己带来莫大困扰。 这点也在「守住心中的一亩田」 提到了。
每个程序员都梦想掌握两三种必杀技,都希望能够“一招鲜吃遍天”。 但 自己的路终究要靠自己把握,圈子里的人和清规戒律并不总是对的, 被拿来调侃的PHP也仍是一把倚天剑。
随波逐浪到天涯,最终的结果就是你肯定会飘到天涯。