我可能会发布一个过早的问题,也许我只是无缘无故地吓坏了,但Oracle处理Java的方式并不是很有希望。我是一个从一见钟情就爱上了Java的书呆子,并且一直在我的个人/自由职业项目中使用它,但现在我正在考虑替换它。
我也熟练使用C#/ VB.NET,但我正在寻找更像的东西:
我正在考虑妥协:用于Web开发(或PHP)的Python / Django,以及用于胖客户端开发的Qt。谁有更好的想法?
答案 0 :(得分:14)
不久前,我决定远离JVM。我踏上了蟒蛇,即使我不在专家/大师级别,我也不后悔。没有选择C#(考虑它)因为我认为它更相同。我已经知道(并且很多)C ++,所以python似乎是新的东西,这就是我想要的。
它满足了您的许多要求。特别是,我决定不学习PHP,因此python中的Web框架非常出色。
更不用说,Python有一个很大的community(也见here),总是渴望帮助和教学,我认为这非常重要。
只是我的两分钱。
答案 1 :(得分:6)
可能值得使用其他JVM语言 - Clojure和Scala是我个人认为最有希望的两种语言。
是的,你在JVM上,但你完全独立于Java语言,如果你不愿意,不必使用任何Sun / Oracle实现。
话虽如此 - 我认为你对Java过分担心,太多的玩家(包括甲骨文!)投入太多资金让它离得太远了。
答案 2 :(得分:3)
试试Scala。它看起来非常优雅和有前途。面向对象并以非常简洁的方式与java共享。
答案 3 :(得分:2)
你所说的一切都指向C#,除了开源点。
要解决此问题,请Mono。
答案 4 :(得分:2)
你可以尝试D.我的一句话描述为什么它是一个很棒的语言是它的通用编程/编译时内省/模板元编程设施足以让你几乎灵活的鸭类语言,而它执行速度和静态类型检查可以竞争或超过C ++和C#。
我认为它很符合您的要求。
答案 5 :(得分:1)
我也希望有另一种类似Java的技术。最近我一直在做Flex / Actionscript。虽然我非常喜欢它,但Actionscript技术严重缺乏Java的优雅。 Adobe可以编写一些优秀的跨平台API,但它们没有足够的资金来构建优雅的语言和编译器。我也尝试过Ruby,但Ruby的VM非常糟糕。在与其他技术调情之后我回到了Java,我认为这是因为语言足够好,但JVM是目前最好的。
那么你想继续使用JVM还是真的想完全离开JVM?保持JVM有很多选择:JRuby,Scala,Groovy,Javascript,Clojure是最重要的参与者。但是,有很多优秀的语言可以利用JVM的功能。
离开JVM还有很好的选择,比如python,ruby和erlang。但是你放弃了JVM的一些很好的功能,比如性能(大的),以及如果你需要速度,可以下载到像Java这样的好语言。其他人的意思是使用C或根本不使用。
我终于不再担心Java的未来了。 Sun竭尽全力搞砸了它,结果仍然相当不错。我认为Opensource对Java的成功影响要大于Oracle或Sun所能拥有的影响力。
答案 6 :(得分:1)
我还不能发表评论,所以我发布了与Python讨论相关的答案。虽然Python没有编译成机器代码,但是有一个名为Cython的Python-to-C编译器,它可以编译几乎所有有效的Python - 最终开发版本中的闭包(!)。它对Python社区的某些部分产生了很大的影响,例如,我最近在Euroscipy,超过一半的会谈提到了Cython。
答案 7 :(得分:0)
我个人不喜欢PHP,但它确实符合您的所有要求。它没有正式支持编译,但有Hip Hop项目将PHP编译为C代码。 Facebook目前正在开展此项目。
那就是说,我强烈反对你不使用它:)
答案 8 :(得分:0)
C#是唯一能满足您需求的东西,并且不会感到绝望,或者对有限的图书馆感到沮丧。对于开源/非窗口,请使用mono。这是CLR中大部分重要内容的良好,成熟的实现。
有些东西(WPF,WCF等)从单声道中“丢失”,但这些并不是平台的一部分,因为它们是特定于Windows的专有工具包。其中一些正在以单声道缓慢实施,有些则不是。来自java,你不会错过它们,因为你正在寻找一个平台和良好的标准库来构建,而不是gui工具包或whiz-bang通信框架。
对于使用“喜欢”java构建内容并提供类似功能级别的平台,C#+ CLR是最明智的选择。
答案 9 :(得分:0)
使用Cython你可以获得两个世界中最好的东西,在python中编码的能力,用C和C ++编写代码的能力,当然还可以编译你的代码以及使用两个python ac / c ++库的能力。框。如果你不喜欢C ++语法,cython语法就是python语法等等。