Perl 语言的发明人 Larry Wall 说:优秀程序员应该有三大美德:懒惰、急躁和傲慢(Laziness, Impatience and hubris)。
所以,程序员应该都会有“偷懒“的习惯。不过也有一个遗憾的事实:大部分程序员忙碌解决的问题,都不是程序问题,而是由偶然复杂度导致的问题。
偶然复杂度在软件行业名著《人月神话》里被提及,它是指因为做事方法选择不当,而导致要多做事。与之相对的是另外一个概念-本质复杂度,它是指由于问题本身复杂,怎么取巧怎么智取都没法避免,都得做的事。
今天生财日历提及的重复造轮子,算是个偶然复杂度案例。偶然复杂度和本质复杂度的概念虽然来源于软件工程,但其实不应仅限于此。哲学里讲的“透过现象看本质“,其实也是要我们直击本质,避免偶然复杂度。