论坛首页 综合技术论坛

论ozzzzz兄的“java是一种语言还是一种平台”

浏览 3083 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-02-27  
引用
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作为一种平台会失去其主流地位


小生才疏学浅,不敢妄论java是否将死,而且“java是一种语言还是一种平台”这句话比ozzzzz兄的拟的标题“java将死?”让我觉得更有意思。
在下愚见,java本身是一种语言,而非一个平台,虽然java程序运行于JVM之上,那也只说明java是一种解释执行的语言而已。
是什么让ozzzz兄觉得java一个平台呢,似乎是因为java要引入更多的script支持,但,java对于script支持,都是嵌入式的支持,在我们的程序里执行脚本,诚如ozzzz兄所言
引用

而一旦实现使用script代替xml,部署和热修改的问题将大幅度的缓解。这一点正好迎合了现在业务快速变化,而且出现了很多短时间一次性的业务的新情况。

但script替代xml是需要程序员编码实现的,而不是java自带的,只能说java对script提供支持的新的语言特性为script替代xml创造了可能。也许在这种新特性成熟之后,会在此基础上出现新的开发框架。
为什么说,“一旦引入script的支持,java更多的是一个平台,其语言的成分就会逐步的淡出。”?
为什么又说,“这种情况下java的对手就更加直接的是dotnet。”?对手没有的我有了,对手有的,我也有了,这不好吗?
“java的对手就更加直接的是dotnet”,这句话的潜台词是否是java将与dotnet将正面交火,最后惨败以致将死吗?难道java与dotnet目前的对手关系没有明确吗?
如果觉得我在废话,就忘了你所看到的文字吧,我似乎在讨论一个逻辑命题,而不是什么和java有关的东西,bull。

我想再废话一句,java不是一个平台,但他是一个世界。
写到此处,我不禁想问……何为平台?
   发表时间:2007-02-28  
嘿嘿,看来还是需要解释一些事情。
首先我取这个名字,来自“设计将死”。实际上也就是在暗示,我不相信JAVA会死,只不过JAVA将有所改变,就如同使用持续设计代替前置设计一样。当然很多人没有看过“设计将死”,产生点误解也就不奇怪。
另外一个问题就是java的平台性特征,实际上在这里我还有一个大的部分没有展开,也就是DSL和面向语言编程的部分,或者说JAVA的元语言要素的问题。当然这个方面要做论述,还需要等待2年来看SUN的行动趋势,不过至少目前来看引入AOP貌似是一个措施。不过还不够清晰,我们只能耐心一点了。

现在争论的问题,其实大多在于java平台性的意义。首先平台是指其提供了一些基础性资源,能够满足在其上运行一些新的非java自身所具有的要素。而这里并非所有的script都是需要程序员通过编程来实现的内嵌脚本,还有jython和jruby这样的东西。而java的一个可能方向就是提供更多的可满足性基础资源,以供这些将来的新元素利用。而实际上即使今天的xml,也仅仅是一种基于库的应用,而非基于java核心的功能。因此可以说这个方面还有许多事情要做。

至于java和.NET的竞争,我认为至少目前来看java胜算有70%,毕竟应用范围摆在那里。但是问题也是有的,比如就可移植性来说,java的混乱比不上.NET的单纯。不过事情也有两面,java这里的百花齐放也是一种活力。

不过真正的问题,还在于开源的java究竟会发展成什么。我个人是喜好python的格调,比如stackless,这样的东西就只能产生在python那里,而不会出现在ruby,更不可能出现在java那里。这一个EVE-online的影响,实际上要比ROR大数十倍。然而至少目前对于并行计算的需求还不明显,所以这个方向还不很热。不过一旦真的流行起来,java这个方面毕竟有些优势。当然python毕竟不是oz,java也不应该学oz,不过引入新的流行因素还是很必要的。
0 请登录后投票
   发表时间:2007-02-28  
这里讨论的一些趋势,我偏向于Java。.Not一直都是凭借其桌面端的应用发展起来的。我在几年前看见Flash的时候,就很奇怪,为什么不用它来开发桌面程序,现在Adobe开始这样做了。所以.Not在未来会腹背受敌。Flash加Java,以后吃饭不用愁的。
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics