我看完文章才注意到作者是以前注意过的一个人,他的网站上甚至有
中文翻译,以前又在微软工作过,然后不爽了就辞了职,又声称自己过不惯华盛顿州的农村生活,就跑到美国唯二的城市之一纽约创业了。当初注意到他是因为一篇名为“行进中开火”的有趣的文章。他还骑车横穿美国,在blog上发了不少文章和照片。
此人名叫Joel Spolsky,似乎是以色列人来着。他这篇文章专门讲微软错误的战略──失去了最宝贵的API,这篇文章在
Slashdot也引发了争论。他道德说微软不是那么容易就倒下的,他有那么多的存款,足以折腾好多年的。但故事要从
API来讲。他说鲍尔墨曾在微软会上大叫“开发者,开发者”如是者四,足见他对开发者的重视。这里的开发者不是微软自己的员工,而是其他公司的专门开发Winodws应用的程序员。
作者很强调应用软件对一个操作系统的重要性,他认为用户掏钱买的是应用,至于这些应用在哪个平台上运行其实是不关心的,所以哪个平台应用最丰富、运行最流畅,哪个平台就有最多的用户。他认为这其实是苹果和Sun公司一直不火的原因──他的“不火”其实是用户少于1000万的意思。
作者说微软内部有两股力量,
一个力量是补丁派,他们的工作是让系统有最好的兼容性,为Dos写的程序要在Windows还能运行,为Win31写的程序要在Win98上也行,最好在Win2k上也行。为了这个原因,API最好保持稳定,程序也应该符合规范并且不要用太新的东西。但这样还不行,有些软件用户都喜欢,开发者却一时跟不上微软的脚步。比如SimCity,早期的Dos游戏,很好玩的,记得修电线杆还要找准方位才行的。它在Dos上运行地很好,但在Win上就不行,因为它使用内存的方法在Win上不行。为了这个游戏,这一派居然对它进行反向,找出问题,然后在Windows里面专门判断如果是simcity在运行,就启动专门的内存管理,使它能够正常运行。这个故事告诉我们当年微软是很谦卑的,也告诉我们应用软件是多么地重要。
>>>>....
另一个力量是MSDN派,这一派总是整新东西,并且鼓励开发者尽早使用新东西,随便就完全抛弃旧的。很显然地,这两派是有矛盾的。
作者还举出微软拉拢开发者的例子,包括几乎所有开发工具都免费提供,VS有通用的序列号,现在更可以在网站上
下载,并且在使用上做得非常好用。其目的就是让更多的人来开发Win软件。
但现在追新派已经胜利,微软已经确定采用全新的系统结构应用框架和界面,这就是.net和长角。这样一来,原来的至宝Windows API就要全面更新,这给开发人员造成的混乱是难以想像的。现在.net很热闹,但许多人只是使用ASP.net,它对客户端没有要求,写.net客户软件的还很少──有个读RSS的软件似乎要求安装.net环境。
而且这一新架构的许多东西还不确定,编程语言也不至一种,程序员面临巨大的学习压力和选择压力。
另外,作者指出微软的许多工作其实并未提升软件生产率,而是一些语言固有的特性可以提升它,关键就是内存管理。C/C++是要自己搞好内存的,而VB/Lisp/Java是有专门的机制的,这就使得它们的开发效率相当高。所以VB应用很广。但VB要有运行环境才行(打包的时候就得打入)。
不但如此,现在的时代也变了,PC业不再突飞猛进,人们也许还在用几年前的电脑,不像90年代那样,随便就整机升级,当然同时就升级了操作系统。XP的推进速度就不快,长角的推进可能会更慢。这样的话,全新平台的接受程度就不会很高,这对微软的销售势必造成巨大的影响。
而且现在软件开发的方向也在变化,原来要客户端软件的地方,现在只要浏览器,开发大量地转向服务器,而开发出来的东西可以在任何系统上使用。作者说现在已经很少有人愿意使用API,现象就是懂COM的C++程序员在纽约可以拿到13万的年薪,而Web程序员通常只能拿到8万,就是因为那种人太少了。可以想见,老板们如果发现这个问题,他肯定更愿意让8万年薪的人来开发,从而改变技术路线,毕竟多数应用都是可以在Web上完成的。