提到 Erlang,很多人会先想到并发、消息传递和高可用系统;但 Joe Armstrong 留给程序员更长期的价值,未必只是语言本身,而是他对编程方式的判断。放到今天看,依然很实用的其实是两个提醒:先把问题想清楚,再动手;状态不对的时候,不要硬写。
复杂代码很多时候源于问题没想明白
开发里常见的一种低效,是边写边猜,写到后面才发现方向偏了,只能推翻重来。Joe Armstrong 强调过,如果一件事变得过于复杂,很多时候不是代码天生复杂,而是我们对问题的理解本身已经跑偏。
先思考,不是拖延,而是减少返工
先把输入、输出、状态变化和错误路径梳理清楚,看起来会慢一点,但通常能少走很多弯路。尤其在并发、分布式和状态机这类问题上,想清楚之后再写,收益会比纯靠调试高得多。
疲惫时写出的代码,第二天常常要重来
很多程序员都有过“今天先熬夜写完再说”的阶段,但越疲惫,越容易做出错误抽象和糟糕判断。代码也许能跑起来,但第二天回看时,往往需要删掉重写。
好的状态比硬撑更重要
真正高质量的代码,往往不是拼体力熬出来的,而是在注意力稳定、问题边界明确时自然写出来的。发现自己已经在机械敲代码、判断明显变钝时,停下来比继续硬撑更划算。
结论
Joe Armstrong 留给程序员最实用的提醒,不只是学 Erlang,而是记住两件事:先把问题想透,再开始实现;人已经疲惫时,先停下来,不要指望硬撑能写出好代码。
正文完




