|
已锁定 主题:java将死?
该帖已经被评为精华帖
|
|
|---|---|
| 作者 | 正文 |
|
时间:2006-09-15
昨天我和robbin在电话里面谈了一下,又有了很多想法,觉得有必要讨论讨论。
在讨论开始前我说明一下,为什么我会把帖子发在这个版面而不在java版面。 1.我关心的是java将死这个论题的非技术影响,当然我并不排斥其技术影响。 2.我关心的是为什么会在现在这个时间讨论java将死这个论题。 3.我关心的是java将死这个论题对于现实的开发项目极其公司发展的影响。 围绕 http://blog.csdn.net/gigix/archive/2006/09/11/1210180.aspx 在csdn上产生了一场战斗。我想csdn的环境不太适合讨论这么富有刺激性的问题,因为那里很容易发生械斗。 ror我觉得robbin关于unix的说法是正确的,所以我说的ror不仅仅是ror,而是代表了像django和plons这些python和php以及cgi等下面的新框架。】 java将死?这个问题实在很奇妙。如果作为一场辩论比赛的题目是再合适不过的。 java这个概念究竟代表了什么,是一种语言还是一种平台,还是代表了上面的两者。是或者不是,这是一个问题。 如果是作为一种语言,我想从java1.0开始,java的变化已经是脱胎换骨,特别是未来的java6.0和7.0,其所代表的语言要素已经有太多的改变了。特别是最近java要引入更多的script支持,让人们觉得似乎sun低头了。但是问题在于java引入script到底是要解决什么问题,特别是要先解决什么问题。我的观点是,首先解决的就是xml的问题。关于这一点,我想已经有过很多的xml缺陷的讨论了,当初的一些分歧,会随着时间自然的解决。至少我已经从xml的拥护者,变成了怀疑者。而一旦实现使用script代替xml,部署和热修改的问题将大幅度的缓解。这一点正好迎合了现在业务快速变化,而且出现了很多短时间一次性的业务的新情况。关键的地方在于,一旦引入script的支持,java更多的是一个平台,其语言的成分就会逐步的淡出。这种情况下java的对手就更加直接的是dotnet。 问题是究竟什么力量会推动java走向平台,或者说发生什么事情会让sun掉头?实际上我关心的是什么情况下java作为一种语言会失去主流地位。 当然在讨论清楚这个问题之后,我们会进一步讨论当发生什么情况的时候java作为一种平台会失去其主流地位。 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |
|
时间:2006-09-15
作为副产品,我搞了一个未来主流语言的标准。
1. 应该能规范书写,而不是像c那样可以造就多种不同的风格。 2. 应该能即时的,最少要迅速的,显示出其运行的结果。 3. 应该能容易的在运行时被修改。 4. 应该能更加容易的被能很容易的被散发出去并且其所写的程序也应该更容易的散发出去。 5. 应该更容易被理解和掌握。 在这里1.的问题可以由新的scm工具来解决,但是如果语言本身就可以提供内置的书写风格约束,将更好的给学习和掌握这个语言提供帮助。因此1.还是很有意义的。而其他的好处不言自明。 |
|
| 返回顶楼 | |
|
时间:2006-09-15
ror系忽然的走红,以至于java人纷纷投入其怀抱。为什么?难道仅仅是ror能过更大的满足懒惰的天性?
robbin昨天跟我说,ror就是为了满足web2.0预备的。这一点我们不谋而合。而我认为web2.0只是一个新应用时代的开始,后面的商业规则将发生根本性的改变。而仅仅是这么一个开始,就让ror突然的膨胀起来。 而更加有意思的一个问题是,当这个新的时代开始,我们的开发过程和开放工具会不会发生变化?会发生什么变化呢?这也是我们今后要讨论的问题。 因此讨论java的未来,仅仅是我们这个漫长讨论的最开始。 |
|
| 返回顶楼 | |
|
时间:2006-09-15
当然这里也有很多政治的问题,我想这个方面的问题有8g嫌疑,大家注意把持尺度。不过我和robbin有一点是共同承认的,sun的技术层和管理层对于java的未来是有分歧的。
我把我对于这个问题的几个方面分在了几个不同的帖子,以便将来整理和归纳。 |
|
| 返回顶楼 | |
|
时间:2006-09-15
当一种完全超越现有硬件基础(比如网络)、业务基础的需求趋势出现时,java会“死掉”。
比如internet的普及,基于internet的业务需求也成为一种非常普及的需求时,c++“死掉”了,java普及了。 所以我认为,如果能有力量推动java彻底走向更宽泛的平台或其它革命性变化,那么可能有以下两个重要因素: >>硬件的革新 比如IPv6、千兆以太网、TB级骨干网、多核PC、3G、WLAN...的普及 >>业务需求永远得不到满足 比如现在web2.0来满足更多的业务需求,象更好的交互性。一边要赞叹其对比web1.0多么的优秀,一边又不得不看到对比desktop桌面应用是多么的不足,所以web2.0是过渡,用户根本不会长期满足现在web开发平台能提供的功能。 还有一个因素,我觉得对比上面两个是次要因素,就是软件基础平台的革命,就是直接和硬件平台打交道的那层,比如操作系统。 除此之外,历史上似乎没有其它决定性因素能导致一种普及的语言或平台“死掉”。 历史总是惊人的相似? 还是 历史总是创造惊奇? |
|
| 返回顶楼 | |
|
时间:2006-09-15
tianxinet 写道 当一种完全超越现有硬件基础(比如网络)、业务基础的需求趋势出现时,java会“死掉”。
比如internet的普及,基于internet的业务需求也成为一种非常普及的需求时,c++“死掉”了,java普及了。 所以我认为,如果能有力量推动java彻底走向更宽泛的平台或其它革命性变化,那么可能有以下两个重要因素: >>硬件的革新 比如IPv6、千兆以太网、TB级骨干网、多核PC、3G、WLAN...的普及 >>业务需求永远得不到满足 比如现在web2.0来满足更多的业务需求,象更好的交互性。一边要赞叹其对比web1.0多么的优秀,一边又不得不看到对比desktop桌面应用是多么的不足,所以web2.0是过渡,用户根本不会长期满足现在web开发平台能提供的功能。 首先我觉得B/S应用就很令人摸不着头脑,我更愿意使用基于web的三层结构程序来命名。 其次硬件的革新在最近已经快的让我们不能理解。而sun是不是就比我强多少,我也表示怀疑。同时现在java的情况已经距离sun当初说的网络就是计算机有了距离,因此在最近sun做出调整是可以肯定的。但是他们会做出些什么,我们还只能猜测。 其次业务需求随着新的开放环境的到来,已经变得不可琢磨起来。很多时候客户并没有真正的业务需求,而只是一些模糊的感觉。同时长尾理论现在越来越被众多企业人所接受,在这个情况下,更加有意思的事情就会发生。 |
|
| 返回顶楼 | |
|
时间:2006-09-15
ozzzzzz 写道 ror就是为了满足web2.0预备的。这一点我们不谋而合。而我认为web2.0只是一个新应用时代的开始,后面的商业规则将发生根本性的改变。 果真如此,那Ruby的基础真是极其脆弱。 对于大部分淘金者来说,web2.0是一场终将消退的泡沫。 Ruby仅靠一个Rails窜红,短时间内,使用量增加了14倍,根基本身就不牢固。 况且,Rails Ruby还宣扬不跨平台,Unix Like。 本来我以为,Ruby应该比Java更容易跨平台。后来发现很多扩展Ruby的同学在抱怨跨平台的C模块不好写。 这对于一门语言来说,简直是自绝生路。 Java就聪明许多,啥东西都能往上整。什么东西都可以用Java实现。不管适合不适合。比如,desktop。虽然大部分领域都不是特别出色,仍然造就了今日的大众语言霸主地位。 |
|
| 返回顶楼 | |
|
时间:2006-09-15
buaawhl 写道 ozzzzzz 写道 ror就是为了满足web2.0预备的。这一点我们不谋而合。而我认为web2.0只是一个新应用时代的开始,后面的商业规则将发生根本性的改变。 果真如此,那Ruby的基础真是极其脆弱。 对于大部分淘金者来说,web2.0是一场终将消退的泡沫。 Ruby仅靠一个Rails窜红,短时间内,使用量增加了14倍,根基本身就不牢固。 况且,Rails Ruby还宣扬不跨平台,Unix Like。 本来我以为,Ruby应该比Java更容易跨平台。后来发现很多扩展Ruby的同学在抱怨跨平台的C模块不好写。 这对于一门语言来说,简直是自绝生路。 Java就聪明许多,啥东西都能往上整。什么东西都可以用Java实现。不管适合不适合。比如,desktop。虽然哪个领域都不是特别出色,仍然造就了今日的大众语言霸主地位。 我并不看好ruby的前途。同时我再次强调我说的ror代表的是一类新系统。特别是python下的很多东西,比ruby要强多了。而python社区的人要低调的多。而且php和perl以及cgi下现在都出来了ror类系。同时就我观察国外的虚拟主机提供商现在支持python的忽然多起来,而ruby的还看不到太多的动作。特别是在中国这个环境下,我对ruby并不看好。但是我对ror系很看好。 web2.0是一场很快要消退的泡沫很正确,但是后面的实质的潮流将更加疯狂。这一点我后面会做出专门性的讨论。 而java的问题,在我看来就是现在什么都来一点,而什么都不很出色。这一点在前面各大企业纷纷走向internet的背景下是好的。可是下面的阶段将是internet将孕育出一些类似google的新型企业,在这个背景下java的地位将变得很尴尬。而sun我认为已经看到了这个趋势,因此它们希望做出某些改变。但是它们将如何改变呢? |
|
| 返回顶楼 | |
|
时间:2006-09-15
我们可以看一下目前java的主要应用领域:企业开发。
因为java有一堆所谓的企业级开发接口(jta\ejb\jms等),又有bea\ibm等推波助澜,java在企业开发领域得到了前所未有的发展。这些发展,靠的不是敏捷,不是平台无关,不是语言优雅,不是框架,而是规范和大公司的推动。 也正是因为这个原因,java出现了大批不入流的程序员,就像市面上n多的asp程序员。不管你用不用spring,用不用单元测试,用不用敏捷,java都在流行。要让java死掉,单单出现个ror是不够的,我们可以说ror是目前最合适的企业开发语言,但是他未必能够流行起来。而java虽然比较上去日趋没落,但是它依然在流行。就因为它有后盾,ror没有。 我们讨论问题时可能仅仅考虑技术因素:ror适合变化,适合复杂逻辑,符合性能要求,但是在大部分软件公司的非技术负责人来看,他没有流行,也没有巨头的推动,万一项目失败,责任就是我的,我不能用它。虽然很无奈,不过这至少是我们公司的事实。 所以,java要死掉,可能也很简单,什么时候bea\ibm们给人做咨询时突然都不推weblogic\websphere了,java也就死了 |
|
| 返回顶楼 | |
|
时间:2006-09-15
引用 sun的技术层和管理层对于java的未来是有分歧的。 后面的实质的潮流将更加疯狂。这一点我后面会做出专门性的讨论 而sun我认为已经看到了这个趋势,因此它们希望做出某些改变。但是它们将如何改变呢? 互动式gartner报告啊。:D 期待。 http://www.javaeye.com/post/138385 gigix 写道 有一个重要的目标:netbeans。 sun在过去的三年中一直对netbeans寄予厚望。原因很简单,在sun公司整个java的部分唯一盈利的组就是j2me,sun希望在开发工具市场找到另一个盈利点。但netbeans确实是不争气,就算在全球投入了那么多的市场经费,最后还是远远不如eclipse和idea的认可度。 jruby团队加入之后的一项重要目标就是让netbeans良好支持Ruby(以及可能Rails),因为即便现在最整合的Ruby整合开发环境 RadRails也是远远不令人满意的。重新洗牌之后netbeans是否会成为开发工具市场上的新宠,这对于Sun的意义甚至可能比Java语言本身还要来得大。 buaawhl: netbeans现在是免费的。成为新宠之后,打算如何赚钱? |
|
| 返回顶楼 | |









