关注于业务,Java的开发平台使得程序员和开发商能够专著于问题的解决而不用花太多时间在底层的资源管理上面,同时很多种灵活的架构能够帮助我们更快的实现交付和配置。看起来是大公司和开发商的双赢,实质是这些商用平台的被依赖程度和售价越来越高。开发商的产品和程序脱离了某个架构平台就会成为废品。Java是开源了,但是Java并不自由。同理,我们可以使用Google appEngine来创建自己的程序----但是离开了google这个程序就是废品。米饭是免费的,只是菜贵的惊人。
在利润分配的环节,java和微软.net并没有本质的区别。相信Oracle会继续大力支持java,确实程序员可以用Java的JDBC写出"跨"数据库的程序,包括调用存储过程----别忘了后台的存储过程和数据库的厂家甚至版本是密切相关的,开放和开源并不能摆脱依赖。Java的开放,是非常有限的。
Java确实是一个平台,确实"跨平台",所谓的"跨平台",实际上是指跨越同一家公司实现的JVM。除此以外别无"跨"的地方。但是却依赖于某些开发和部署的平台产品,这是一个悖论,直接导致了Java平台仍然是个相对封闭的系统,和传统的UNIX主机系统相比,利润产生的分配的方式,没有变化。以前是卖硬件+操作系统平台,现在是卖web服务器+应用程序服务器平台;以前我们用C调用系统函数,现在用Java来填充框架。剥削方式没变,只是填空题的具体字眼变了,好像是对开发者更友好了。

只是以前被OS绑住手脚,现在被这些服务器绑住手脚;以前的困难是在不同OS之间迁移,现在的困难是在不同Server之间迁移。
有区别吗?真的要跨平台,就必须只有一种"JVM",只有一种"Web服务器标准",只有一种"应用程序服务器标准",等等。
Java的亮点在于开发和部署的速度,框架的存在也是为了牺牲设计的自由得到开发的速度,和开发人员设计架构的统一性,这是它具有的且仅仅具有的意义。
一个语言/平台的优点首先应当是为了创造价值。但这个价值的掌握并没有因为Java的开源而对开发者更有利。价值的流向仍然是大公司的垄断和封闭造成的。
内容来源:http://bbs2.chinaunix.net/viewthread.php?tid=1440931&extra=&page=1
欢迎大家一起讨论!