首页 文章

在后Java世界中,Linux在Linux上的最佳语言/平台是什么?

提问于
浏览
8

我需要为SOA中的一系列服务的新开发选择一种语言/平台 . 我正在研究Scala和Clojure,但不认为社区和产品已经足够成熟,可用于实际的企业产品 .

Update/Clarifications:

  • 当然,我们可以使用多种语言/平台来实现SOA,但是某些语言/平台更容易,更适合SOA . IMO最适合SOA的应该允许接口编程(以简化 Contract 的定义),应该有托管服务的选项(如Felix for Java或WCF in .NET)并且可以很好地扩展(参见RoR的Twitter问题) .

  • Java一直是企业市场的最爱 . 但是,许多开发人员正在研究动态语言以及在v6之后谈论Java的停滞 . 因此,许多新的Java语言已经到来:Scala,Clojure和Groovy,仅列举一些仍在JVM上运行但不是Java的语言 .

我希望这些澄清这个问题 .

3 回答

  • 17

    取决于你所说的“足够成熟的现实企业产品”,以及你对生活在最前沿的容忍度的相对水平 .

    例如,我目前正在Clojure中构建一个“真实世界的企业产品”(我对Scala一直很满意,只是Clojure从并发和元编程的角度来看我的需求稍微好一点) .

    我对我的决定非常满意 .

    如果您正在考虑这种“后Java”路径,请快速了解一些观点:

    • 这些社区很棒并且很支持,但你仍然必须自己解决问题,只是因为没有其他人遇到过同样的问题 . 这些都不可能是不可克服的,但它确实给交付时间表带来了一些额外的风险 .

    • Scala和Clojure都可以非常高效(就每小时编码提供给客户的 Value 而言),但您也可以在任何语言中编写糟糕且不可维护的代码 . Java几乎迫使你用标准化的,有些冗长但语法简单易懂的方式编写东西 . 通过Scala和Clojure,你可以获得一个全新的疯狂方法,可以击中目标或射击自己 . 您的团队是否能够充分利用Scala / Clojure的优势?

    • 使用现有的Clojure / Scala技能将技术人员带到船上更难(尽管绝不是不可能) . 另一方面,拥有这些技能(或者渴望获得这些技能)的人可能是更有才华/更有动力的开发人员,因此搜索可能仍然富有成效 .

    • 准备好就是否针对“即将到来”的语言/图书馆功能做出艰难的决定 . 例如,您是否在等待Clojure 1.3中的增强原始支持?或者在Clojure 1.2中使用完全适当但速度较慢的盒装原始函数?

    • 加入JVM的一大好处是,您仍然可以充分利用Java生态系统,而不必将Java作为一种语言 . 不要低估这是多么有用:例如,我在Clojure应用程序中使用了许多经过严格测试的成熟Java库(例如Netty) . 这可以显着降低您需要执行的风险和新开发量 .

  • 1

    目前(刚刚完成了一个服务/集成项目),在Spring上面的Jersey就在我最喜欢的Web服务列表上 .

    我不能为SOA框架提供任何建议,上次我参与了我们使用Oracle BPEL流程管理器的那种事情,我对此感到复杂 . 我们之前也没有使用REST,我不确定Oracle软件的运行情况 .

  • 1

    对我来说,python似乎是做一些SOA并与Windows计算机具有互操作性的最简单方法 . 我没有框架名称,但在SOAP,REST,RPC中有很多它们...

相关问题