最近,我发现自己解决问题主要依靠三样东西:笔记本铅笔橡皮。 笔记本用来记录,铅笔用来书写,橡皮用来修改。

比起用键盘,我更喜欢用纸和笔来帮助自己思考,觉得那样更加自然,解决问题的效率 比较高。我也不清楚具体的原因,可能就是喜欢吧,喜欢一件事往往是不需要理由的。

面对一个比较复杂的问题,我通常会在笔记本上把问题清楚的描述出来,然后 在下面一步一步的写下自己关于这个问题的想法。在脑子里想一遍,再去计算机 上实验

我写作遵循的一个原则是像说话一样书写,将写作的过程当作向一个人 讲述一件事情,写出来的东西要让这个人能明白。

这样做的好处是更容易产生连贯的语句,易于理解。因为是“像说话一样”,写的 时候不需要像考试写作文那样字斟句酌,可以自由的表达自己的想法。同样是因为 “像说话一样”,括号({),箭头(->)之类的符号表述不会被滥用。即便表述中 有一些抽象图,这个原则也要求你在旁边附上足够的文字说明,以保证无论何时, 自己或者别人拿起之前写的东西也能够快速领悟你的意图。

这样的坏处可能就是需要大量的文字描述。但实际实施起来, 大量的文字也不一定是坏处,多少次都是写着写着,突然就想到了问题的解决 办法,然后问题就解决了。可见动笔的时候,人的脑子也是在不断思考的。而且 动笔的思考比不动笔的思考要高效,要不然为什么平时苦思冥想都想不出的东西 一动笔就自然的从脑子里跑出来了呢?

此外,写作的过程中还有两点需要注意。一个是要学会使用橡皮。可能很多人像我一样, 从初中起,用中性笔就多于铅笔了。导致长大后再拿起铅笔,写错的时候习惯“拿笔一划”。 这里不鼓励这样做。橡皮和铅笔是天生的一对,它可以帮你改正书写的错误,使得产生出的 内容更加清晰明了,增加可读性。想象一下,你的笔记本相当于办公室中的白板,而铅笔和 橡皮就相当于记号笔和板擦。当你的领导在白板上写错了的时候他会怎样做?

另一个注意点是写作速度的问题。这里的写作不需要像练字一样一板一眼,也不能胡写乱画, 只要达到写出的东西让人能看清楚即可。建议用一种均匀的速度把大脑中的东西输出成文字, 这样不仅可以产出清晰易读的文本,而且这个过程可以帮助大脑更好地思考(大量文字的“坏处” :-))。

最后,引用来自jez's talk writing at the command line 的一段话:

You are all computer scientists.

You know what FINITE AUTOMATA can do.

You know what TURING MACHINES can do.

For example, Finite Automata can add but not multiply.

Turing Machines can compute any computable function.

Turing machines are incredibly more powerful than Finite Automata.

Yet the only difference between a FA and a TM is that

the TM, unlike the FA, has paper and pencil.

Think about it.

It tells you something about the power of writing.

Without writing, you are reduced to a finite automaton.

With writing you have the extraordinary power of a Turing machine.

— Manuel Blum, Advice to a Beginning Graduate Student

以上。