Hacker News new | ask | show | jobs
by esrh 1313 days ago
This is really fantastic!

I've always felt like the lisp family could be a potentially killer educational language, with clojure being a good pick for its focus on functional ideas while being a bit more concise (and practical (looking at scheme)) than some other lisps.

Typically, most programmers start out with an imperative language and then eventually learn a functional language. I've wondered what it would be like to learn programming from scratch starting from key functional concepts like lists, map/fold/filter, recursion, and first class functions.

This kind of drawing program also has the benefit of making it simpler to explain some of the benefits of lisp-like languages specifically, in the sense of "wow i'm typing s-exps of the same structure a whole lot, I wonder if i could make it more elegant to type some how" -> macros.

Clojure has one of the heavier installation procedures, with its dependency on java. Plus, getting a decent repl environment takes at the very least installing rlwrap, and at the most emacs and CIDER. On that note, does anybody know of an all-in-one, simple, repl-focused, lightweight clojure IDE, like the IDLE for Python?

CLJS is looking pretty optimal. I only just played around with Maria, but it seems like a really friendly environment, especially the helpfully named functions, autocomplete, and of course the repl. It's overall super polished, 100% already rivals pygame and logo as educational tools which were super fun for me when I started programming.

1 comments

Have you ever looked into Racket?
Agree, Racket was my first PL (well, it was Scheme back then) and in hindsight it was incredibly refreshing to not have to fight the computer to get my program to work. No syntax errors (no real syntax to speak of), no gotchas, no UB, no integer overflow... the list goes on. It gives you the opportunity to sit back and just think through your algorithms, which is what I think beginners would most benefit from.
You’re right, that’s exactly where Racket really shines.