Welcome! Please see the About page for a little more info on how this works.

0 votes
ago in Beginner by

Hi all,

I've been advised that learning Java is necessary before diving into Clojure. However, my primary goal is to avoid Java altogether, not to master it. Isn't it counterproductive to become proficient in Java first just to learn Clojure?

Comparatively, learning Java first feels like navigating an ocean (Java) just to reach a small archipelago (Clojure). Java is vast and verbose, and mastering it can take years, not just a few months.

Is it possible to effectively learn Clojure without a deep understanding of Java? Any tips or resources to achieve this?

Because of this dilemma, I am reconsidering whether to continue learning clojure or switch to another one.

Thank you!

1 Answer

0 votes
ago by
selected ago by
 
Best answer

I've been advised that learning Java is necessary before diving into Clojure.

That was a bad advice. Learning Java would be helpful, but it's not necessary. And if you end up needing some Java, 95% of the time you need to know just the syntax, the behavior, and the specific functionality that you need - not the whole suite of things that Java offers in its standard library.

Java is vast and verbose, and mastering it can take years, not just a few months.

There's Java-the-language and there's its standard library. The first is not an ocean by any means - it's still larger than Clojure, but is definitely doable. You can get comfortable with all its main features in under a week.
And the standard library - just search online for a specific thing you need to do, when you need to do it. Knowing everything in advance would be helpful, but learning everything in advance is likely to be a waste of time.

Is it possible to effectively learn Clojure without a deep understanding of Java? Any tips or resources to achieve this?

I used the official reference, docstrings, the source code, and examples at https://clojuredocs.org/. Someone else would use books, tutoring, videos, etc. - it depends on what you prefer.

The first time I used Clojure in any serious capacity was to implement a take-home task at a job I was applying to. Ironically, the job was in Java and I didn't know Java, but they accepted solutions in any language. I haven't read or written a line in Java or even about Java in order to implement that task and get accepted.

ago by
Thanks for the detailed answer! It really put my mind at ease. I'll keep diving into Clojure.
...