4 ms·
It's not the only language with a REPL but in few languages the REPL is really usable. For example, I tried the Python REPL recently. It's not worth the effort
by raspasov 5y ago
It's not the only language with a REPL but in few languages the REPL is really usable.
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).
- iaml 5y agoHave you tried ipython or jupyter? Former is better than just python's repl and latter is pretty popular among datasci folks.
- raspasov 5y agoI have tried Jupyter, didn't meet my expectations. I will try iPython at some point. Thank you for the suggestions!
- globular-toast 5y agoI 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.
- raspasov 5y agoYes... That was my experience.
- mark_l_watson 5y agoTrue, 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.