3 ms·
So I worked exclusively in the statically typed (and imperative / OO) world for the first 10 years of my professional career. Several years ago I decided to le
by evanspa 11y ago
So I worked exclusively in the statically typed (and imperative / OO) world for the first 10 years of my professional career. Several years ago I decided to learn functional programming. I started with Scheme and moved to Clojure. I really enjoy Clojure; it's a real joy coding in it using Emacs with paredit (or smartparens).
I wrote a REST API using Clojure; the code also has to interact with a Postgres database. This is for a side project, but it's not a trivial code base. I definitely miss Java/Eclipse style refactoring (right-click, rename, and EVERYTHING is properly updated). Can't do that in Clojure. Also, I find that I have to write more unit tests with Clojure in order to make up for the fact the compiler can't help me. Not that I wouldn't write tests in Java; but I find I have to write more in Clojure to keep the codebase manageable.
So again, for me, I use unit testing to make up for the fact I don't have the compiler helping me as much.
- puredanger 11y agoThe Cursive IntelliJ IDE for Clojure does allow you to rename everything in this manner (even keywords used across your codebase). Others may as well, not sure.
- Hupriene 11y agoclj-refactor is coming along quite nicely... https://github.com/clojure-emacs/clj-refactor.el/wiki/cljr-rename-symbol https://github.com/clojure-emacs/clj-refactor.el/wiki/cljr-r...
- dkersten 11y agoProperty-based/generative testing should, at least hypothetically, reduce the amount of tests you need to write.