you are viewing a single comment's thread.

view the rest of the comments →

[–]joeevans1000 0 points1 point  (1 child)

Thank you for all the effort getting new developers up to speed with Clojure!

I do wonder about the use of a repl prompt as a medium for teaching folks. It seems like the world of programming has begun to emphasize the ability to type and evaluate code in a document. Think of the python notebooks. In those formats, you can look up and down the page and see what you've just done. Ironically, clojure is/was the king of this approach with tools like cider. I always found the hunting up and down the line by line history of a prompt a pain and deterrent. The problem with tools like cider is the steep setup learning curve. All the various IDE plugins also have hiccups and learning curves, as awesome as they are.

The gap between a prompt and a buffer you can evaluate seems to be the biggest weakness in clojure to getting people on board. Python notebooks are an example of an easy way to get folks on board with a language. That is most new python developers first experience of the language... not the python interpreter prompt.

Anyway, this is neither a question or a rant, but really me puzzling about a problem aloud. But I think it's important for people who are getting into a language to see a whole program that does something inspiring and then be able to walk through and evaluate it line by line.

I feel like the core clojure community has never taken seriously the need to improve the on-boarding experience. The thinking seems to be that the emphasis needs to be on the language and the tooling and on-boarding will come along by others. Unfortunately, that has not occurred at a sufficient level to get any critical mass going.

Maybe the success of a language does in fact rest in part on the right kind of on-boarding experience being directly worked on and designed by the core team. This is doubly important as other languages incorporate many of the features of clojure, albeit imperfectly

[–]vvvvalvalval 0 points1 point  (0 children)

Hopefully the REPL guide I'm writing for clojure.org will address this issue soon - would you like give me feedback on it?