什么语言可以很好地替代Java?

什么语言可以很好地替代Java?,java,python,qt,programming-languages,replace,Java,Python,Qt,Programming Languages,Replace,我可能会提出一个不成熟的问题,也许我只是无缘无故地发疯,但Oracle处理Java的方式并不是很有前途。我是一个一见钟情于Java的书呆子,在我的个人/自由职业者项目中一直使用Java,但现在我正在考虑更换它 我也能流利地使用C#/VB.NET,但我正在寻找更像: 开源 汇编 跨平台 面向对象 大型标准库 大量文件 网络开发是一个主要优势 我在考虑一个折衷方案:Python/Django用于web开发(或PHP),Qt用于厚客户端开发。有人有更好的想法吗?不久前,我决定远离JVM进行探索。我踏上

我可能会提出一个不成熟的问题,也许我只是无缘无故地发疯,但Oracle处理Java的方式并不是很有前途。我是一个一见钟情于Java的书呆子,在我的个人/自由职业者项目中一直使用Java,但现在我正在考虑更换它

我也能流利地使用C#/VB.NET,但我正在寻找更像:

  • 开源
  • 汇编
  • 跨平台
  • 面向对象
  • 大型标准库
  • 大量文件
  • 网络开发是一个主要优势

  • 我在考虑一个折衷方案:Python/Django用于web开发(或PHP),Qt用于厚客户端开发。有人有更好的想法吗?

    不久前,我决定远离JVM进行探索。我踏上了python之路,尽管我远没有达到专家/大师的水平,但我并不后悔。没有选择C(考虑它),因为我认为它是一样的。我知道(而且很多)C++,所以Python看起来像是新的东西,这就是我在寻找的。 它满足了你的许多要求。特别是,我决定不学习PHP,因此python中的web框架非常有用

    更不用说,Python有一个大(也见),总是渴望帮助和教导,我认为这是非常重要的。
    只有我的两分钱。

    你说的一切都指向C#,除了开源点


    要解决这个问题,有一个方法。

    试试看。它看起来非常优雅和有前途。面向对象,并以非常简洁的方式与java共享大量内容。

    可能值得在其他JVM语言上研究一下——Clojure和Scala是我个人认为最有前途的两种语言

    是的,您在JVM上,但是您非常独立于Java语言,如果您不想,您不必使用任何Sun/Oracle实现


    话虽如此,但我认为您对Java担心得太多了,太多的玩家(包括Oracle!)投入了太多的资金,使它偏离了正轨。

    我也希望另一种类似Java的技术出现。最近我一直在做Flex/Actionscript。虽然我非常喜欢它,但Actionscript技术严重缺乏Java所具有的优雅。Adobe可以编写一些优秀的跨平台API,但他们没有资金来构建优雅的语言和编译器。我也尝试过Ruby,但是Ruby的虚拟机非常糟糕。在与其他技术接触之后,我又回到了Java,我认为这是因为Java语言已经足够好了,但JVM是目前为止最好的

    那么,您是想留在JVM中,还是真的想完全离开JVM?在JVM上有很多选择:JRuby、Scala、Groovy、Javascript和Clojure是主要的参与者。然而,有很多优秀的语言可以利用JVM的特性

    离开JVM,还有一些不错的选择,比如python、ruby和erlang。但是你放弃了JVM的一些优秀特性,比如性能(大的),如果你需要速度的话,也放弃了使用Java这样的优秀语言的能力。其他的意思是使用C或者什么都不用


    我终于不再担心Java的未来了。孙先生想尽一切办法把事情搞砸了,结果还是相当不错。我认为开源对Java成功的影响要比Oracle或Sun大得多。

    我还不能发表评论,所以我发布了一个与Python讨论相关的答案。虽然Python没有编译成机器代码,但是有一个名为Python-to-C的编译器,它可以编译几乎所有有效的Python——在最新的开发版本中,闭包最终是(!)。它对Python社区的某些部分有很大的影响,例如,我最近在Euroscipy,超过一半的会谈提到了Cython

    > P>你可以试试D.,我的一句话描述了为什么它是一个很棒的语言,它的泛型编程/编译时内省/模板元编程工具足够好,给你几乎鸭子类型语言的灵活性,而它的执行速度和静态类型检查竞争或超过C++和C ^。 我认为它很符合你的要求

    • 开源:参考DMD实现的前端是开源的(后端不是由于作者无法控制的限制)。将参考前端与开源后端(如LLVM(LDC)和GCC(GDC))粘合的工作正在进行中。对于D1(该语言的较旧版本),LLVM端口相当成熟
    • 已编译:D意味着要编译为本机代码,即原始的、难以理解的十六进制数
    • 跨平台:参考DMD编译器支持x86 Windows、Linux、Mac OS X和FreeBSD。GDC和LDC可能会支持更多的CPU架构
    • 面向对象:D不是一种“纯”的OO语言,在Ruby意义上一切都是对象,或者在Java意义上不支持任何其他范式。但是,它完全支持Java风格的OO作为语言的一个子集,以及过程式和函数式编程
    • 大型标准库:D1有Tango,符合条件。D2有火卫一,按照现代标准,火卫一还不算“大”,但比C或C++的标准库大。然而,最近有一个很大的兴趣,贡献和安德烈亚历山德雷斯库(其主要设计师)已经接受了几个新的贡献者,包括我自己
    • 广泛的文档:标准库和语言在Digital Mars网站上都有很好的文档记录。还有安德烈·亚历山德雷斯库的书
    • Web开发:这是一个公认的弱点。D还没有一个好的web框架,尽管它的原生unicode支持和优秀的泛型编程支持应该使编写一个相对容易
      • 我个人认为