java - 学习 Java,以便我可以使用 clojure

标签 java clojure jython

<分区>

我有一个讨厌 Java 的历史,在 90 年代后期“慢如球”的时代经常使用它。因此,我从来没有真正学好它。据我了解,如今 Java 实际上是一种非常好用的语言。由于 Jython 和 Clojure,我一直在考虑深入研究它。也就是说,我想用 Java 编程并在适当的地方使用内联 Jython 或 Clojure。但说实话,我可能只是用 Jython/jRuby 编程并从那里调用 clojure。

这让我想到了我的问题。我知道这两种语言都可以从 Java 调用,但这一定是好的做法吗?如果我只想使用 Jython 作为主要语言,我是否还要学习 Java?鉴于这是我在这里的很大一部分动机,我想知道在进入之前我并没有被误导。我知道如果用多种语言完成项目有很高的风险成为一个拼凑的项目像这样。

我仍在学习 JVM 等方面的知识,所以如果这个问题很明显,我深表歉意。

最佳答案

Jython 可以看作是从 Python 到 Java 虚拟机的交叉编译器。因此,要充分利用 Jython,您显然必须学习 Python,并且可能需要学习 Java。

您可以跳过一些 Java 学习,但归根结底,Java 和 JVM 是一起成长的。这意味着 Java 代码倾向于帮助理解 JVM。不使用 Java 也可以了解 JVM,但这不是一条很好的途径。任何导入 Java 库的 Jython 代码都会让您立即搜索 Java 文档,因此如果您避免学习 Java,无论如何您都将逐步学习它。

您必须决定是零散的方法还是正式的方法更适合您和您的情况。决定走哪条路的关键在于了解如何学得最好。

就上世纪 90 年代的“慢如球”时期而言,那是我学习 Java 的时候。就我个人而言,我觉得将它描述为“如果你用 Java 做了难以置信的蠢事,就会像球一样慢”更好。现在我认为人们已经建立了足够的技能来避免将 C 直接翻译成 Java。也就是说,我偶尔会遇到 2000+ 线方法,所以我的预测可能有点乐观。整个 JVM 的布局方式使得良好的面向对象代码运行得更快,如果您不断尝试转到“其他”对象以获取您在本地需要的所有数据,那么您只会对 JVM 造成影响。

不管怎么说,JVM 现在是 Java 的热门项目。十多年来一直以一种或另一种方式提供“其他语言”支持;然而,围绕领域特定语言的兴奋似乎激发了人们对编译技术和 JVM 的兴趣。其他语言受益于 JVM 是一个容易攻击的目标,具有内置的跨平台支持、出色的性能、大量可用的库以及通常良好的文档。学习 Java 和 JVM 将帮助您解决很多问题 JVM supported languages ,因为他们中的许多人并没有充实他们的库空间,而是支持连接到纯 Java 库。

关于java - 学习 Java,以便我可以使用 clojure,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5721496/

相关文章:

clojure - 为什么在 Clojure 中尝试使用辛普森规则时会出现强制转换错误?

java - 使用 Google Guava 库进行 Android 开发是个好主意吗?

java - 在 Java 中使用 XSLT 将 HTML 转换为 XML

java - 使用 Java 反射,如何获取指定构造函数参数的派生类的类的构造函数?

java - 在 jython 中使用 mapi 发送邮件

macos - 在 Mac 上安装 Jython 的最佳位置

java - 如何在 Jython 中使用 win32com 模块

Java解密加密兼容SJCL?

java - servlet 到 JSP 以及 JSP 到 servlet 上的变量

java - 如何使用 clojure 的 Gen 类生成静态方法?