6 ms·
Maria: A ClojureScript coding environment for beginners
- user3939382 4y agoNice since the 4clojure exercises went down, which I had a lot of fun with. * Just found this! https://4clojure.oxal.org/ https://4clojure.oxal.org/ Yess
- filoeleven 4y agoThis is really great. A zero-installation CLJS notebook would have already been cool, and Maria has that, powered by (defcell). It also has the shape library, which makes playing around with higher-order functions more intuitive to understand than just seeing a series of numbers as a result. It can also output HTML!
- esrh 4y agoThis 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.
- epgui 4y agoHave you ever looked into Racket?
- bobbylarrybobby 4y agoAgree, 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.
- canadianfella 4y agoYou’re right, that’s exactly where Racket really shines.
- zubairq 4y agoVery nice. Reminds me of LightTable in the early years
- h34t 4y agoDeveloper here. We wrote Maria 6 years ago, and this fall I accepted a ClojuristsTogether grant to bring it back into active development. We hope to simplify/modernize the codebase to make it something people can hack on top of to add features & apply to new use-cases. Repo: https://github.com/mhuebert/maria https://github.com/mhuebert/maria ClojureD talk introducing Maria: https://www.youtube.com/watch?v=CUBHrS4ZzO4 https://www.youtube.com/watch?v=CUBHrS4ZzO4 Description of 2022 grant work: http://blog.maria.cloud/2022/09/30/Maria-and-Clojurists-Together.html http://blog.maria.cloud/2022/09/30/Maria-and-Clojurists-Toge... I'll be posting updates to twitter, @mhuebert. Happy to answer any questions / hear ideas for improvement & extension.
- Royalaid 4y agoJust want to say love your work! Js-interop was super useful when I was working in clojurescript land.
- pgayed 4y agoExample gallery is quite beautiful! https://www.maria.cloud/gallery?eval=true https://www.maria.cloud/gallery?eval=true
- willsmith72 4y agoI was just looking for something like this to learn Clojure. Thanks!
- willsmith72 4y agoOne note: maybe I missed it, but it could help beginners to mention somewhere that you need your cursor outside of the expression to run it. Caught me up..
- katspaugh 4y agoThat's really cool, great work! I've been wanting to take https://lambda.quest https://lambda.quest in a similar direction. Interactive tutorials are the future!
- dsnr 4y agoWhat’s with this new fashion of using feminine names for tech products? Imagine being a woman, working in an office, and hearing your first name in random contexts. I see how that could become annoying.
- kgwxd 4y agoAs a Jason, you get used to it.
- dsnr 4y agoGood one :)
- hombre_fatal 4y agoShips are given female names too because, apparently, they used to be dedicated to goddesses. I do think even common female names sound more majestic to me than common male names for projects whether that's because of cultural tradition or because women are still abstract mysteries to me (jk). Fwiw, Travis CI never bothered me despite its ubiquity when I got into software dev. It's not really "random contexts". The context of whether someone is talking about me or CI is actually quite clear. It's 1000x more confusing when someone else shares your name in the office.
- rmetzler 4y agoMariaDB is a fork of MySQL and was introduced in 2009. Is this new? Other than that, Maria is also a male name although not very common. ~50% of humans are female and if there is a „trend“ for giving female names to software, yes, please do it more.
- dsnr 4y agoMy point is, I don’t recall seeing any tech product named “John”. We shouldn’t be using first names for random products regardless of gender. People somehow assume that female first names are somehow better suited as names for some software product, than male names. It’s new in the sense that I keep noticing them more often lately.