编码与写作

从很小的时候,我就喜欢看书,记得当时看的最多的就是古龙的小说,三国演义,水浒传这些的武侠小说。那时候的梦想就是当一个作家,然后也写一点东西,不过发现多是矫揉造作,胡乱堆彻,文笔不通,于是就自认为根本不是这块料了,然后就彻底的放弃了当作家的念头。

不过想想,其实那时候,如果能早点知道一万小时理论,早点知道很多时候是自己输入太少,阅历不丰富,没法写出很多东西,早点了解很多读书的理论,how to write的理论,我觉得可能就不是今天这个样子了。

等上了大学,入读的是自动化专业,但幸运的是,我发现我自己最喜欢的是计算机,然后就义无反顾的决定走上了当程序员的道路。这个决定,到现在看起来,应该是一个非常明智的选择。如果从世俗的眼光看,我现在仍然没啥钱,没啥名气,算不上成功,但我自己知道,只要能按照自己选择的道路走下去,并且还能不断成长,这个就是成功的。

写了这么多年代码,有时候觉得,编码和写作这件事情,其实很类似。现在想想,小时候我自己在没有电脑的情况下面,还买了几本basic的书来看,没准从那时候起,我的梦想就是当一个程序员了,不过如果能当一个会写作的程序员没准更好 :-)

为什么我会觉得编码和写作类似?我觉得主要有几点:

输入输出

要想写好代码,或者文章,都需要大量的输入以及输出。我曾今以为,那些有名的作家,都是突然有一天灵感一来,然后奋笔疾书,于是就有了让人传颂的作品。不过后来了解的多了,也知道,作家也是人,也有写不出东西来的时候。

我从小语文就不好,可能是因为小时候的遭遇,觉得自己不是这块料,不过在高二的时候,我的语文成绩是非常好的,那时候多亏有一个特级语文老师教我。而且他真的不是教我怎么学语文,就是让我不停的读书,不停的写作。不过好景不长,高三那年,他因为个人发展从我们那个穷山区跑到了武汉,我一下子觉得没了希望,然后语文成绩就立刻下降了。想想,如果当时能够继续按照他的方法学习语文,没准我真能写好东西,至少我的高考语文成绩也不会就是那可怜的90分了。

所以从我可怜的经历可以看出,即使短时间的大量输入输出,对写作的提高也是很有帮助的,只是随着年龄的增长,我们越来越没了这份耐心以及坚持。

虽然写作上面没坚持下来,但我还是保留了喜欢读书的习惯,到现在也不停的在买书,读书,虽然输出没了,但输入没落下,至少以后给孩子教知识是没啥问题的。

编码也是类似,虽然我已经过了30,但我仍然在不停的编码,写了这么多年的代码,除非遇到节假日或者很多特殊情况,我都保证了每天写代码的习惯。甚至在除夕夜都在写代码。也因为这样的坚持,我的代码产出很高,对代码质量很有自信。同时开源维护了很多组件,还能保证公司的项目不被落下,顺带还能在一些技术会议上面去吹吹水 :-)

同时,要不断的学习业界的先进理念和知识,就跟写作需要不断的读书一样。计算机这个行业非常好的就是,能永远让自己不过时,永远让自己的脑袋处于世界最前沿。很多几年前火爆的技术,没准过不了多久,就会被另一种更先进的所取代。所以我们得不断的学习,不然就会被这个行业所淘汰。但是也别短视到现在热门什么就学什么,什么赚钱就学什么,一味的追求这些,反而会让自己在这个行业里面极度的不快乐。

风格框架

要想写好代码,首先得学习不同语言的编码规范,没这套规范,写出来的东西让其他人阅读起来就比较困惑。譬如google就专门出了c++的code style,然后go则是更进一步,直接提供了一个format工具,弄得大家的代码看起来一个样子。rust更直接,编译的时候直接告诉你,你的代码要怎么改,如果用上clippy,你会发现,你这么写,就一直给你报警告,弄得强迫症患者必须得改掉。

当然,如果所有作者都是一个风格,那这个世界也就太恐怖了。但不同的作者其实也有自己的写作风格的,譬如看古龙的小说和看金庸的小说感觉是完全不一样的。不过到现在为止,我是完全没有自己的写作style的,顶多就是记记流水账了。

很多作者能在不同的风格上面游刃有余的切换,这方面我是佩服的,不过后来想想,写代码也不是一样,我们照样可以在不同语言里面随意切换。不过切换有时候是很痛苦的,譬如写rust写多了,一下子换到go,很容易就每行加了分号,然后从go切换到c++,又忘记了分号。

上面说的其实还是语言规则上面的切换,真正困难的是如何做到思想上面的切换。譬如一个写小说的作家突然去写杂文,就不能按照以前小说的套路去写了,这种转换有时候很痛苦,但适应了没准就是另一个世界了。

程序员也一样,在我最开始写rust程序的时候,很容易就使用go的思路去写,但过了阵痛期之后,就发现rust其实也蛮不错的。这个在使用clojure的时候也是一样的,以前只接触过面向过程和面向对象,突然来一个函数式编程,一下子就不知道如何写代码了。但习惯之后,就发现完全是不同的思考方式了,以前实现一个功能,想的是我需要提供哪些函数,相关的class是啥,但用了clojure,想的是我这块数据流,如何做map,filter等。

结构骨架

在《如何阅读一本书》里面,作者提到了检视阅读,首先就是快速看书名,目录,索引等信息,提取出这本书大概的轮廓样子,为后续的分析阅读和主题阅读做好准备。按照我的理解,如果一个作家,不能很好的组织它作品的目录结构,是没法让读者很好的获取相关的知识的(当然,这里多数是技术知识类书籍,小说诗歌这些的不在此列了)。

话说,如果按照上面这个标准,我的文章几乎全部不合格了,因为太乱了。:-)

写代码也是一样,要完成一个功能点,首先要设想整体架构是怎样的,然后每个组件需要完全哪些功能,各个组件是如何交互的。这些没想好,就贸然动笔,就很有可能导致后续整个设计混乱。

当然,我们不是预言师,不可能预估对所有的情况,也不能过度设计,就譬如作家不可能一下子就完全想好如何写作一样(通常想一次就写好的,恰恰是最不会写出来的),后续还会根据实际的情况不断地调整改善。甚至极端情况下面,可能还会将以前的设计全部推倒重来,不过这种情况,对于整个项目就是个悲剧了。

总结

扯了这么多,无非就是去北京出差的时候突然想到,编码和写作到底有啥关系,虽然自己喜欢写作,但有自知之明,知道自己的文笔有多菜,但作为一个喜欢码字的程序员,想想这个问题,想想之间的关联性还是比较有意思的。毕竟书读的多了,总还是想手痒痒写点东西的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,590评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,808评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,151评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,779评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,773评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,656评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,022评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,678评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,038评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,756评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,411评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,005评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,973评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,053评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,495评论 2 343

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,442评论 25 707
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,572评论 18 399
  • 通用编程概念 变量与可变性 变量默认不可变,如需要改变,可在变量名前加 mut 使其可变。例如:let mut a...
    soojade阅读 12,526评论 2 30
  • 对项伯的讨厌最初缘于电影《鸿门宴》,出卖自己的亲侄子项羽,去帮着刘邦。电影结尾项伯拿着夜明珠,战战兢兢的去讨好当时...
    夏言baby阅读 560评论 0 2
  • 我头枕着柔软的山峦恍如有儿时的温暖月光该是我金色的床被使我钻入她银白色的故乡 银色的新娘赤足踏过闪耀波光的溪流匍匐...
    风满山阅读 216评论 1 3