在公司,敲代码,啪啪啪;回到家,写文章,啪啪啪。忽然发现,编程与写作,不只声音一样,不少方面都挺像的,不信你看。
1.创作目的
编程和写作这两种创作,本质上都是一种与外部世界的沟通。
写作是给读者的,根据写作文体,读者群体是不同的,也可以说根据不同的读者,使用不同的写法。小说写给喜欢读故事的人,书信一对一写给私密交流的人,日记写给自己。但不管读者是谁,写作大致都要清晰明了,沟通无歧义。
程序是写给机器的。不同的机器,程序的形式也不尽相同。手机上是APP,Windows系统上是exe,但程序的目的是与机器充分沟通,尽可能利用其资源,快速高效运行。
这两种沟通方式在某种程度上都十分高效,可复制性特别强。一篇优秀文章写好后,可不限时处处流传,具备与无数读者沟通的潜力,比如莫言的小说。一个优秀程序完成后,可处处部署,具备与无数机器交互的潜力,比如微软的Office。
2.学习历程
写作需要掌握文字。我们学习语文,从识字开始,学习成语、造句,学习文章结构。当我们刚开始写作文时,特别注重文章的格式,注意辞藻的华丽。慢慢地,将写作转化为了一种和人沟通的方式,淡化了实现的细节,不再斤斤计较一个成语是否最好。现在,我们点评战友文章,大多数情况下不会说某某个词语十分传神,而是说从文章里读到了什么思想。
编程需要掌握语言。我们学习某个语言,从基本数据类型开始,学习流程控制、运算规则,学习函数结构。写第一个程序“Hello world!”,紧张地对了一遍又一遍。慢慢地,将编程转化为了与机器交互的方式,不再执着于一行代码的实现是否最优。因为我们知道,程序运行在手机、电脑中,是在又快又好地实现各种功能,机器不会赞扬一行代码的巧妙。
3.制作步骤
写作虽然有时候自称码字,但总是码字的肯定不是作家,而是打字员。实际上,码字只是写作的一个实现阶段。动笔的很久之前,我们就在构思应该写一个什么样的主题,就在思考用一个什么样的文章结构,就在盘算着如何吸引更多人的注意力。码字只是想法的一个输出。好文章是改出来的,初稿完成后,还需要三番五次的修改,才趋于完善。
编程的人虽然自称码农,但只会敲代码的肯定不是一个优秀程序员。实际上,编码只是编程的一个实现阶段。动手写代码很久之前,我们就在追踪用户的需求,就在设计程序的框架结构,就在比较不同的设计模式。编码只是所有设计的一个输出。程序写出来后就是漫长的调试,如同文章的修改。几乎没有一个程序是一次就成功运行的。不断Debug,才趋于稳定。
有人说,编程是写作的一个子集,从广义上来说是对的。一个条理清晰、排版优美的写作者去编程,大抵是不会太差的。