13年前,正值.COM热潮涌动,年轻的Web程序员比比皆是,辍学创业的大学生也屡见不鲜。学会计算机编程很容易,但也需要天分、实践和训练,必须理清头绪,那些编程技巧像什么测试恢复备份、写脚本安装操作系统、版本控制等等。模块化和代码重用都是好主意,但用银子享受代码重用造成的后果:各种包把Web搞得一团糟, 随便依赖,互相纠缠,代码越重用,浪费越严重。
"代码越重用,浪费越严重",是以夸张的口吻反对过度设计,要用的时候就写一个,提高自己编写代码速度,想要什么,迅速做一个出来,这样就不会有依赖,不会有纠缠,不会有浪费。
所谓质量,只有在有人对它负责时才有意义,代码质量才有所保证,努力自己开发一个系统, 就可以对所有部分的质量负责. 去掉无所谓的依赖、保持简洁,当想要一个特性时,可以自己写一个, 而不是去找一个现成的将就,就可以避免臃肿的系统了。
而开源最大化群体智慧,增加了复杂性;而敏捷去繁留简,丢失了规范化。这其实,忽略了一个事实,不管开源还是商用,都需要商业机会和商用环境,这就是市场杠杆,在市场需要的基础上,去谈论技术优劣与否,才有意义,否则就是吵吵嚷嚷。 就技术论技术,意义何在?世上哪有完美的事物? 开源不等于拒绝商业,有市场需求,就有其存在的空间,开发出来的软件需要市场,若是连市场都没有,开发出来的产品将毫无意义。软件开发的过程,也需要有人负责,否则将会出现不规范的行为。