Fork me on GitHub
pez07:04:02 in the What do beginners struggle with? is highlighting several things to me. > I started (again) on Clojure after I gave up on my last try about 2 years ago. While there could be several reasons you take a pause in learning some big new thing, it still could be that in this case the path could have been paved in a way that they didn't need to drop the effort. > In most books or tutorial there a lots of references how this would be done in Java or Java Script to explain a certain issue or functionality. I mostly don’t find it helpful at all. Reagent is explained mostly for people who did work with React. That’s it. It’s like I try to learn Japanese, and I am explained by what is the word is in Chinese. Just as with the user assuming things in the unlearning process can create a bump in their road, us assuming things can also do it. Goes without saying, and I think using examples from common languages to contrast agains is a reasonable and good thing to do. But we probably need more easily discoverable approaches than we currently have. > I still fight 90% of the time to get somehow the dots connected between cljs-start, Leiningen, deps.edn, cli, figwheel, Calva, REPL. As stated, I never did Java or JS, so I don’t have any experience with maven or npm, or what is a typical way of setting up dependencies in project (I choose Clojure exactly because I don’t want to learn these languages or tools). None of the Clojure books I have or online resource I found does cover these things in a good way for beginners. I had a similar discussion in #calva the other day. The user (an experienced LISPer) was wondering if Figwheel was doing things in their project, even though it was a plain deps.edn project. (This is possibly my fault in that case for confusing users with Figwheel options in such situations.) I think we need Getting Started material that clearly and early establishes the roles between the different tools and options.

👍 5

Yes, as it is, clojure material seems settled on whether its identity could ever be removed even somewhat from Java, and not just the JVM. Similar for cljs I guess, though chances are as time goes on even surface familiarity with JS and the whole transpilation thing will grow, which might make that path easier to go down... maybe