爱吱声

标题: IT界的一件往事 [打印本页]

作者: 沉宝    时间: 2019-6-20 21:37
标题: IT界的一件往事
话说当年Java刚出来的时候很火了一阵子,这股热潮也传进了微软内部,一些人积极建议微软全面拥抱Java。一天,微软内部的一个高级会议讨论微软最赚钱的产品Office是否应该转向Java平台,会上两派唇枪舌剑,争论得非常激烈。最后,比尔盖茨拍板维持Office现有构架不变,至此Java派在微软失势。要说盖茨先生在技术上的Vision真不是盖的,钞票门能大把进钞票确实有他的道理。几个月后,从友商的信息慢慢反馈回来,他们均无法突破Java的性能瓶颈,原来说的那些好处不过是一些泡泡和烟雾弹罢了。
- O& w4 j/ O' Y* q+ g- L" |2 b+ N/ r$ e/ I' e% {  q
这件事说明一个道理:虽然创新是IT业前进的动力,但保守并不就一定意味着落后,有时候反而是正确的一方。联想到华为的新系统鸿蒙,抛开爱国主义不谈,仅仅从技术的角度,也许他们能全面完成当初立下的各项指标,一战成名。也许像当年各公司的那些类Office系统那样,热闹一翻也就寂静了。当然还有第三种可能,发布时像他的CPU K3V2那样不堪,但华为自己拧着鼻子,梗着脖子,咬着牙坚持用,坚持到今天终成正果。总之,还有很多不确定性。但是,可以肯定一点:华为是当今最能拼刺刀的队伍,如果他们失败了,那么谷歌在手机系统中的称霸地位会持续相当长的一段时间。
作者: 老兵帅客    时间: 2019-6-20 21:59
Java的性能问题到现在也没办法,比尔盖茨当初的决定其实很正常,微软的金牛office是依赖于windows的,不需要跨平台,那么java的跨平台优势就没有多大意义了。直到今天,哪怕是微软已经推出了sql server for linux,它在UNIX/LINUX市场段的空间依然是非常有限的。
3 f/ v3 M8 i- q1 R1 Q3 ]# C7 o) n8 [3 K0 d* x
至于鸿蒙,除非谷歌自己出了问题,否则它在国际市场不会有多少机会的,不管华为多努力都一样。其原因不在于技术,而在于市场。先来的占市场,后来的只好挤市场。只要先来者不出问题,后来者就很困难了。历史上后来者能做大的,基本上都是先来者自身出了问题,而非后来者自己如何。/ p; }3 N7 X8 H- D. p3 t

8 I5 q9 [- ?5 W8 m# n" I( \- s华为是否会坚持,要看两条,一个是老任还能在位多久,一个是华为的利润率如何。前者意味着决策者,后者意味着财务报表。华为说到底是家商业公司,在商言商, 能长期顶着亏损强行投资未来的不太多也不容易。
作者: 沉宝    时间: 2019-6-20 22:57
老兵帅客 发表于 2019-6-20 21:596 v& ^' L5 u6 y* ^  y
Java的性能问题到现在也没办法,比尔盖茨当初的决定其实很正常,微软的金牛office是依赖于windows的,不需 ...

, S4 Z. L; I; \5 M很多东西事后看似乎很容易,当时其实很困难的。参加会议的都绝非等闲之辈,能发生激烈争吵说明那时双方都没有扎实的证据简单说服对方。
作者: 老兵帅客    时间: 2019-6-20 23:08
本帖最后由 老兵帅客 于 2019-6-20 10:10 编辑 - ^) F5 k% T+ T2 M1 p" [' @6 ?
沉宝 发表于 2019-6-20 09:57
7 [5 h6 N" }8 U: K# T3 g很多东西事后看似乎很容易,当时其实很困难的。参加会议的都绝非等闲之辈,能发生激烈争吵说明那时双方都 ...
' s: F- o3 M. Q; ?* {8 H

+ v& I% y4 y' ?% Y" k没那么困难,说白了就是技术派与现实派之间的争斗而已。为啥,因为谁都明白解释执行的语言效率会成大问题。比尔盖茨自己是玩编译器起家的,微软最早的产品就是一堆语言的编译器,他不可能不明白BASIC与C之间巨大的性能差距。
( G6 g# w1 t# D- w: m" t# p
5 H2 c( |1 R" c9 Z我当初刚工作的时候,用的是汇编,然后用C嵌套行间汇编,然后是纯C,然后是C++,然后是JAVA。这个路径很明显地是依据机器性能要求与软件开发效率而来的。最后的JAVA是因为WEB,否则假使还是本地的话,没它的事情。/ `) c* |* G3 g+ r7 V& [- D8 R

) U# k, l" l5 Y, ^+ ?任何有经验的软件开发人员都会告诉你能用编译执行的就不要用解释执行,除非你有明确的理由。, s5 Y1 s' i/ \
7 \% A  ^3 |. j! P2 N% i+ B
JAVA刚出来的时候,我在做AS/400上面的开发,那是IBM的机器。因此IBM对我们做了JAVA培训,那个培训让我亲身体验到了其性能上的差距,于是决定我们的程序还继续在AS/400端用C,而在PC端用C++,理由就是性能,虽然我们PC端的用户界面是用VB做的,那个是解释执行的。
作者: 老兵帅客    时间: 2019-6-20 23:23
沉宝 发表于 2019-6-20 09:57$ b* j. u" R; H/ `' Y: b
很多东西事后看似乎很容易,当时其实很困难的。参加会议的都绝非等闲之辈,能发生激烈争吵说明那时双方都 ...

- t/ o! v2 b4 j( c顺便说一下,国内貌似有个永中office,就是用JAVA开发的。我试用了一下,感觉那个慢啊,立马放弃了。2 C. ]/ C0 k; D2 a% C; A. s

/ n) D* j2 v2 v6 V$ G性能这个东西是不讲道理的。
作者: 响马    时间: 2019-6-21 00:29
这个事情出处在哪里?我觉得微软在自己的Java 开发工具占据市场主流(也就是掌握了 Java 标准的定义权)之前,不会考虑把 Office 用 Java 重写。但是 Visual J++就是一坨屎,所以也没能抢下地盘来。所以我觉得微软是不可能考虑把 Office 用 Java 重写的。2 |  k+ Y# T9 B8 Z. ~

; }" r# j. Y/ h, Q+ ?7 \& h当然,如果确实有出处的话,我也只能自己给自己找台阶:大门先生是一代雄主,想我所不敢想……
作者: 沉宝    时间: 2019-6-21 01:03
响马 发表于 2019-6-21 00:29* Q0 A, d/ g$ @; U
这个事情出处在哪里?我觉得微软在自己的Java 开发工具占据市场主流(也就是掌握了 Java 标准的定义权)之 ...
) @0 G% N: V, z9 S: g; P) }
这件事发生在Visual J++推出之前。Visual J++其实并不差,甚至可以说是当时PC平台上性能最好的虚机。之所以没能抢下地盘来,是因为SUN怕微软把Java带偏,所以直接封了。
作者: 老兵帅客    时间: 2019-6-21 03:08
本帖最后由 老兵帅客 于 2019-6-20 14:15 编辑 . W+ X1 c  k) H4 k9 G# p, D
响马 发表于 2019-6-20 11:29
6 Y# Z1 j8 E- {+ l+ `这个事情出处在哪里?我觉得微软在自己的Java 开发工具占据市场主流(也就是掌握了 Java 标准的定义权)之 ...
, w* p( |" k# T/ Y
: W5 I  D2 K6 X5 h
微软的Visual J++是用Java语言,但是没有遵守sun的对应规范。因此它不可能受Java世界待见,也不可能用它重写office,因为毫无意义。
作者: 老兵帅客    时间: 2019-6-21 03:09
本帖最后由 老兵帅客 于 2019-6-20 14:14 编辑 7 b( \+ T, }8 N$ b6 n3 S: P
沉宝 发表于 2019-6-20 12:03
: i7 @" e$ M; g  N) ^& z这件事发生在Visual J++推出之前。Visual J++其实并不差,甚至可以说是当时PC平台上性能最好的虚机。之所 ...

! v4 q$ H) V! r. O/ n' e& T  v7 L* L# C/ R
伙计,Visual J++走的不是Sun JDK的规范,这是Java世界不待见它的根本原因。
8 S0 i* Q  t! w9 @: U5 ~0 a+ L! _. f$ x, o6 m' }/ n1 j% |7 V/ K
换了谁,也不可能待见这种实现的。
作者: 响马    时间: 2019-6-21 07:35
沉宝 发表于 2019-6-21 01:03
7 Y. h- N4 W- c这件事发生在Visual J++推出之前。Visual J++其实并不差,甚至可以说是当时PC平台上性能最好的虚机。之所 ...

4 Z6 H# \* a( C" f) E: k所以我才怀疑这个事的真实性啊。微软为什么要用一个自己没有控制权的语言来重写 Office?看不出有一点点好处。
作者: xiejin77    时间: 2019-6-21 09:10
微软和Sun针对Java的世纪之战) X' [& S2 R5 z. m: E
1996年9月的某一天,微软浏览器部门的主管艾达姆·波茨瓦斯几经考量之后,提笔给时任微软CEO的比尔·盖茨写了一邮件,他非常恳切地提醒比尔·盖茨注意一个正在形成的威胁。他写到:”必须意识到Java不仅仅是一种语言,如果它只是一种语言,我们愿意并且能够容易地为它建立最佳的表现形式,事情可以圆满解决了。但是事实上,Java绝不仅仅是一种语言,它是COM的替代者!” 而COM恰恰是Windows的编程模型。而Java编程很多时候比C++编程要容易的多,更致命的是他是跨平台的。波茨瓦斯也提出了对抗Java的方法,就是悄悄地为Java提供某些扩展,使得用Java 编写的程序能够在Windows中工作得更好,但是在其它平台上却不能运行。2 [, p$ \; v$ Q9 H* D- i
& \5 x) r+ n+ c) W' L2 x
盖茨显然被这封信吓坏了,他第二天就回信了:”这可把我吓坏了。我不清楚微软的操作系统要为Java的客户应用程序代码提供什么样的东西,而这些东西将足够让它来取代我们的市场地位。了解这一点非常重要,是应该最优先考虑的事情。”1 X0 D9 Y) e: z+ ]- I% w) _% G
6 ^3 [5 J% Z! U
然后,微软推出J++语言,并推出了Visual j++集成编程工具,对Java进行了大量的修改。1997年,Sun公司以歧视使用Java软件,旨在维持其视窗操作系统的垄断地位,违反反垄断法为由起诉微软,2001年1月,SUN胜诉,根据双方达成的和解协议,微软不得对Windows操作系统中包含的Java语言作任何改动,并获赔2000万美元。
  {- m; `  i( j; b) h% M0 z2 d7 f) i$ i" Z$ y0 }: f: B5 a1 H
2001年年底,微软在推出新版操作系统Windows XP和新版IE时,故意不安装Java软件,并且推出自己仿造Java创造的语言C#和.net框架。2002年的3月8日,SUN公司向美国加州地区法庭提出起诉,称此举造成它直接经济损失高达10亿美元。2002年6月,微软干脆称从2004年起,因为安全原因微软的Windows操作系统将不再支持Java语言。1 l7 ~9 T+ U! m
& H/ ~( [/ C$ Z4 W9 R
2002年12月23日,法院判决裁定微软公司必须在其Windows操作系统和IE中发布与其竞争的 Java编程语言。摩兹法官的意见是:在微软的垄断下,Java拥有一个并不健全的市场,比如说,大部分PC上所安装的Java软件要么就是旧版本,要么就是仅适用于Windows的版本,这使得其它软件开发者对Java平台产生了厌恶的情绪,这些都是因为微软反竞争行为的结果,看来微软已经利用Windows的垄断地位来破坏SUN对Java的销售渠道。树立市场正义的唯一方法是纠正微软的所作所为,”阻止微软从它过去的错误中获得将来的利益!”
. u) d) j( N9 o, m5 j8 q) {5 a& _* A
2004年4月2日,两者达成和解协议微软将向Sun赔付20亿美元以消解旧怨,他们开始共同应对来自IBM和Linux的挑战。

4 ?4 o+ v1 ~+ L3 [% c7 X6 D; d# Z, T( z" J: b2 |
这是另外一个说法。细节可能未必准确,但几次诉讼和时间点还是准确地。
% X, ~6 A3 S& `7 G7 @2 `3 j4 L1 f0 }& Q# T0 b6 z5 i- j$ `

作者: lorry    时间: 2019-6-21 09:32
Thought-provoking.
作者: 老兵帅客    时间: 2019-6-21 09:32
响马 发表于 2019-6-20 18:35" N9 v% r7 O6 y+ c% f% y) {4 o
所以我才怀疑这个事的真实性啊。微软为什么要用一个自己没有控制权的语言来重写 Office?看不出有一点点 ...
& V/ c+ h+ I7 V2 W3 e+ ?) Q/ F
不,那是有好处的,因为可以为微软office只开发一个版本而同时运行在windows和macos上,这正是java跨平台的优势所在。8 Q! C" s! N. p( y' Z* v/ `1 ]
9 v& o% b, B6 Y* A
问题是在那个时代,macos的市场占有率远远低于windows的市场占有率,其差距比现在的要大得多,以至于为了这么小的市场段而花很多钱彻底重写自己的office,同时损失那么多的性能,是否值得是个大问题。这个问题才是导致比尔盖茨否决那个提议的主要原因。比尔盖茨从来算不上一流的软件开发人员,但是其商业头脑则是无与伦比的。他不可能算不清这笔账。% D% p% w$ N1 P$ Y% I
& T' T, Q8 j. _3 G. u) E0 q
事实上,所有积极支持用java来跨平台实现本地应用而非网页应用的,恰恰是那些市场分布在很多个都不算很大的平台,但是又都差不太大的场合。这方面的一个例子就是eclipse,即便是在UNIX下面,它也有过多个版本。曾经的一个时代,我们可以看到Eclipse for AIX。我记得它的这平台的最后一个版本是3.4,哪年的就记不清了。
作者: 老兵帅客    时间: 2019-6-21 09:36
xiejin77 发表于 2019-6-20 20:10* b/ |" e. z; p& W
这是另外一个说法。细节可能未必准确,但几次诉讼和时间点还是准确地。( x. W, I* ?- |) ?

& G# Z/ n7 G% J8 N' E2 N# P ...
7 `7 I) e, n9 Y9 v4 h* X$ ~) C2 G
几次诉讼和时间点是准确的,但是具体描述的细节有很多问题。
作者: 马鹿    时间: 2019-6-21 10:53
老兵帅客 发表于 2019-6-20 08:59
  M0 P) a' o  lJava的性能问题到现在也没办法,比尔盖茨当初的决定其实很正常,微软的金牛office是依赖于windows的,不需 ...
) H* z' j  \/ y' F  A8 ^
不是it的, 但是历史证明曾经多次另起炉灶的新的东西彻底打败了旧事物, 就看这新有多新颖
作者: 响马    时间: 2019-6-21 11:34
老兵帅客 发表于 2019-6-21 09:328 ^( q0 u- j3 n0 m. n
不,那是有好处的,因为可以为微软office只开发一个版本而同时运行在windows和macos上,这正是java跨平台 ...

1 L8 l% ^+ E1 D2 }5 m2 l, a3 K你的第二段不是在反驳自己的第一段吗。
  i5 {8 y" ?# G1 H: Q: o7 k- R
% s7 }3 o2 ~, [' q% d  q第一段说有好处。
1 G  g0 E; o) J& U6 R) _9 Z( U% S- y9 v2 T$ W8 u+ |+ I
第二段又说好处特别小。
6 U" E6 H6 m) H. M7 _* z  b" |8 C' c) G8 \& V+ Q; Q
我说看不出有一点点好处,指的是与用Java重写Office要花费的大量人力相比,同时运行在macOS上这点好处是没有意义的。而且,就这点权衡,需要比尔盖茨来做决定吗?可能在他下面很多级就已经被否掉了。
作者: 老兵帅客    时间: 2019-6-21 17:37
马鹿 发表于 2019-6-20 21:53, y; u2 @( H* Y# R$ Z
不是it的, 但是历史证明曾经多次另起炉灶的新的东西彻底打败了旧事物, 就看这新有多新颖 ...
5 d9 ~4 ]- p# x: g3 J
那得是新市场,现有市场很难。
作者: 老兵帅客    时间: 2019-6-21 17:42
本帖最后由 老兵帅客 于 2019-6-21 06:32 编辑
$ N: U: `9 M: f  ]
响马 发表于 2019-6-20 22:34
% y" y' g3 I  I/ [: \6 M8 `你的第二段不是在反驳自己的第一段吗。; o& p5 b" r0 a2 F% y

+ {/ P* `, @( T+ \: W) E第一段说有好处。

7 ]" a( i- E# g, L# t, q  N% T
$ u4 j4 |& [6 \* i不矛盾,恰好说明了利益计算的难度。
8 J% W* j$ \6 ?. S) C' U0 m/ A3 q  c' A
估计当时争论的焦点就是是否合算。理论上,当时微软的office可以有三个市场段,windows, os/2和MacOS,前面的那个是金牛,中间的那个是曾经的计划,但是因为与IBM的关系搞坏了而作废,后面那个是现实但是市场很小。因此理论上的三个,现实中的两个,两个当中大小差距极大,这就是可以争论的核心,因为公司政策的变化可以影响计算结果。结果现在大家都清楚,比尔盖茨否决了这个提议,应该就是看到为了那么小的市场段付出那么大的代价不值得。上述这些话说短了就是一句话,公司战略决策的事情,只能是大老板来定。




欢迎光临 爱吱声 (http://www.aswetalk.net/bbs/) Powered by Discuz! X3.2