Clojure和Java之间的界限在哪里?
2022-09-04 03:37:21
我有一个有趣的架构问题,关于我正在使用Clojure和Java开发的应用程序。该应用程序涉及许多需要编排的密集并发数据处理任务。
以下是混合Clojure和Java的基本原理:
- Java是一些非常CPU密集型的数字代码所必需的,我需要优化算法以在JVM上尽可能快地运行。Clojure还不能完全实现这一点,这样的代码在Clojure中不会很习惯,因为出于性能原因,算法需要大量的可变数据。
- Clojure(恕我直言)更适合编排应用程序的整体流程,因为它对函数式编程,REPL的交互式动态开发和并发功能提供了出色的支持。
鉴于我同时使用这两种语言 - 我应该应用什么逻辑或原则来确定两者之间的分界线?特别是,我对如何设计一个API/接口感兴趣,该API/接口将处于适当的水平,以利用两种语言的相对优势。