对Python这样的语言(我非常喜欢)和Ruby有一些炒作,但是我用Python编写了一个中型系统,感觉缺少一些工具,如果我使用Java,我会有这些工具:Eclipse特性,JUnit集成和一些语言功能,比如在编译时捕获一些错误。
有些人说Java已经死了作为一种语言。但是大型重要软件是用Java编写的:Hadoop,Lucene和许多其他软件。
对于像这样的中型/大型基础架构软件,Java是比Python还是Ruby更好的语言吗?
答案 0 :(得分:1)
你说Java更适合企业软件,这是有道理的。这正是Java所瞩目的地方:它非常适合企业编程。
但是,您对Python和Ruby中的工具的抱怨是没有根据的。 PyDev for Eclipse充分利用了您在Java中开发时所享有的相同功能。 Ruby有一个类似的Eclipse插件。两种语言都存在单元测试框架,如pyunit,nose和其他语言(我相信PyDev支持单元测试)。此外,就像Java编译器在编译时捕获错误一样,Python脚本在运行之前会出现语法错误,以及比Java编译器更容易理解的错误系统( 由于Python和Ruby是脚本语言,因此它们的专业领域更多地放在小任务,快速开发以及使用Django或Rails等框架上。所以,更多像Java这样的重型语言对于企业来说非常有用,但是对于Python和Ruby的优雅和易用性来说,还有一些东西可以说。
答案 1 :(得分:1)
这类问题可以说得很有争议......对于企业软件而言,大部分时间关键因素是政治问题,而不是技术问题。
如果您拥有自己的业务,请坚持最适合您愿景的技术。如果没有,请使用Java - 它在政治上更安全。
在技术领域,它几乎是一个平局。
答案 2 :(得分:0)
真的非常多。 Python / Ruby中有一些功能,你知道这些功能使它们比Java更具吸引力。静态打字在大多数时候都是你最好的朋友,对另一个人来说是痛苦的。
缺乏工具与采用有关。 Java / c#的使用范围更广。
企业/企业和大中型组织,喜欢采购合同而非技术优势的解决方案。
根据经验,Python确实有一些速度问题,我不能评论Ruby,但我想如果你的应用程序需要专用速度,我就不会使用python。
线程和多核处理并不像python那样好,虽然2.7似乎改善了很多旧问题,我认为GIL问题仍然存在于线程中。
我对Java的唯一评论是它现在有Oracle支持它,并且取决于你的坐位和你喜欢Oracle的方式,可能会改变你对Java的态度。特别是如果你的开源解决方案的设计。