站在巨人的肩膀上

今天想清楚了两件事:
 首先要感谢佃明,他指出了我的一个坏习惯,不愿意在自己的代码中混入别人的代码。回想一下,十几年的编程经历中,确实我都是喜欢在一个成熟的类库上进行编程,一向不热心于开源软件。开源,在我心里是不稳定和安全隐患的代名词。于是,习惯性地,我总是只接受有完整的Document的lib。这是不是太小气了呢?莫非这和处女座的完美主义情节又有关?Anyway,在这个时代,事实上是没有人从二进制编码开始去做面向用户的程序的。每一个精彩的程序,都凝聚了若干层次的智慧结晶。既然都是要包含别人的东西,二进制级别的包含和源代码级的共享又有什么差别呢?(低藕合,高內聚的协同工作不是这个case的重点)所以,学会如何利用别人的成果来为自己服务,是这个时代的重要技能。其实,发paper时老板强调一定要多加reference也是这个道理,别人的东西越多,说明这篇文章的基础越好,搞出来的东西才是真正有用的东西。
很简单的事实,我以前却没有注意到自己心里深处的想法。所以说,知道一个道理和真正体会到一个道理还是有很大区别的。
 由此,引出我的第二个坏习惯:总是对各种技术吹毛求疵,J2EE也好,DotNet也好,人工智能也好,C++也好,VB也好,网络协议也好,this list goes on and on,我总以它们的不完美为理由,在了解到勉强够用到项目完成就离开。对现实技术不满的我,却没有耐心和信心去完善它们。DotNet已经是我的最后一站了,看来技术总不是完美的。我必须接受这个现实。与其临渊羡鱼,不如退而结网。Html base的网页设计起来非常笨拙没错,但这里面一样有复杂而可以改进的地方。看看别人的blog,已经在研究浏览器的JS解释引擎的垃圾回收机制了。我还在对Html的原始发呆,既然asp.net已经能够用虚拟机把html tag和js的生成做得这么棒,我为什么不能站在这个不完美的巨人肩上呢?
 牛顿在几百年前就已经要靠站在巨人的肩膀上,而他仍然成了一个时代的巨人。我在想什么呢,做网页去啦!

《站在巨人的肩膀上》有0个想法

  1. 低藕合,高內聚的官方Library固然好,但是没有的情况下也只能一步步接受开源项目。如果当时不做asp.net而搞JS前端和java后端,现在会是什么样呢?

发表回复