Java 编写中型/大型系统时出现的问题

Java 编写中型/大型系统时出现的问题,java,python,ruby,system,enterprise,Java,Python,Ruby,System,Enterprise,Python(我非常喜欢)和Ruby等语言有一些炒作,但我当时正在用Python编写一个中等规模的系统,我觉得如果我使用Java,我会缺少一些工具:Eclipse功能、JUnit集成和一些语言功能,比如在编译时捕捉一些错误 有人说Java作为一种语言已经死了。但大型重要软件都是用Java编写的:Hadoop、Lucene和许多其他软件 对于这样的中型/大型基础设施软件来说,Java是否比Python或Ruby更好?你说得对,Java更适合企业软件。这正是Java的闪光点:它非常适合企业编程 然而

Python(我非常喜欢)和Ruby等语言有一些炒作,但我当时正在用Python编写一个中等规模的系统,我觉得如果我使用Java,我会缺少一些工具:Eclipse功能、JUnit集成和一些语言功能,比如在编译时捕捉一些错误

有人说Java作为一种语言已经死了。但大型重要软件都是用Java编写的:Hadoop、Lucene和许多其他软件


对于这样的中型/大型基础设施软件来说,Java是否比Python或Ruby更好?

你说得对,Java更适合企业软件。这正是Java的闪光点:它非常适合企业编程

然而,你对Python和Ruby工具的抱怨是没有根据的。PyDev for Eclipse充分利用了使用Java开发时所享受的相同功能。Ruby为Eclipse提供了类似的插件。pyunit、nose等单元测试框架适用于这两种语言(我相信PyDev支持单元测试)。此外,就像Java编译器在编译时捕获错误一样,Python脚本在运行它之前会给出语法错误,并且(IMO)的错误系统比Java编译器更容易理解


由于Python和Ruby是脚本语言,它们的专业领域更多地在于小任务、快速开发和使用Django或Rails等框架。是的,像Java这样的重载语言对企业来说是很好的,但是Python和Ruby的优雅和易用性值得一提。

所有这些都非常重要。Python/Ruby中的一些特性使其成为比Java更具吸引力的产品。大多数时候,静态打字可能是你最好的朋友,而另一方则很痛苦

缺少工具与采用有关。Java/c的采用率更高

公司/企业和中大型组织喜欢通过合同而不是技术优势来采购解决方案

根据经验,Python确实存在一些速度问题,我不能对Ruby发表评论,但我认为如果您的应用程序需要专门的速度,我不会使用Python

线程和多核处理也不如python中的好,尽管2.7似乎改善了许多旧问题,但我认为GIL问题仍然存在于线程中


我对Java的唯一评论是,它现在有Oracle支持,这取决于您的位置和您对Oracle的喜爱程度,可能会改变您对Java的态度。特别是如果你的设计是为了开源解决方案

这类问题会变得很有争议。。。对于企业软件来说,大多数时候,关键因素是政治因素,而不是技术因素

如果你拥有这项业务,请坚持使用最符合你愿景的技术。如果不是,就使用Java——它在政治上更安全


在技术领域,这几乎是平局

我会在一周中的任何一天用人的生产力换取性能,因为现在硬件比开发人员便宜。@Paulo:完全同意。能够直接[几乎-]地解决问题(这一概念在Ruby中非常适用,而在Java中更不适用)是一个高效的开发人员。我们得到的报酬是生产性的,对吗?;)在某种程度上,所有语言都是平等的,有些语言比其他语言更容易做一些事情。如果你精通你的语言,那么大多数时候结果看起来都是一样的。这里到处都是秋千和回旋处。我学过几种语言,每种语言都有各自的优点和缺点。目前让我感兴趣的是F。完成范式转换,让我保持警觉:)“更好”的语言?你说的更好是指更快?更贵?更大的运行时内存占用?你说的“更好”是什么意思?+1:因为“更好”在问题中没有定义,所以它是主观的。既然它声称“缺少一些工具”和“Java已经死了”,它也是有争议的。@S.洛特:我说错了。我使用了问题作者使用的一些语言,当他所说的“系统”实际上是指“企业”。不管怎样,已经更正了“Java更适合企业软件”?如果没有“企业”的定义,这个答案似乎没有什么帮助。你能通过定义“企业”来扩展它吗?有争议的观点:在我的世界里,“企业软件”翻译成=>“更少的编码,更多的技术集成”,本质上是从现成的部件“组装”软件,而不是发明它们。坦率地说,在我7年的Java经验中,我从未见过这样一个概念,在我的整个职业生涯中,我在10多个组织中工作过。“Java更适合于企业软件”,只是因为在企业界,没有人会因为你选择了Java而责备你,即使事情不顺利。有了python或ruby,你会发现自己每天都会因为每一个小问题而被质疑十次。保罗:这是政治的一部分,也是现有框架的一部分