Following the What do beginners struggle with? thread, I have decided to spend this week trying to improve the Getting Started with Clojure story. I have sill not fully wrapped my mind around what should be the result, but something like this:
- An article, Getting Started with Clojure, that leverages some of the findings in that thread mentioned. (I am especially inspired by what @jaco shared this weekend.) Supporting this article:
- A zero-install Getting Started project where Clojure is used with the REPL powering the edited files, building on Calva’s Getting Started REPL.
- A zero-install version of Rich 4Clojure, the editor (and Rich Comment Forms) based port of 4Clojure.
- A zero-install template for starting with a Clojure project.
- A zero-install template for starting with a ClojureScript project. (Probably will not get this far this week, but anyway.)
It’s the content of the article that is extra vague for me right now. I am not sure I can pull it off even, but I will give it a try. Hoping I will get you all’s help with feedback and tweaking.
The zero-install parts are important here, because even Calva’s Getting Started REPL is only zero-install if you have Java installed, which can be pretty far from a zero effort to fix. Again judging from the thread mentioned, installing things to get started throws many beginners off track with what seems to be a plethora of options and very little guidance on what is really important and what is not.
I will use Gitpod for the zero-install. It is a full root-access Linux root-access shell running in the browser and also a full-blown web based version of VS Code. Meaning Calva runs there, in your browser, without anything whatsoever needed to be installed by the user!
As the full picture is yet blurry to me I have started with a piece of it that is crystal clear. The Rich 4Clojure project. I have updated it with the necessary Gitpod configuration and given the README some extra love. Now anyone can start practicing with the 4Clojure problems, in the editor, from the web browser. Please give it some spins and please give me feedback:
The way the README is written right now, this should potentially already be something a beginner can use to start with Clojure. Though I still will create that other project as well where the focus will be just that.
A not so humble ask: I would love to do some user testing on this. If you or someone you know fits the description, Clojure Beginner, please consider contacting me so we can schedule a screensharing session where I can see and hear you think out loud while trying to use this project for getting started with Clojure.
Thanks in advance for any feedback!