热闹后的平静,一场无声的思考
引论
之前写的那篇文章(你真的了解try{ return }finally{}中的return?)居然受到了这么多人的关注,这是我意想不到的,同时也感到学编程的人的热情。随着文章阅读量的提升,评论的人也越来越多了,这也导致了五花八门的评论。当然,评论有支持的,也有反对的。这里我不讨论这篇文章的好坏,不讨论对评论的看法。此刻的我只想思考、反思!
之前的文章我也有提到,文中的题目是我在逛论坛时偶然发现的。刚看到这个问题时就觉得这是一个好问题,而且很有趣!于是,我就对这个问题进行了研究,去找各种的资料。最后用了大概一天的时间才把这个彻底搞定,并把思路理顺、整理成一篇博文。
发现评论中有好几个园友提到了引用类型的情况,突然发现学编程的都很活跃,而且思维都很缜密,考虑的很周到。本来还想把引用的情况补上去的,但是最后还是觉得不补上去了。为什么补不上去呢?因为发布那篇文章的主要的目的是把解决这个解决问题的过程以及思路记录下来,顺便分享给感兴趣的人,如果补上去了不就是本末倒置了吗?
思考
在文章的评论中我发现了很多很好的评论,评论中大家都各抒己见,好不热闹!看完评论后大感震撼,陷入了思考中。
脑子里不停地浮现着这几个问题:
- 这个话题无聊吗?
- 这个话题真的没啥意义?没有实际意义?
- 这个话题真的很好吗?别人居然说了“打开眼界”?
- 这篇文章真的是好文吗?说了“好文”的不是随便说说的吧?
- 。。。。。
为什么会想这几个问题呢?因为之前研究这个话题的时候压根就没思考过这些问题:这个问题有实际意义吗?我会因为这次折腾而浪费大量的时间吗?当时之所以要研究这个问题主要是因为发现别人提出了一个很有趣的问题,如果你问why,我只能说just for fun。
首先反问一下,无聊吗?研究一个编程问题无聊吗,即使是一个没什么实际意义的问题?
这让我想起了大学前做数学题的场景。由于比较热爱数学,以前一看到数学题兴趣都会马上提起来。尤其是那些充满hack的题目,你预想不到的题目。虽然那些题目有时会把你虐待体无完肤,但是那时痛苦并快乐着~~即使知道这些题目考试不会考,但是对这些题目感兴趣的我们也会乐此不疲,会在放学的路上讨论、会在饭堂吃饭时讨论,会在宿舍里讨论。。。。如果当时有人问,你们为什么这么逗比在讨论考试不考的题目?我想,我们的答案会是,just for fun。
然而,现在为什么做什么事都要想,这件事是否无聊,这件事是否有实际意义,它能否给我带来直接的回报呢?我想,这归根结底都是我们变得功利了、变得浮躁了。
有时候我会想,为什么小时候的我们都会很开心、很专注、学东西都很快呢?此刻我想再问问自己,小时候我们做一件事会去评估一件事或者一个行为的价值吗?我们会想是否无聊?是否有实际意义?是否有回报?我们并没有,我们仅仅只是觉得它有趣,没有其他原因。但是我们有在做无用功吗?我想,我们做的并非还无价值,至少它会给我们带来快乐。
这让我想去了看李笑来的《把时间当作朋友》讲到的一些关于拒绝学习的话:
几乎所有拒绝学习的人其实都正是因为他们觉得自己的这个推理准确无误,才那么理直气壮地选择拒绝学习:
我知道我现在要学习、要努力,这个没问题。问题在于,学习也好,努力也罢,就好像是投资一样,都是要投入时间、精力,甚至金钱的。如果在我根本不能确定我现在的学习究竟能给我带来怎样的结果的情况下,我就投入时间、精力和金钱,那我不就是连傻瓜都不如了么?所以,你必须告诉我,学这东西究竟有什么用处?没有用的东西我才不会去学呢!
当我们在学习的过程中是否也是这样?是否也会因为一些问题没显示出它的作用就觉得它会浪费我们的时间、精力?
然而,一些知识的潜在价值我们可能是永远都不会体会到的,或许要在一段时间或者很多年后你刚好需要时才会发现,哦,原来它如此有用,辛亏我之前学习了它。就像李笑来说的:
当时我去少年宫学习计算机编程语言的时候,怎么可能会想象得到20多年后的某一天,要用软件去调取语料库中的数据,然后用统计方法给每个单词标注上词频,而后写个批处理程序从相应的字典里几个小时内拷贝粘贴出多达20MB以上的内容,再重新整理……
书中提到,面对“不知道学它究竟有什么用”这个问题时,不同的人会有不同的想法:
有些人——估计是大多数——还在疑惑“……可是,我学这个到底有什么用呢?”的时候,另外一些人——肯定是少数——心里想的是“不知道学它究竟有什么用……但正因为不知道有什么用,才可能更有价值呢!”——或者他们根本就没想过这个问题,时间干脆都花在直接去学上去了。
犹记得,这段时间博客园上有一篇推荐数很高的博文:你人生中的那口井挖了没有?,其中一个这样的场景:
和尚带着右边那座山的和尚走到庙的后院,指着一口井说:“这五年来,我每天做完功课后,都会抽空挖这口井。能挖多少就算多少。如今,终于让我挖出井水,我就不必再下山挑水,我可以有更多时间,练我喜欢的太极拳。”
我觉得我们现在在学一些暂时没什么用的技术和上面挖井的和尚道理是一样的,未雨绸缪。故事提醒我们要为自己挖一口井,以备不时之需。但我觉得,我们不仅局限于给自己挖一口井(IT知识),在口渴时有水喝。我们还可以给自己准备一个样式繁多的后院(各个专业都可以涉及下),即使是肚子饿了也有果子充饥。
有句老话说得好,“不见棺材不掉泪”。在学校团队里做Java web做多了,并且经常做一些增删查改的东西,容易让人产生一种错觉:“算法、数据结构这些知识也没那么重要”。然后开始作死了。。。等到需要时才知道了算法和数据结构的重要~~
开始学算法和数据结构的人一般都会有点迷茫,不知道算法和数据结构到底有什么用。觉得用代码堆砌出一个程序更好玩、更牛逼,即使只是功能弱小的程序。相比之下算法就是没啥意义的知识了,所以就随便学学算了。最后到了需要时只能傻眼,只能骂自己当初怎么学算法没实际意义。
觉得知识没什么实际意义,觉得学一个没用的东西只是浪费的时间。其实这只是我们变得功利、浮躁了。在学技术了路上,我们需要的是一颗平静的心,功利和浮躁终究会影响我们的心态,成为我们的绊脚石。因此,在学技术的路上,要多调整心态,有时不过于计较价值回报,有一颗“just for fun”的心就好!
——献给在默默地学技术,并且准备攻算法的自己_