另外,你必须考虑到如果没有切换成本公司将会省下多少钱。一个Visual Studio副本的成本要远低于一个中等收入开发者的周薪和保险金。而且同一个开发者学会Java并且达到他擅长.NET的水平,所需要的时间要远远大于一周时间。
出于公平考虑,这种分析也同样适用于从Java转向.NET。相比于平台切换的痛苦,开发工具成本实在微不足道。当然也有两种例外情况。第一种情况是新建公司,那么不存在迁移成本的问题。在这种情况下,Java依然不具有成本优势,因为微软也已经推出了免费版本的Visual Studio(Express版),而且如果你的公司是新创公司的话,通过BizSpark计划,你可以免费获得三年MSDN和微软许可,它们还不错。另外一种例外情况是,一个公司具有非常高的服务器-开发者比例,例如谷歌或雅虎。此类公司可能有许多开发者研发运行在数千台服务器上的一个应用。在这种情况下,开发者工具并非节省成本的主要因素,但服务器空间是。对于面临这种情形的公司,Java(和其它开源技术)可以具有一个决定性的成本优势。
4、一个Java开发者需要了解多少脚本语言,才能实现.NET中的效率?
首先,你是否在进行Web开发工作?如果是这样,你可能需要了解一些JavaScript知识,并熟悉相应的框架。对于后端工作来说,知道一门动态语言或脚本语言不是强制性或必需的。尽管如此,在Java领域存在许多此种用途的不错选择。对于目前还不是一名Java开发者的人来说,我没有这方面的任何实际经验来介绍,但是我听到很多关于Groovy和Scala不错评价。如果你希望选择某些更主流的技术,JRuby和Jython是不错的选择。

有各种方式提高Java应用的性能
在过去数年中,JVM已经开始大量支持非Java语言,开发者现在拥有众多选择。学会其中一种肯定有助于你成为一个更好的开发者(即便你并不在实际产品项目中使用它们),可以让你在项目陷入困境时提供另一种方向。
Java是否会取代.NET?言之尚早。同时.NET也不会消灭Java。两者都有自己的优势和劣势。我认为,你最终选择它们两个中的哪一个,这要取决于个人喜好和当地职业机遇。