如何评价微软前CTO发长文指出Windows的混乱局面,「14年14次转变,17种GUI共存」?
转载自:微软前CTO长文控诉:Windows被搞成一锅粥!14年14次转变、17种GUI共存_腾讯新闻 快科技3月25日消息,前微软CTO、在微软效力23年的Jeffrey Snover近日发布长篇博文,系统梳理了微软过去数十年间在GUI(图形用户界面)上的反复摇摆,揭示了Windows开发生态为何走向碎片化的原因。 首先将时间线拉回1980年代,当时的Win16和Win32 API为所有Windows开发者提供了一致的开发范式,开发者只需要学一套东西,就能覆盖几乎所有Windows应用场景。 技术作者Charles Petzold撰写的《Programming Windows》长达852页,被视为桌面应用开发的圣经。 到了1990年代,微软试图用MFC、COM、OLE、ActiveX等技术突破Win32的局限性,Snover指出,这些组件架构“渗透了Windows开发的每个角落,引入了前所未有的认知复杂度”。 在开发者大会上,微软的技术叙事变得支离破碎,Snover毫不客气地将当时的主题演讲形容为"keynote clusterf*ck"。 2003年,微软展示了Windows Longhorn的技术愿景,其中Avalon(后更名为WPF)基于GPU加速的XAML矢量渲染子系统,技术实力极为强大。然而2004年8月,微软突然转向,要求所有新开发使用C++。 WPF虽然随Windows Vista发布,但Windows Shell本身并未采用它,这一决策在Windows工程团队和.NET团队之间埋下了深深的裂痕。 Snover指出,内部矛盾最终导致WPF被弃养、Silverlight死亡、UWP(通用Windows平台)一出世就注定失败。 2007年,微软在WPF已经证明自身实力的情况下,再次转向推出Silverlight。 2010年,微软突然宣布Silverlight不适用于跨平台开发,HTML5才是未来方向,Silverlight仅用于Windows Phone开发,大量押注Silverlight的开发者措手不及。 “微软内部同时在讲两个故事,Windows团队在搞WinRT,.NET团队还在推WPF。不同的楼,不同的副总裁,不同的路线图。 开发者在//Build 2012上听到的是:未来是WinRT,同时HTML+JS是一等公民,同时.NET还能用,同时C++回来了,同时你应该写Metro应用,同时你的WPF代码跑得很好。这不是战略,这是《饥饿游戏》,六个团队在争夺你的注意力。 企业开发者看了一眼UWP的沙箱机制、强制应用商店分发以及缺失的Win32 API,转身就走。” Snover用自创的词"boof-a-rama"来形容当前局面为聪明人在做蠢事,他强调,微软推出的技术本身往往并不差,真正杀死它们的不是技术缺陷,而是内部政治、开发者大会上过早宣布转向、以及混乱的商业战略。 Petzold的《Programming Windows》在2012年第六版(覆盖Windows 8/WinRT)之后便不再更新,或许就是对这种不可预测的碎片化最好的注脚。 Snover于1989年加入微软,历任Partner Architect、Distinguished Engineer(2009)、Technical Fellow兼首席架构师(2015)、CTO(2019),2022年离职加入Google,2025年正式退休,以他对微软内部运作模式的了解,这篇博文的可信度不言而喻。