自省能力

我经常问自己,

独特的想法是怎样产生的。


也经常问自己,

爱思考的人是怎样培养出来的。


错综复杂的因素非常多,

造就了形形色色的人。


有些人爱思考,

有创造性,

思维活跃。


这是为什么?

他们和别人有什么不同?


其实,

他们只是获得了自省能力而已。


元编程

程序语言是对计算过程的一种描述性编码,

因此,具体编程,

就是用代码来描述一个问题的解法。


简称,用代码解决一个问题。


元编程,可以站在更高的角度,

用代码解决代码的问题


元编程大大拓宽了我们的思路,

使程序员获得了自省能力。


究其根本,

编程语言是一种符号化的计算模型

代码指称了进行计算的实体。


程序员像念着咒语操作精灵的巫师一样,

居然还可以念着咒语操作咒语本身。


在自己之上

指导别人总是更容易,

给别人的建议,

自己却很难执行。


很多时候,我们需要,

站在别人的角度观察自己


然而,这通常是不可能的。

我们永远不能指着一个人说,

这就是自己。


就没有办法了吗?


其实,解决这个问题的方法,

还是元编程教给我们的。


那就是,

编码自己的思想

记录自己的体会


这些记录提供了丰富的原材料,

今后都可以指着记录说

这就是当时的自己了。


从哪里开始记录

万事开头难,

因为似乎没有什么可以记录的东西。


这是因为思想处于饱和状态

没有让人耳目一新的体会。


那么,就从阅读开始吧。


翻开一本感兴趣的书,

捕捉任何你没有想过的想法

哪怕只是一段名言警句。


不要怕麻烦,

用自己的理解记录下来,

也不要去抄书,

用自己的语言来表达


这样的话,

至少今天有了几条新的体会,

并且已经记录下来了。


以后的每一天,

都要强迫自己至少记录一条。


然而,我们神奇的发现,

从第二天开始,事情似乎就已经不一样了。


我们既可以从新的书籍捕捉想法,

还可以从以前的记录中发现想法。


历史记录越多,

我们的材料就越丰富,

指数级的增长。


版本控制

程序员应该有程序员的办法。


面对日益增多的心得记录,

没有版本控制怎么行。


写博客是一个好主意,

私有的个人日志,也不错。


总之,

要控制记录的版本,

因为元编程告诉我们可以研究记录本身


我们可以统计,

这一周写了多少记录,

这个月偏向于哪个领域。


它可以指导我们,

修正自己的路线,

弥补自己的缺点。


并且,还可以主动改进记录本身

我有必要再制作一个摘录记录吗?

可以的,专门摘录别人的观点,方便以后反思。


没有什么不可以。


拥有强大的自省能力

真好。


结语

当老鸟遇到新手的时候,

似乎有很多经验要讲。


比如,

没有银弹,

只有最适合的工具。


再比如,

要想解决问题,

先明确问题本身。


这些都是很好的经验,

但是,没有什么比让新手自己会飞更好了


他们当然可以发现你说的这些,

他们又不笨,

只是时间问题


他们唯一不知道的是,

机器一开始怎样运转起来。


那就帮他们一把,

相信他们,

肯定能创造令所有人惊叹的奇迹。