我曾写过一些代码,现在这些代码大多数躺在我硬盘的某个文件夹里。很多时候,我会猛地想起,我是学计算机的,我会写代码。
上学那会儿,写代码是自发的,除了必须完成的作业,很多时候想提升自己的技术。但回头看来,我走了很多弯路。我会很多语言的语法,比如C,JAVA,C++,Python,PHP。那会儿,我花了很多时间去研究程序语言,多年过去,我至少还可以用这些语言不抄书写一句Hello World!。读研时候,我真正静下心来去钻一门语言C++。我仍旧感谢这段经历,那时候在老师的指引下,我买了一本书C++ Primer 第五版。一门心思啃书,每读完一节,我都会照着书把代码敲一遍,然后把书后的习题做一遍。这件事我坚持了大半年,到实习时每天晚上回到宿舍仍旧坚持。
这本书有一千多页,后面因为找工作,剩下几章我没做完,而后就一直放那了。但坚持了那么做以后,我的代码水平有了质的提升。并且对代码有了新的理解,写代码犹如人生。很多事情,你一开始做的时候,你并不知道最后会有什么样的结果,但你坚持下去以后,不断累计,越往后你就会体会这么做的奇妙。也许你的感受已经脱离了这件事本身,但你会越发明确未来的方向,放弃还是继续,这时就很容易抉择。另外,坚持做一件事,就一定会在这件事上面得到经验。而经验绝不是书本能够教会你的。
我想起了马克思主义哲学里面所说,事物是普遍联系的,应该在普遍联系中找寻规律。而规律一经总结,将会带来新的受益。写代码如人生,以前我觉得写代码犹如写文章,这样的理解不算错。代码也讲究语法,逻辑。好的代码会减少后期维护的成本,而烂代码不仅难读,后期维护更是灾难。对别人来说是幸事的是,我不再是全职的程序员了。我最讨厌那种写了代码却不注释的人,读别人代码实际是一种很痛苦的事情,所以不注释犹如读别人的天书。
工作以后,我很少写代码了,每次想起写代码的时候,就是我想偷懒的时候。比如工作中,我要重复像机器人一样定期地做一个表,统计收集别人的信息,我就会思索,我是否可以写一个程序来做这些事。其实,只要敢于去想,开始去尝试,往往一个事情就真的能做出来。工作以后,思维也不同于学生时代,做学生时,一心想着要写出一手好代码,如好文章般优美。但却忘了,计算机属于工科,是实用技术,是要解决现实问题的。那时的代码多半是用来做题,极其缺乏实用性。那时候,常关注有没有语法错误。
工作以后,更加务实。对代码的理解就是工具,学生时代写代码,就好比从无到有在造砖块,而且一直不停地在造,今天用这种材料,明天换那种。但不论哪种材料,造出来都只是一块砖。我想大家都能看懂我说的材料就是指程序语言,所谓的砖可以理解是代码片段,一个没有实际意义的功能块。工作了,你想做一件事就是在搭房子,你不能不停地造砖,而是要选定好工具,开始垒土建造。
我曾写过的代码被孤独地锁在了硬盘的文件夹里,暗无天日。其实源代码一般只有作者本人看见,别人看见的是呈现出的交互式界面,而源代码就是这些界面的灵魂。
年少那会儿,我心情不好时会写代码,会带着一些思考去解决一些问题。现在写代码很功利,不轻易去写,倒不是因为自己大牌,而是自己太懒。好的代码犹如好的文章,很难一蹴而就,要不停地调试修改,我喜欢这个过程,在我看来,这是写代码最有意思的地方。你写,你设计,你修改,从无到有你创造了一个特定的程序,虽然很多时候,它的出现是为了解决我的一些特定工作,说白了,它就是在我想要偷懒时制造出的一个精灵。
我常感觉自己很孤独,而一个人孤独无聊时去做一些重复性的机器类工作又是极其borning。我不会找乐子,我不爱打游戏,不爱追剧,好像对什么都提不上兴趣,我很懒,我不爱做枯燥重复的工作,所以当有重复性的工作来了,我第一思考的是,我能不能写个程序来做这件事,很多时候我很幸运,我写出来了。如果没写出来,说明要么这件事写程序复杂且不高效,要么就是这件事我想放一放再弄。常常后者居多,有时候一放,等有一天我写好了代码,第二天领导宣布,这件事我不用再做了。这才是人生。
你以为你使用了聪明,但人家可以直接宣布你不用干这件事了。如果我学的代码他们也像人会说话会思考,他们一定会抱怨,我把他们创造出来才几天就得躺进那个硬盘里的文件夹了,若干年以后,我甚至不记得我写过这些代码。事实真相是,若干年后,我偶然点开文件夹,打开一段源代码,会说,我擦,我竟然写过这么牛X的代码。当然那只不过自我搞笑罢了。
我现在感到孤独时,绝不会想到去写代码。很多时候,我都觉得自己孤独。如果我可以把自己每次孤独的情绪装进硬盘里的文件夹,我想硬盘早已塞满。
网友评论