如何记笔记

到底什么样的记笔记方式是简洁高效的?

记笔记存在自动度的区分。自动度越高,越可以实现人输入的高效,输出的低效。

自由度越高,越不容易自动化,输出相对低效,无法做重复性、有规律的输出。自由度越低,越容易自动化,输入限制越多,输出高效,可以做重复性、有规律的输出。

如果一个人要思考问题,那么显然是需要更多的自由度的,限制最好越少越好,这样可以增强人在实际问题上的发挥。

如果一个人要快速输出,那显然问题就不能太过自由,编写一些自动化的工具即可。

手写

输入:

输出:

电子笔记

电子记录终究是束缚。因为它束缚了输入和输出形式。工具即限制。

输入:

  • 键盘
  • 鼠标
  • 手写笔(自由度最高)
  • 排版语言
    • 排版语法
    • 排版库

输出:

  • 图片
  • 电子手绘
  • 排版效果

从记录自由度到编程语言

垃圾回收语言提供了更少的限制,不需要程序员手动回收内存,因此程序员可以更专注于业务代码。

更好的typing annotation和gradual typing支持减少了程序员写类型标注的开销,可以更快写程序。

更严格的类型约束限制(如Rust)使得程序员在输入方面受到更多限制,但问题就被简化了,可以产生更高效的程序(比如moving semantics可以让alias分析更快更精确)

更少的静态类型约束(如JavaScript和Python等动态语言)增大了程序员的输入自由度,带来的问题就是更多的runtime type error。