作者|赵云1996年,Sun、网景和微软开战。在9月的一个星期一晚上,盖茨将他对Java的恐惧通过电子邮件发送给他的老朋友,当时的首席技术官Nathan,寻求建议,他在清晨给出了非常有帮助的建设性回复。这位兼具商业和开发头脑的天才是如何迎接Java和Web时代的?在新时代出现之前,商业天才和嗅觉敏锐的CTO们是如何思考的?技术变革对IT行业来说从来都不是新鲜事。本文希望通过两位技术天才的邮件给大家带来一些有用的帮助。1.BillGates:Javaruntimehasbecomesanoperatingsystem,IamveryworryGeneralManager)Subject:Javaruntimebecomestheoperatingsystem(Javaruntimebecomestheoperatingsystem)我很担心Java/Javabeans所有的运行时工作都是太好了,会给行业带来太多的兴奋。我真的在这个问题上失眠了,因为随着越来越多的基于服务器的应用程序被开发出来,人们似乎可以很容易地使用竞争操作系统。我很想知道你对此的想法。在进一步工作之前,您建议我们采取哪些防御措施?当然,我还没有想出足够的方法来放松自己,这件事正在削弱我的创造力。2.没必要因为Nathan的回复而失眠。发件人:NathanMyhrvold发件人:1996年10月1日星期二下午12:05收件人:BillGates收件人:AaronContorer主题:RE:Java运行时成为操作系统.这里有一些关于此事的快速想法-我也会花更多时间在这上面。首先,这一次对Java的兴奋——至少从“商业”的角度来看是这样。目前,Java正在向真空中扩张。它可以让你制作很酷的网页,这对人们来说是一件很有吸引力的事情。它为程序员提供了学习新事物的机会,为人们提供了一种新的书籍销售方式,为软件工具公司提供了发布新开发工具的途径,等等。如您所见,这种广泛的兴趣可以转化为自我实现的浪潮,因为创造程序的正是程序员的专注点。其中一些计划会取得成功,这只会推动更多人加入这股浪潮。然而,与此同时,你必须保持平衡的观点。我认为Sun实际上从我们手中夺走操作系统特许经营权的风险远低于他们贬值整个业务的风险。他们不顾一切地想放弃他们目前的系列,而且跨平台的狂热者太多了,他们很难将这种热情引导到一个单一的平台上。在极限情况下,它们可以使网络完全独立于操作系统,但仍有其他因素会激励一个平台转向另一个平台。从长远来看,它们可能会让我们越来越难以跟上。即使这个世界是跨平台的,我们的负担多了,实现也差了,跟不上了。但是,这不会很快发生-我们将与他们进行更多回合。新的Java应用程序不会很快对传统PC软件构成可信的威胁。认为他们疯了。新事物从来没有像人们所说的那样对旧事物构成威胁。看看大型机与PC。我们花了二十年时间,IBM仍然拥有数十亿的大型机收入。很酷的新技术总是会迅速扩展到新的领域(真空领域)。专家们总是说它会扼杀老企业——虽然它最终会,但不会像他们说的那么快。在战斗中成为当权者而不是挑战者是一种新的和不舒服的感觉。但是,我们不能恐慌。当前的认知战距离实际业务和收入问题还有很长的路要走,我们不能让认知问题过多影响我们的思考和判断。这并不是说Java不重要。这非常重要(只是不要失眠!)我认为您关注的是错误的威胁。我们冒着失去一个增长非常快的新市场的风险。对我们来说,这是一笔交易,但不同于对我们核心资产的直接假设,我们必须做出不同的反应。显然,有几件事要做:1.提供我们自己的方法来显着改进Web继续“拥抱和扩展”——无论是在新的Java工具(例如J++)级别还是在我们更广泛的浏览设备策略级别.创建全新的方法来改进网页或构建Web应用程序。我认为把我们所有的鸡蛋都放在“拥抱和扩张”的篮子里是一个很大的错误。这种想法会导致我们放弃我们可能拥有的任何真正有吸引力的优势。过度依赖“拥抱和延伸”会导致我有时称之为“无情地追求第二”,这在赢者通吃的世界中无济于事。我在这里所说的“激进”的意思是概念上的而不是技术上的——也就是说,不是口头上的,也不是真正困难的。Java是一种悲哀的技术。我们这里不需要高科技——我们需要一些技术,但主要是我们看到它的方式。2.开辟其他参与新市场的方式仅一种资产是重要的是非常罕见的。见鬼,看看Netscape和Sun,它们都有吸引人的资产,这仍然是Web的早期阶段。还有其他技术也很重要,我们应该尝试拥有其中之一,即使它走向完全不同的方向。关键是想出一些可以从互联网浪潮中得到启发的东西。同样,这不一定是一个非常困难的技术问题,更多的是关于创造性和寻找机会。这里有一些例子(不完美)。虚拟世界可能就是这样的东西。一种执行服务器应用程序或执行Web事务(非常热门)的新方法可能就是这样的事情。我在这里没有我想要的那么多例子,但我很确定如果我们真的专注于这个领域,我们可以想出一些东西。3.继续投资于我们的核心业务资产——在这种情况下,WindowsRuntime全球99%的软件收入仍然基于Windows应用程序,利润率超过100%。如果我们让Windows的非网络属性下降,那么我们就真的有麻烦了。我担心网络上的狂热程度以及我们的核心业务只是受到间接攻击的误解。我们当前的路线和速度忽略了我们的最佳路径。我们需要Windows成为用户可以选择的最引人注目的平台。理想情况下,这意味着我们在每个类别中都获胜。您担心我们只会被束缚在Java类别中,因为Javabeans和其他运行时将使跨平台真正发挥作用。在我看来,我们应该尝试在Java世界中结合(或赢得)拥抱和扩展。然而,在这样做时,我们不能让Windows失去对用户选择系统很重要的其他非Web维度!用户的系统选择不局限于Web,而是在那些我们有很大优势的领域。换句话说,假设Java完全成功并且完全跨平台,为什么人们会选择一个系统而不是另一个?这一切都取决于其他领域。以下是一些可以尝试的事情:我们需要成为多媒体领域的领导者——这意味着制作非常酷的音频和视频。我们想以DVD为主导,让它易于使用。我们必须成为最好的游戏平台(优于Ultra64或Playstation)。我们希望成为图形/视频/音频创作的最佳平台(优于SGI或Mac)。方便使用时防止障碍物。PC必须是即时启动的,它们必须超越即插即用,它们必须更加“自我配置”,它们必须“自我诊断”。PC不应具有最佳用户体验的技术原因是没有的——它比那些所谓的网络终端更好。然而,这需要努力才能实现。这也需要网络末端的一些工作,但以我们目前的情况,这是不小的负担,这会给我们带来额外的工作,但也会带来额外的回报。我们必须。利用Web为遗留应用程序提供引人注目的新功能。这里的关键示例是“我的工作空间”概念,它完全抽象了网络上的存储。这对用户来说将是一个巨大的变化——存储抽象是当前PC中最难处理的事情之一,我们可以让它消失。如果我们基于STORAGE(即文件系统API)来做这件事,从长远来看,它可能会缩短基于其他API或协议的分发——存储将带来最大的好处。坦率地说,我担心我们在这方面做得不够,因为我们过于专注于网络。我们需要以最终用户为中心的人来真正让我们的系统变得更好。我们还需要进行实施技术转移(到NT)和文化/人员转移(到Allchin的团队,该团队历来更关注底层技术而不是最终用户的东西),这个事实阻碍了我们。在保持平台活力的同时实现这些转变可能是一个巨大的挑战。苹果是一个令人担忧的例子。他们在非Mac产品(Kaleida、SweetPea/Pippin、Taligent、Newton...)上浪费了他们的创造力,并且他们将Mac团队与技术转让联系起来(到PowerPC)。但Apple与我们不同,因为Silverberg和Ludwig所做的Web工作比Apple正在做的重要得多。然而,我仍然担心我们对核心资产的投资不足。好消息是,我们确实有很多人可以专注于这些问题,如果我们这样做,我们可以创造一些其他人无法创造的最终用户价值。我不确定我的这些想法是否会使您的担心减少或增加。这是一个严重的问题,但我认为我们有更多的选择——尤其是上面的2和3。注:本文档来自Comesv.Microsoft(2007)3.背景1995年,Java诞生。当时,Sun、Netscape等新兴公司迎来了高光时刻。“Web”时代的开端正在兴起,JavaScript的诞生就是一个例证:NetScape于1995年首次公开募股,在“浏览器大战”中与微软作战,认为需要的不仅仅是浏览器。1995年4月,Netscape和Sun宣布了一项包括Java在内的技术合作协议。10月,Netscape发布了他们的2.0beta,其中包括Java支持和对他们内部开发的脚本语言(Mocha,后来的LiveScript)的支持,他们将其重命名为JavaScript。一年后,SunCEOMcNealy将Web浏览器中Java和JavaScript的结合视为一种直接访问桌面的方式。他认为Sun将提供后端硬件,而Netscape将提供客户端应用程序。当时,他从“Java之父”高斯林手中接过Java,并在Sun组建了[JavaSoft]部门。麦克尼利与比尔盖茨的战争由此拉开序幕。这时,微软办公室里的天才们看到无数狂热的Java爱好者,尤其是比尔·盖茨,都惊呆了。为此,他甚至彻夜未眠。4.结语NathanMyhrvold的邮件中描述的这种“拥抱和扩展”的心态最终导致了1997年Sun和微软之间的一场非常大的诉讼,直到2002年才得到解决。从微软的角度来看,最终,C#成为解决Java威胁的真正“答案”。参考链接:https://www.tech-insider.org/java/research/1995/0411.htmlhttps://www.tech-insider.org/java/research/1996/0109.html
