zoukankan      html  css  js  c++  java
  • 写文章与写程序

    在网上看到有个讨论程序员是否应该写作,这里的写作主要是在说写技术博客。我个人是支持写技术博客的,不过有个前提,在能把程序写好前不要过多的写技术博客。为什么这么说呢,写程序是程序员的本职工作,而写技术博客是对自身知识掌握的总结梳理,并向特定的人群提供一些有价值的参考信息。所以只有先写好了程序,才可能写的好技术文章。

    程序是用计算机语言来表达的,技术文章是用自然语言来表达的。计算机语言的逻辑性和精确表达能力要比自然语言强的多,自然语言是模糊的、混沌的、不精确的,因此写的一手好程序的人不一定能写的一手好文章,因为他们需要驾驭的语言特性完全不同。

    刚学写程序时是磕磕碰碰的,好不容易才能搞得编译通过,这就和多数程序员写文章一样,使用自然语言遣词造句虽然从小就学起,写起来也是磕磕碰碰的。能一气呵成写出无编译错误的一段程序时,这样的水平大概就和职业写作者一气呵成写出一篇文章大致相当。一气呵成写完一篇文章,职业写作者要从头读一遍,对遣词造句加以润色,分段过长段落便于阅读等等。而程序员也要对一段程序进行调试运行,有时还会优化重构,重命名变量就像遣词造句润色,分拆过长的程序类似分段过长段落。一个稍微正常点水平得程序员很难写出一段什么也不干的程序,但写文章就不同了,经常有人写出什么也没说或者没说清的文章。这就是程序语言精确性的优势,一段程序总要解决个问题,自然语言的模糊性经常导致写作者写一篇文章很可能什么也没说,完全跑偏了。这也是为什么很多程序员感觉驾驭自然语言更难的原因。

    为了避免一篇文章写出来让读者感觉什么都没说的窘境,一个简单的办法是保持言之有物,表达思想。思想不一定要主流或正,但关键要有,所谓形散而神不散,是之谓也。这就是所谓文章的神,神为内,形为外。神是内功,是思想,是故事布局,对应写程序无非架构与设计,而外功是形式、包括文风、用词、句式等等,对应程序的实现。写过程序都知道同样的架构设计,选择不同的语言、框架、算法和数据结构来实现,实现的技巧可谓千差万别。外功如招,程序的中的基本招式无非基础算法、数据结构、系统基础、语言语法与技巧等,最终的差别体现在招式的运用上。写文章也类似,思想可能一点就透,招式则非一日之功非苦读苦练不可。

    同样主题的文章,不同人写来明显有高下之分,可见功力之深浅。网络小说兴起后看过一些,主角人物多男神,帅则温润如玉、玉树临风;正则气宇轩航、丰神俊朗。一般太正呢,女生还不太喜欢都要加点邪气,如狂浪不羁等描述。再看下金庸是怎么描述黄老邪的:

    这本来面目一露,但见他形相清癯,风姿隽爽,萧疏轩举,湛然若神

    这四组四字描述说的直白点大概就是:他身形清瘦、风姿绰约,洒脱轩昂、目光有神却又透出一股子高处不胜寒的空虚寂寞冷。这是不是就是你心中一个活脱脱得黄老邪形象了,金庸用词简练而韵味深长、境界高下立判。就这么简单一句描述一般人读来都未必顺口,何论随手用出了,这正是招式运用得的精妙之处了。

    最后,本文作者写程序十余年,写文章的感觉还在努力解决编译错误一气未能呵成阶段,路漫漫兮,共勉。


    下面是我自己开的一个微信公众号 [瞬息之间],除了写技术的文章、还有产品的、行业和人生的思考,希望能和更多走在这条路上同行者交流,有兴趣可关注一下,谢谢。

  • 相关阅读:
    bzoj2400 Spoj 839 Optimal Marks
    01分数规划
    bzoj1565 植物大战僵尸
    bzoj1497 最大获利(最大权闭合子图)
    bzoj3144 切糕
    loj6045 价
    bzoj3894 文理分科
    luogu3731 新型城市化
    快速傅里叶变换(FFT)
    bzoj1030 文本生成器
  • 原文地址:https://www.cnblogs.com/hehe520/p/6147613.html
Copyright © 2011-2022 走看看