Re:Lessons on Writing JavaScript and React from ClojureScript
by globular-toast on Sunday May 09, 2021 @05:29AM
(#27094527)
I have used Python's REPL successfully before. You need to have an editor with a good "send to REPL" function. It works when you are writing a single script, like people do with Jupyter notebooks. I've worked with scientists over my shoulder in this fashion and it's really helped them understand what I'm doing for them.
Where it falls apart is when developing a "real" package that is split into several modules. You can't use it for that.
Re:Lessons on Writing JavaScript and React from ClojureScript
by mark_l_watson on Sunday May 09, 2021 @09:59AM
(#27095943)
True, this form of REPL development is not as good for large multiple file projects. I think that is OK. I start building software from the bottom, and a REPL session gets me one low level function written and debugged. I switch to using an IDE for “whole project” development.
For Clojure, I use all three: Emacs+Cider, VSCode+Calva, and IntelliJ+Cursive. I get something different from all three environments.
Re:Lessons on Writing JavaScript and React from ClojureScript
by raspasov on Sunday May 09, 2021 @06:34AM
(#27094842)
Yes... That was my experience.
For example, I tried the Python REPL recently. It's not worth the effort. Pervasive mutability in the language makes it basically useless for anything practical. No tooling is designed for it, and I believe it can't be without making a new language effectively. If somebody has really used a Python REPL to a great effect, I would like to see it, please let me know.
Clojure allows you to escape "place oriented, mutable-first programming" that is super easy to fall into with all other popular languages. You won't see a benefit if you just try for a day or two.
And yes, I do know what all of those do :) (using Clojure since ~2014).
In reality, you probably need ~20 functions to be productive in Clojure. It's much better IMO to memorize consistently named functions that don't ever change than figuring out what some specific string syntax means in some (new) language. That's just a benefit of being a Lisp, nothing specific to Clojure (in that case).