写这篇文章的目的,主要是想回答一个问题,为什么身为程序员的我那么不安分,想要坚持每天写一篇文章呢?
确实程序员工作繁忙,加班多,可支配的时间很少,把每天应该腾出来研究代码的时间话在写作上可以说是一大冒险,对我来说也是一次挑战、一次历练,但在我受到一些大神们的影响之后,更加觉得,程序员和写作者其实是并不冲突的两种角色,究其原因,是他们都拥有一颗创造者之心。
最近读了一本书,书名叫做《Web全栈工程师的自我修养》,作者是腾讯的一名资深程序员,这本书并不像技术书籍那么枯燥,相反,可读性很强,作者很博学,从全栈工程师的定义到软件领域的技术,都饱含着他工作多年来的见解和趣味的解读,而且常常引用一些经典书籍,仿佛给我们打开了一扇扇通往代码世界的窗户,总之,无论是装帧设计,还是内容质量,都是非常棒的一本书,可以说是带领还是一只小白的我领略了编程世界的魅力,能够在步入职场的初期看到这本书,我真的是太幸运了!
作者在他的博客里说过这样一句话:
作为一个全职的软件工程师,我的本职工作是编写代码和软件,而不是写书。不过,通过我在腾讯的5年工作经验总结,我认为好的程序员的最终目标应该是,创作一个作品。
开发一个Web网站,开发一个iOS APP,翻译一本书,写一本书……都是一个作品。
在作者看来,程序员的开发工作是在创造作品,而写一本书也是创造作品,他们是想通的,对此我饶有兴趣。
之后我又碰到了另一位大牛程序员池建强写的一本书《Mac Talk:人生元编程》,标题同样也很有趣,“元编程”到底是什么样的含义?于是抱着兴趣,我又拜读了这位大神的文章。也许同样是程序员,在很多地方都能产生共鸣,看迟大的文章,经常会让我眼前一亮,仿佛手中枯燥的编程也变得灵动起来。
今晚在地铁上看到里面的一篇文章《写作与编程》,作为一个爱读书的程序员,迟大看王道乾译的《情人》,查良铮译的《青铜骑士》,黄锦炎译的《青铜骑士》,这些优秀的文字以及和编程领域的技术干货《Unix高级环境编程》《数学之美》,让作者由衷地发出了感叹:
编程诚可贵,码字价更高,若为梦想故,两者都不可抛!
作为资深程序员,迟大多年的阅读和编程经历,让他发现了文字和代码的相通之处:
它们都在表达这个世界上需要表达的东西。文字仅仅能看是不够的,要能听,读来朗朗上口,有韵律有节奏,才是好文字。代码只能运行也是不行的,要能读能改,上可处理异常,下能控制事务,设计精妙,逻辑严谨,才是好代码。
甚至迟大还认为:和人类的文字比起来,编程就是蹒跚学步的小朋友!
如果说编程之路上的那些坑让我们叫苦不迭,鼻青脸肿,那文字路途上的陷阱就是黑洞,你趴在洞口喊都没有回声,扔个石子也听不见响动。
过去,我们的长辈总是轻视文科生,觉得文科学的东西很虚,不实在,事实上,他们理解的文科不是真正的文科,想去学好真正的文学也是需要功夫的,经过大学四年的洗礼,我更加觉得,每一门学科,我们都应该改对其保持尊重,因为在浩瀚的知识殿堂面前,人类很渺小,即使是穷尽一生,也许只是走了一小步,而且更多的人都是在门外徘徊。
编程和写作的路径殊途同归,它们都是在创造,如果一个人连编程这件小事都做不好,那么何来写作这件大事呢?而如果一个人写文章都不能尽善尽美,那他去编程的话也一定漏洞百出。
《黑客与画家》一书中描述了计算机与绘画之间的相同之处,它们虽然看似不同,计算机冰冷、精确而且井然有序;绘画则狂热,充满畅想和欲望。但黑客和画家却有很多共同之处:它们都是创造者,本质上不做研究,而是试图做出优秀的作品,当然过程中可能发明出一些新的艺术形式或编程语言。
大四下的时候,我曾经向陈果老师表达了我的困惑:很后悔没有珍惜大学的时光,没有好好把握学习的机会,往大师的路上发展,却成了一名普通的程序员。
陈果老师告诉我说,没有什么可后悔的,不用纠结,在大学剩下的时光多做自己喜欢的事儿就可以了。我也不是什么大师,也只是一个教书匠啊,无论是各行各业都要有创意才行,即使是程序员,也要保持你的好奇心,保持你的创造力。
诚如陈果老师所说,即使是匠人,也要保持创造者之心,创造者之心是需要不断去经营,不断去酿造的,也就是所谓的匠心,无论是那条路,想要出人头地,都终将是一场艰苦卓绝的旅程,修炼匠心,简单说就是在这场旅途上刻意练习,保持好奇心、保持创造力、保持求知欲,不断地与自己死磕罢了,剩下的,就静候时间给你的答案吧!