gpt4 book ai didi

java - Clojure 和 Java 之间的界限在哪里?

转载 作者:搜寻专家 更新时间:2023-10-30 19:44:40 24 4
gpt4 key购买 nike

关于我正在使用 Clojure 和 Java 开发的应用程序,我有一个有趣的架构问题。该应用程序涉及大量需要编排的密集型并发数据处理任务。

下面是混合使用 Clojure 和 Java 的基本原理:

  • 一些漂亮的CPU 密集型数字代码 需要 Java,我需要优化算法以在 JVM 上尽可能快地运行。 Clojure 还不能完全做到这一点,而且这样的代码在 Clojure 中不是很惯用,因为出于性能原因,算法需要大量可变数据。
  • Clojure(恕我直言)在编排应用程序的整体流程方面要好得多,因为它对函数式编程、REPL 的交互式动态开发和并发特性提供了出色的支持。

鉴于我同时使用两种语言 - 我应该应用什么逻辑或原则来确定两者之间的分界线?特别是,我对如何设计一个适当级别的 API/接口(interface)感兴趣,以利用两种语言的相对优势。

最佳答案

如果不评论您对 Java 和 Clojure 的相对优势的看法,并假设您至少进行了一些微基准测试以验证假设有一定的正确性,那么正确的方法似乎是离开Java只针对需要优化的部分。

负责数字代码和计算的类应该用 Java 编写,其他所有内容都用 Clojure 编写。我什至会采取更激进的方法,只设计不同的类,以便它们可以用 Java 编写,但实际上用 Clojure 编写它们,如果性能证明是个问题,则用 Java 重写它们.

关于java - Clojure 和 Java 之间的界限在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4759117/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com