欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

那种情怀──论技术人的读书、学习与氛围

程序员文章站 2024-04-06 16:46:25
...
那种情怀──论技术人的读书、学习与氛围

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也开始流行。这些都是后话,要花好多笔墨的,暂且不表。

回顾上述历程,我只想说明以下两点:

  1. 学习需要有驱动力。 这个驱动力也许是外部压力,也许是内在驱动,比如为了生活得更好一些,为了个人更好的发展,以及自身对技术的浓厚兴趣等等。否则,学习缺乏持久恒心。其间还涉及到一个个人安身立命与兴趣关系的话题,可参考我早前的这篇博文:「守住心中的一亩田」──“ 吃饭家伙优先 ,安身立命乃刚需, 温饱解决后才是考虑个人兴趣的时候,别本末倒置”;
  2. 浓郁的技术情怀──这点非常关键。 我至今仍对PHP充满情感,这种情怀很难说清楚,但大抵是源于初次遇见PHP时那种“一见钟情”的“震撼”。想想当年PHP 3的面糊式代码,以及PHP 4起OO的特性增强,到现在Laravel、Yii、FuelPHP等各种支持RESTful特性的PHP框架争奇斗艳,发现PHP也是蛮拼的...... 一个技术人,必须拥有技术情怀,才能在技术路上持久前进。情怀,说白了就是一门技术其所在社区、应用领域、带给你的价值与舒适度,以及技术风格等因素对你的综合影响力。 读书、学习,亦如此,有技术情怀,才能静下心来学习。

二. 如何读书与学习?

有了主观的态度,接下来才是各种动作。

我在读书和学习过程中,遇到的各种问题林林总总,归纳起来大致如下:

▶ 不知道怎么挑书、看哪些书,无从下手

这要分两方面看:

一是对自己需要掌握哪些技术没有清晰的认知,现在的技术流不比当年,各式各样的技术让人眼花缭乱应接不暇,如我在「守住心中的一亩田」一文中所讲:“每种技术看宣传看介绍都是美好而吸引人,如果只是为这些迷人的“噱头”所牵引,最终很可能热情无法持久,并要吃不少苦头”。这主要源于对技术流选择以及自身技术前途的茫然,一会儿想学C++,一会儿觉得大数据有前途,或者一会儿觉得MongoDB好,一会儿又发现MySQL新版本也支持JSON了。 这时候建议你好好梳理自己的选择,而且一旦敲定了方向就不要变了, 要知道现在的各种技术流已经不是一门语言这么简单了,几乎都有一系列的技术栈在对应,比如LAMP,掌握下去可是要花费大量精力和时间的,转变方向成本代价巨大,非同小可。技术选择,也需要有“曾经沧海难为水,除去巫山不是云”的情怀......

二是对各种琳琅满目的同质化书籍选择无从下手。光是Python的书就不下二十部,到底该选哪本合适呢? 嗯,现在的书评不能看,讲Python的书,评论却是快递包装质量很棒......囧rz......还有有的给5星有的给差评......那如何是好吖?这还真是个问题,建议:

  1. 看作者、看译者、看出版社口碑──这点比较主观和粗线条,但往往效果很直接;
  2. 看看有没有靠谱技术人的书评,有时还是能在网络上看到一些技术专家发表的书评的,这会比较靠谱;
  3. 别怕麻烦,尽可能去书店走走,翻翻看 ──这点对于同质化书籍的判断往往最有效,所谓同质化,就是阅读人群定位与内容大多重叠,选择时不知道哪本好。除了实体书的感觉,通过实地翻阅,相信能够帮助你做出相对具体的选择,这也是我喜欢上书店的原因之一。 这条是我认为最重要的
  4. 若是翻译的书,则上Amazon英文站点看看原版书的评论,老外的很多书评很详细,也比较负责任;
  5. 上微博、微信、QQ问问一些有经验的专家。

▶ 刚开始看书时还好,但看着看着就发现思路混乱了,不是忘了前面,就是感到继续读下去比较吃力

依我的理解,如果就按着顺序一路看下去, 看到200页时,就会发现前面的好多概念都给忘掉了(而看英文版时,估计七八十页的时候就会有遗忘) ,而现在的技术书籍,很少就只有200页的。出现这种现象实属正常,人的接收和记忆都有个过程,那如何避免记忆丢失呢? 道理很简单,就是:“好记性不如烂笔头”! 要勤记笔记,比如我在阅读《CSS设计指南(第三版)》这本书时做的学习笔记:「选择符汇总」 。做笔记要把握好两点:

  1. 一定要 记自己的理解,特别是自己对问题点、混淆点、关键点的理解,也就是对自己有帮助的成分 。千万 不要记成了“流水账” ,那有点像把书抄了一遍,最终还是忘得快;
  2. 不要怕做笔记耽搁阅读进度 ,急于求成的结果必然是适得其反。

此外,大凡技术书,一般在前六章里,就把基础核心概念介绍得八九不离十了,再往后,就会转入增强的主题。而往往这时候是阅读的关键期,好比长跑运动员的“极点”现象,有一种坚持不下去的吃力感觉。但,没办法,你必须得坚持!如何坚持?且看:

  1. 把书的内容,按基础部分和增强部分划界, 在前面的基础部分,尽量打牢基础、多思考,实践书上的例子,甚至凭借自己的思考做些额外的例子,同时把心得记在读书笔记上──这能够降低后续进入增强主题的门槛,同时方便将两部分的内容衔接起来;
  2. 宁愿在基础部分多花点时间, 务必打牢基础;
  3. 在两部分衔接点处可以适当放慢速度, 一是回顾前面的基础,二是调节一下节奏,但时间一般不要偏离两天以上,所谓一鼓作气。

▶ 中间容易被其他事情打断,要么别人告诉你这书不好、这门语言不值得学;要么耽搁了好几天去做别的事情去了,等回来时发现思路断了

中间过程的延续性很重要。其实,静下心来想想看,技术领域也是蛮浮躁的,掌握技术的过程很容易被各种舆论所影响,比如React更先进、PHP是最好的语言(注:这里指的是贬义)等等,特别打击学习积极性,并诱惑你转向别的技术,好比狗熊掰棒子。但也正如我在「守住心中的一亩田」中讲的:“ ......赶时髦并不总是好的......有定力、有主见,耐得住寂寞、挡得住诱惑,不朝秦暮楚 ”,这点很关键。

学习过程切勿中断,好比学英语,停了一天感觉语感就下降不少。说其他事情耽误了阅读进度八成是藉口,要知道,地铁上、旅途中,都可以找到时间见缝插针的,因为“时间像牙膏一样总能挤出一点的”。 你可以阶段性延缓进度,但千万不要中断。

▶ 读不下去,烦躁

嗯,这是个乱花渐欲迷人眼的技术世界,我等都是凡夫俗子,总要受到环境的各种左右和影响,也就难免会浮躁和烦躁。但养成好习惯更重要,甚至能做到本来是一颗烦躁的心,而一旦进入阅读状态,就能让自己平静下来。 这点没辙,只能靠自身修为了,即使再烦躁,也要坚持阅读,尽量让自己进入阅读状态。

▶ 总想在所读书中找到所有的解

好多人抱着找一本最佳书籍,将一门技艺掌握得透透彻彻的想法,这种理想主义者的要求是不切合实际的。 一门语言、一门技术,要知道作者本身也不可能百分百掌握,甚至有可能他的理解也有误,那么,怎么能要求他写得面面俱到呢?! 书籍的作用是引导,说白了仅此而已,道行高深与否得靠个人修炼,不是书能够解决的,这是投机的想法。 因此,应该以客观的态度看待书籍,才能有实在的收获,否则就像好多老头老太相信什么“神药”能够包治百病,最终迷失了自己。

掌握一门技术,我觉得至少要有三样材料:一本系统的教材,一本进阶的资料,还有相应的官方文档/手册(比如PHP手册的重要地位,无视其的开发者都称不上真正的PHPer)。其他的,就靠大量业务实践活动的演练,以及求助网络了。

▶ 碰上了烂书

哎,我也遇到过烂书,还不少,啥“nightly release”就是“夜晚运行”o(>_遇到这种情况只能祈祷自己早日认清,早日换本书看了。

此外,如果有可能,可以考虑看英文原版书。

世事如水无常,看书本无规则。关键是找到合适自己的路子,这才是最重要的。比如经验丰富者,看书往往不必从头至尾,只需挑选章节,一目十行他就能得到他想要的内容,而这对初学者而言当然不合适。以前还看到:“数学家华罗庚有一种奇特的读书方法。他拿起一本书,不是从头至尾一句一字地读,而是先对着书名思考片刻,然后闭目静思:设想这样一个题目,如果要让自己来写应该怎样写……想完后再打开书,如果作者写的和他的思路一样,他就不再读了。一本需要十天半月才能读完的书,他一两夜就读完了。”

总结一点,读书学习的过程,各种感悟会在相应的时机出现,天长日久,便会形成自身独特的阅读情怀、技术情怀......

三. 技术氛围

不能贪求任何东西,一旦喜欢就执著在那里,应该心无挂碍......

现在的技术流越来越多,可供选择的余地也越来越大。在移动互联时代,营销是商业驱使下的必然手段,除了产品营销,技术营销也越来越普遍。同时,大大小小的技术圈子也不断涌出来,犹如武林门派,有江湖就有纷争,每个门派都极度推崇自己的技术流,对自己崇尚的技术津津乐道,并乐于布道和举办各种大会、沙龙。

铺天盖地的营销、*之下,许多所谓的清规戒律、最佳标准及推动者都出现了,而其中混杂着良莠不齐。当然,这并非总是问题, 但在各种资讯过载的时代,你必须要有清醒的认识,切不可太过陷于其中,否则将给自己带来莫大困扰。 这点也在「守住心中的一亩田」 提到了。

每个程序员都梦想掌握两三种必杀技,都希望能够“一招鲜吃遍天”。 但 自己的路终究要靠自己把握,圈子里的人和清规戒律并不总是对的, 被拿来调侃的PHP也仍是一把倚天剑。

随波逐浪到天涯,最终的结果就是你肯定会飘到天涯。

掌握好一个技术流,坚持下去,不断实践并深入,积以时日你就能拥有浓浓的技术情怀,同时在时机成熟的时候,不断丰富自身的复合技能。