注:十年是凑个整,讨个口彩,实际算来却是10多年了。这篇是口水文章,感兴趣的瞄瞄,不喜欢的莫踩。另,这里也不包含开源的各种发展。
《不差钱》里的鸭蛋说,长江后浪推前浪,坚决要把他爹拍在沙滩上。
我无意间一回想,软件开发上还真有点这个味道,十几年间,已是三代程序员。
第一代程序员大致上是基于DOS来做开发,常用的开发环境叫Turbo C。这个时候还没那么多API和类库,也没那么多层次,你要想干什么很容易直接操作到硬件。
如果你不喜欢开发环境提供的库函数,大可以自己操作显卡显示点什么。
现在回想起来,那一代程序员应该是国际水准,大家玩的东西是一样的能鼓捣出WPS,UCDOS,KV300的人绝对是超一流选手,世界上的高手也就这个水平,至少不会差很多。
到后来,才因为种种原因,拉开了差距。
第二代程序员大致上是基于Windows来做开发的,常用的开发环境是VC,C++Builder,Delphi,VB来做开发的。
这个时间段里,操作系统对硬件的封装越来越严格,Windows2000出来后,不写内核驱动已经无法操作硬件。
程序员能看到的主要是操作系统了。
现有的有名的客户端软件,几乎都是这个时候兴起的,Adobe的,Office,甚至WinRar。
这段时间应该可以算作客户端程序最为辉煌的时候。
这个时候比较盛行的一个事是找没有文档化的Windows API,在当年的MSDN杂志(好像叫MSJ)上,还有一个专门的栏目叫Under the hood来解析一些微软不公开的东西。
现在的年青的程序员可能很难想象,一群人坐在一起争论VC好,C++Builder好,Delphi好,还是VB好的样子,但对某些人而言,这不过是昨天才发生的事情。
只是岁月如刀,砍去了那些碍眼的东西。
C++Builder,Delphi,VB几乎彻底消失,Under the hood久无新章,可为明证吧。
需要补充的一点是,在这个阶段里,国内外开发水平被拉开了。之前很多赫赫有名的软件,延续的并不是很好。
第三代程序员不太好界定,但大致可以说是以Web为核心吧,更多的体现一种联通(网络)的特质。更多的会涉及Html,CSS,VBScript,Javascript,PHP这类东西。
老实讲当Javascript刚出现的时候,我个人的第一感觉是:这玩意太弱,能干得甚事。
那会想到今时今日Ajax有这般威力。
也许时至今日很多老程序员仍然不太看得上Html,CSS这些东西,觉得太简单。
但如果我们正视现实我们就会发现世界确实变了,在2000年的时候,谁会想到微软会有步履蹒跚的时候。
今时今日Web的地位已经不必多说。
我们可以讲第一代程序员所需要的技能彻底的退出了历史的舞台,但第二代程序员却仍然存在着,并将与第三代程序员一起丰富着软件的世界。
只不过与当年处在绝对主角的位置不同,现在有其他的东西更加光芒四射。
.net和Java涵盖的面太广,很难讲他们就和第二代程序员所需要掌握的技能没有关系,但是我更愿意把他们划在这里。
佛家喜欢讲的成住坏空为一轮回,放在软件上,这种轮回是如此的明显。
只是软件这行当里轮回的过于快了,局中人还是要想好自己的自处之道才行,否则就很可能会被拍在沙滩上了。
--------------------------------------------------------------
理想流 + 软件 = 《完美软件开发:方法与逻辑》
理想流 + 人生 = ??
理想流 + 管理 = ??
理想流 = 以概念和逻辑推演本质,追求真理。