1

为什么大多数代理研究和工作都是用 Java 完成的?开发人员似乎完全避开了 .net 框架是有原因的,还是因为 .net 比 Java 更商业化,研究人员没有谈论它?

4

4 回答 4

12

关于为什么使用 Java一个假设:研究人员主要受雇于大学。研究人员通常不编写代码——靠拉面为生的研究生为他们编写代码。大多数大学只是普通 java 程序员的工厂。因此,大多数研究都是在 Java 中完成的。

关于为什么不使用.NET 的另一个假设:暂时不考虑 Mono,.NET 与 Microsoft 的操作系统相关联。研究中心提供的工作环境很可能没有运行 Microsoft 操作系统/实用程序。

它肯定与商业可行性无关——Java 与 .NET 一样“商业”,就其价值而言。

于 2009-10-28T13:14:57.533 回答
5
  1. JVM是跨平台的。
  2. Java 有很好的并发编程支持。
  3. 广泛的 3rd 方库,几乎可以想象到的所有内容。
于 2009-10-28T13:15:46.247 回答
3

.net (MS) 需要投资购买操作系统和开发平台的许可证。Java (Sun) 和目标操作系统基本上是免费的(您为支持付费),经过企业验证并且该语言广泛传播。

基于代理的编程在扩展场景中很重要。在 .net (MS) 上扩展意味着要投入大量资金!

于 2009-10-28T13:36:18.167 回答
1

显而易见的答案是,您愿意花时间在任何事情上,Java 都是免费的(就像啤酒一样)。除了硬件,您还可以运行 Linux(或 Open Solaris 等)、免费的 JVM、大量免费的 API——这是文化的一部分,免费鼓励免费。

Microsoft 生态系统更像是随用随付的环境。许多在 Java 世界中免费的工具在 Microsoft 世界中只有付费选项。

在研究领域,你有很多工资过低的研究生,人力要便宜得多,所以商业许可工具节省人力的表面上的好处并没有那么大的好处。除此之外,可能需要一个研究项目在广泛分布的机器上运行。当这种情况发生在商业环境中时,商业实体正在赚钱(例如,一家电子商务公司需要增加其集群中的机器数量 - 他们正在获得更多流量、更多销售、更多资金,以便他们可以消费增加基础设施)。在研究中,商业软件增加的许可要求不一定以其潜在的经济性为理由。

总而言之,Java 获得了偏好。一旦发生这种情况,它就会成为每个人都在谈论的工具,并且效果会滚雪球到 .NET 被挤出的地步。

当然,您会发现上述所有情况都有例外,但关键是它概述了趋势。

于 2009-10-28T13:56:37.723 回答