4 ms·
I can speak to this a little, as I have the same aversion to the JVM. Despite wanting to get into Clojure multiple times, I always get hung up on getting going
by bmitc 4y ago
I can speak to this a little, as I have the same aversion to the JVM. Despite wanting to get into Clojure multiple times, I always get hung up on getting going with it. How do I install Java? Is this the "right" Java? How do I now install Clojure? Which project management thing do I use? There's this Leiningen thing but also this new Clojure CLI. Then it comes to IDEs, and they all work rather differently.
The first time I tried Clojure, I tried with Leiningen, but it dumped literally hundreds of lines of Java stack traces when something went wrong. So I stopped.
As a comparative example, how do I install F#? Well, you install the .NET SDK, and then you get F# automatically. When something goes wrong, I get good error messages that are tailored to F#.
I think it's a little misleading to ask "why do you care about the JVM?" because the answer is that "Clojure makes you care about the JVM".
Of course, maybe it's me. But I have no trouble using F#, Racket, Elixir, Erlang, or several other languages. Yet, I have struggled every time to get going with Clojure.
- __jem 4y agoI don't mean to deny your experience or sound rude, but it genuinely baffles me that you would have difficulty installing Java. I do not understand how it is different than installing literally any other programming runtime. How is installing the .NET SDK any easier than installing Java?
- bmitc 4y agoThat's not exactly what I said though. For Java in particular, is it Oracle JDK or OpenJDK, what's the difference, and why should I care? The latter is the same sentiment of the person I responded to. I don't care, but I'm presented with the different options depending upon which Clojure install guide I am following. It's really the experience in totality. There are choices, but for someone new to the Java ecosystem, it's confusing why and why should I care. Because in the end, I don't care. I just want to use Clojure, but there's decisions to be made at every step of getting going that aren't clear to someone new to the ecosystem. This same thing happened with .NET as well. At one point in time, there was .NET Framework, .NET Core, and Mono and a question of how to get F# in all that. That was just as, if not more so, confusing. However, it's since been cleared up: install .NET 6 or higher.
- kaba0 4y ago> For Java in particular, is it Oracle JDK or OpenJDK, what's the difference, and why should I care? I know it’s mostly about a sentiment, but if you or anyone is curious — there is basically none, OracleJDK is a fork of OpenJDK (which is the reference implementation) with basically negligible changes. License wise OpenJDK uses the same one as Linux so you can use it as you seem fit, while the current LTS OracleJDK (17) is free to use until the next LTS release + 1 year, but unless you need corporate support, you really have no need for that.
- bmitc 4y agoThank you for that information! It is helpful.
- gdw2 4y agohttps://whichjdk.com/ https://whichjdk.com/
- kaba0 4y ago<your-pkg-manager> install openjdk Pretty much whatever you do, you will get OpenJDK (all these options are forks with minuscule changes for the most part). If you do happen to need multiple JDKs I can recommend sdkman. But I think the java platform is pretty suckless, especially that it has probably the very best backwards compatibility.