4 ms·
Mind if I ask what isn't clicking? I've had the exact opposite experience, and have found it very easy to incorporate different libraries. Do you have experienc
by madmax96 10y ago
Mind if I ask what isn't clicking? I've had the exact opposite experience, and have found it very easy to incorporate different libraries. Do you have experience with other lisps? There's certainly a learning curve with clojure and its frameworks.
- throwaway7645 10y agoEverything assumes you're a Java expert.
- justinhj 10y agoI think that's fine. I wouldn't recommend serious use of a language that targets the jvm without a decent knowledge of Java
- cutler 10y agoI came from Perl with zero Java when I learned Clojure and found it very easy. That was 3 years ago and apart from the occasional Integer/parseInt I've hardly ever needed to dip into Java. As Clojure is a dynamic language it's a much cleaner departure from Java than Scala or Groovy where OOP still plays a big part. Clojure can be a truly liberating experience if you've spent most of your programming life working within the OOP straightjacket.
- throwaway7645 10y agoLegacy Perl or Modern Perl with Moose, DBIx::Class, Catalyst...etc? Just curious.
- cutler 10y agoMostly modern Perl but I was happy without the OOP so Moose and friends were no big deal for me. Catalyst I always considered a lumbering beast with no chance of competing with Ruby on Rails. I'm saying Clojure was easy for me because I'd favoured the procedural Perl way for many years so wasn't so infected with the OOP mindset.
- pjmlp 10y agoJust like to use UNIX one needs to be comfortable with C, OS X comfortable with Objective-C, .NET confortable with C#, Web confortable with JavaScript and so forth. When one needs to look under the hood to solve performance or FFI issues, it is a requirement to know the "systems" language of the host platform, regardless how much we might love/hate it.
- WillPostForFood 10y agoI think there is too much cognitive load in the first stages of learning Clojure for people who haven't had experience with functional programming, Lisps, Java, and Emacs on top of that if you are following Clojure for the Brave and True. So to barely get started you are tackling a new programming paradigm (functional), a new syntax (Lisp), getting error messages in Java, using tools that are complicated to setup and use. I think a lot more people would take on learning the language if the day 1 experience was more friendly. Simple tooling, simple install, simple error messages. Something more like Racket offers. Then the initial learning could be more focused on functional programming, and the syntax, which is more rewarding.
- pgt 10y agoI still teach in and prototype in Light Table, even though it is losing its "instarepl". Live evaluation visually matched up to an expression removes a lot of the cognitive load. Clojure stack traces are a big mental overhead.
- zdkl 10y agoThis. I wish the book would refer to lighttable instead of emacs so as to be considerably more portable and easier to get into. I recommended that combo to a non technical friend and he's happily scooting along after a short primer on (lein) repl vs (windows) command prompt vs lighttable inline evaluation
- tosh 10y agoAtom and the ProtoREPL package also make a great Clojure environment. https://gist.github.com/jasongilman/d1f70507bed021b48625 https://gist.github.com/jasongilman/d1f70507bed021b48625
- WillPostForFood 10y agoI've tried just about Clojure IDE/editor, and this is probably my favorite. But still I think it is tough for a beginner. 9 packages to install, editing config files, the ProtoREPL tutorial doesn't include Mac keystrokes. The problem for a beginner is you follow all these steps and you don't if you are doing it right - there is no feedback. Once it is up and running, it is really nice. To be beginner friendly, it would be good to have a packaged installer that pre configures and installs everything, or a single Clojure/ProtoREPL package that could be installed in Atom that includes all the dependent packages, and config changes.