Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I 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.



I 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.


Atom and the ProtoREPL package also make a great Clojure environment.

https://gist.github.com/jasongilman/d1f70507bed021b48625


I'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.


This. 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


Ah, now it makes sense. I came to Clojure having experience with Java and Emacs. I can see that learning the ecosystem surrounding these things can't be an easy task if you're doing it all at once.

As others have pointed out, there are more 'beginner friendly' options it seems. But, these seem overlooked, and I can see beginners not even being aware they exist.

If Clojure wants to see more mainstream success, the community is going to have to provide people with the things they want. Emacs is fantastic (I use it everyday) and I believe it is the best way to write Clojure, but the learning curve of Emacs + Clojure + Java is too great. Cleaning up the Java Stack Traces (I believe there are several projects that try to do this) in Clojure Core would also help with this.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: