1

我们目前正在用 C++、Rational Rose 和 Java 开发运营商级电信应用程序,以便在基于 Enea OSE 的嵌入式平台上运行,该平台为上述三种语言(实际上是 C、Rose 和 java)提供接口。

我有兴趣通过选择其他更高效的语言来提高生产力。我想听听您对我应该考虑哪些语言的意见。几乎它要么必须能够编译为直接在 PowerPC 处理器上运行,要么编译为 Java 字节码。

这些应用程序可能必须支持 20 多年,因此成熟度和(基于 Linux 的)工具支持(调试器、静态和动态分析器(如 C 世界中的 lint 和 purify、分析器、eclipse 插件等)至关重要。这些应用程序没有任何硬时间或内存限制,但效率是一个优势。

你们会建议什么语言?是否还有其他语言可以应对挑战?

4

2 回答 2

3

取决于你的目标。

对于长期支持和可维护性,您可能不会击败 Java。

对于生产力——这是个问题。

由于电信行业在测试和处理方面相当投入,因此减少代码行数并不是真正可以加快速度的事情。

如果您有一个非常聪明的小组,您可能会考虑使用 Scala,因为它 100% 兼容 Java 并且具有许多高级功能,但问题是您希望将来拥有 Scala 开发人员。

我不知道,总的来说,我会说做一个聪明的 Java 设计会比另一种语言更有帮助。也许在合适的地方将 Groovy 补丁作为脚本语言。

于 2009-06-22T17:19:07.697 回答
2

如果您愿意生活在最前沿,您可能想看看Clojure

  • 在 JVM 上运行
  • 完全编译,因此您可以获得相当不错的性能(我有足够的信心在其中编写游戏!)
  • 从头开始为并发而设计
  • 函数式编程 - 非常高效,支持强大的 LISP 风格的宏、惰性求值、实现 DSL 的工具等。
  • 与 Java 集成得非常好——在某种程度上,我在 Eclipse 环境中的同一个项目中混合了 Java 和 Clojure 文件,并且在 Clojure 和 Java 之间来回调用实际上是零开销。这对我来说非常重要,因为我有很多 Java 代码,我不打算很快重写!
于 2010-07-16T14:23:04.600 回答