4 ms·
> It's not just a question of switching from imperative language X to clojure and seeing a huge productivity boost. It depends on who you are. I recently used
by craigching 13y ago
> It's not just a question of switching from imperative language X to clojure and seeing a huge productivity boost.
It depends on who you are. I recently used Clojure on a skunkworks feature for our product for which I had three days to complete. I am absolutely convinced that it was at least 3x smaller (LOC) and took me at least 1/3 of the time it would have taken in Java. I am an expert Java programmer and not a newbie to Clojure, but I still have to look up a lot of things.
The killer productivity feature of Clojure (LISPS and other languages) is the REPL. Trying things out, analyzing data structures, etc. is where I would have spent a ton of time in Java. Even if you're not an expert Clojure programmer, just using the REPL can save you tons of time.
So not necessarily disagreeing with you, but I also think that a non-expert in Clojure can still run circles around an expert Java programmer when considering productivity.
- rossjudson 13y agoI'm not disagreeing with you, but exactly what is it that you're doing in the REPL that you're not able to do in, say, Eclipse's Display view while having changes pushed into your program under debug (when it's able to)? Java disallows pushing some changes into the VM, but many changes go right in during debug.
- yogthos 13y agoIt's not about what's possible in principle, but whether the tools facilitate a certain workflow. When you work in Clojure everything is interactive. You can write a function evaluate it immediately, see the result, use it in the next function and so on. The workflow is very natural and you practically never have to restart anything. You can build up state in the application, see how things interact, reload functions add new functions, and so on. Using a debugger in Eclipse is a very pale imitation of this.
- craigching 13y agoThanks Yogthos, that is pretty much exactly how I would have responded :)
- taude 13y agoI hadn't ever used a REPL to facilitate my programming before utilizing Gradle & Groovy to code some build files. The REPL made it really easy to experiment with syntax and facilitated my learning as much as Intellisense used to when I worked in the Microsoft stack.