转蔡学镛:该学Java或.NET,欢迎大家讨论,要对事不对人呵

03-11-14 xxsh97
原文链接

该学Java或.NET

翔威国际高级工程师蔡学镛  06/11/2003

自从.NET问世以来,程式员都很关心的一个问题是“该学Java或.NET”。我也在挣扎,该“该继续Java的研究,或者该开始准备培养.NET的知识”。当然,最好是能两者兼顾,但是每个人的时间都很有限,想要兼顾两者,其实不太容易。投入在.NET的时间越多,所能花费在Java的时间自然就少了,反之亦然。在资讯爆炸的时代,重要的不是资讯的取得,而是资讯的抉择。资讯太多,时间太少,如果不能慎选适合的技术,只会平白浪费许多时间,斫丧自己的竞争力。

由于我喜新厌旧的个性使然,过去这两年半,我着实花了不少时间在.NET上,对于.NET的认识越来越深,也修正了对于.NET原先的一些误解,渐渐的认同.NET的许多技术理念。姑且不论我们对于微软是褒是贬,单纯就技术本身来看,.NET的确是很卓越的。

我并不是唯一一个这样想的人。以“Thinking in Java”等技术书籍广受欢迎的Bruce Eckel也是如此。他原本认为C#和.NET只是Java的模仿者,并无新意,但是在深入了解之后,才发现C#和.NET其实是改良版的Java,不管在各方面,都有比Java更突出之处。当我看到Bruce Eckel说出这样的话,我感觉他说出了我的心声。

下面,我试图从许多不同的角度,简单地比较Java和.NET。

从技术的观点

通常新的技术会比旧技术更好,因为新技术可以从旧技术学到优点,且新技术可以摒除旧技术的缺点。NET比Java诞生的时间晚了六年,许多方面都比Java先进,当然是无庸置疑。

我的意思并不是Java这六年停滞不前,事实上,Java一直在进步中,只是有许多缝缝补补、修修改改的地方。例如,XML是在这六年之间出现的技术,所以.NET对于XML的整合可以说是天衣无缝,但Java是后来才把XML整合进来,且整合的程度比不上.NET。

从历史的观点

以史为镜,可以知兴替。如果你了解近二十年的软体产业发展史,你会发现微软挫败的机会很小,即使是在头几场战役失败,也会在整场战争中获胜。换句话说,.NET挫败的机会不大。在Office软体大战中,WordPerfect、Ami Pro、Lotus 123如今安在?在作业系统大战中,OS/2也已经销声匿迹。在浏览器大战中,Navigator如今只整剩下小小的疆土。你一定可以举出更多这样的例子。

从市调的观点

分析机构如Meta Group和IDC皆预测,在Windows Server 2003推出之后,未来几年市占率会大幅提高。我认为,在longhorn推出之后(2006年?),PC更是会全面.NET化。由于“精通”.NET知识可能需要费时两三年以上,技术人员应该尽量提早学习.NET以为因应。

三年前(2000年)学习.NET恐怕有点太早,三年后(2006年)学习.NET恐怕有点太晚,而现在学习.NET正是时候,不会太早,也不会太晚。学会之后,可以立刻投入市场对于.NET技术的人力需求。

从行销的观点

任何人都不能否定微软行销功力的厉害。平面的行销,包括在电子时报、IT Home等资讯媒体,甚至连商业周刊等非资讯媒体,都看得到相关的广告。动态的行销,包括PDC、TechEd.、修练讲座、产品发表会…等活动,直接走入人群,接触客户。电子的行销,包括MSDN中英文网站、微软TechNet Flash新闻信…等,提供技术新知。

另外,还有多得拿不完的教学光碟,读不完的线上文件,看不完的Microsoft Press出版品…。我发现,微软的作法和另一家公司的作法大相迳庭。微软给我们一堆技术资讯,要什么有什么,但另一家公司却常常把资讯当成“传家宝”,舍不得释放出来给大众,连透过内部管道都还不见得拿得到,“好像很不希望有人学习他们正大力推广的技术”。

从销售指标的观点

关于某个城市的消费者物价指数,麦香堡指标(BigMac Index)是一个很有名也很简易的评估指标。我也发明了一个类似的指标,称为天珑指标(TenLong Index),可以用来评估IT技术的热门程度。天珑书局是台湾最大的IT图书门市,它的技术书籍销售量,对于判断技术的热门程度,有一定程度的参考价值。

2002年全年和2003年上半年,天珑书局在.NET书籍的销售量都不高,但是在2003年下半年之后,.NET书籍已经有相当不错的表现,这意味着最近准备采用.NET技术的公司已经增加了。

我记得在Java推广初期,由于大家对于Java认知不够,所以对于Java有许多FUD存在。现在微软在推广.NET上,也遭遇到许多FUD,这是微软目前必须极力消除的障碍。如果你对于.NET也存有这些FUD,你不妨尝试着去破除这些FUD,就如同七八年前破除Java的FUD一样。你将会发现,就目前来说,.NET是一个非常有潜力的技术,值得投入。

    

xxsh97
2003-11-14 15:33
如果是只熟悉某个领域的人

实在不能去批评另外一个领域的

你认同蔡先生在 java 的领域研究的很透彻

想必除了你很多人都是这么认为着

但是这篇文章让"真正"懂 Java 的人大失所望

感觉上, 就像是一篇抹黑的文章

对 Java 而言有太多不实的指控

如同 TSS 发表的 J2EE vs .NET 比较

不公平的评论只会遭引批评

只要是明眼人都不难发现这篇文章的缺陷

打从一开始的引述到最后的结论

都不难看出断章取义的偏差

才会引起 Java 开发者的文笔讨伐

在开发语言的领域之中

孰优孰劣实在很难用几个字评断出来

如果今天是真正评论 Java 与 .Net 的核心

或是开发上面的比较

甚至提出效能上的数据

我想大家才能抛开意识型态去做尝试与比较及创新的设计

就如同 TSS 那篇评论之后

就有 jPetstore 的制作来驳斥与反对

至于蔡先生一味的粉饰着 .NET 的缺失

却使用惹人非议的论点来批评着 Java 的弱点

让人不由得怀疑是不是微软在蔡先生后面撑腰

Java 有没有缺点呢

当然是有..

Java 的最大缺点就是没有更方便的开发工具

造成了初学者的却步

以及在 desktop application 的效能还无法提升

造成了开发上的问题

但是大家都是在竞争中不断进步

.NET 的出现加速了 Java 的成长

这种成长的幅度

是蔡先生没有考量到的

更是令我感到惋惜的地方....

身为软体名人

更应该要对自己的言论负责

banq
2003-11-17 11:28
见我的一篇文章:

http://www.jdon.com/trainning/net_j2ee.htm

banq
2003-11-17 11:36
说句不客气的话:

这会学庸真的很庸俗,当初,跟从潮流,对Java辗转反彻,夜不能珉,发现自己差距这么大,学点皮毛,写了两篇基础技术文章,现在又对.NET频送秋波,真是古代一个庸学书生。

CSDN力捧的台湾那几个所谓名人,都过分重视具体技术,引导很多初学者误入一个死胡同,害得很多程序员再去学汇编甚至CPU二进制知识,痛心啊。

hellking
2003-11-17 14:12
我也说句不客气的话:

还以为他们是什么高人?

尤其对以下几句话不爽:

“如果你了解近二十年的软体产业发展史,你会发现微软挫败的机会很小,即使是在头几场战役失败,也会在整场战争中获胜。换句话说,.NET挫败的机会不大。在Office软体大战中,WordPerfect、Ami Pro、Lotus 123如今安在?”

难道微软一直胜利,微软永恒?

你要是从技术上论证.NET比J2EE好,那我还服你。

我看你微软给他送了点钱,估计比《java什么夜》的稿费都多,然后要他鼓吹.net。

猜你喜欢
3Go 1 2 3 下一页