Hacker News new | ask | show | jobs
by gorjusborg 1168 days ago
> 2. REPL-driven development! Python also has a REPL. True, it isn't the best REPL imaginable, but as far as I can tell it has feature parity with Clojure's!

I'd say that the value of learning a lisp-y language is that it is very different from mainstream languages (but you'll notice that modern languages have borrowed many features, sometimes in a strange way). Learning a lisp is good because it can change the way you think, not because it's some magic technological wand that will solve all your problems.

The REPL comment above, though, shows that you might not be developing in a very idiomatic way. Clojure is usually developed with an editor (emacs, but there are others like Conjure/nvim & Calva/vscode) that sends s-expressions to be evaluated by a separate process (the REPL). The expression's value is sent back and displayed in line with the code.

The key thing here is that instead of building your program all at once and running it as a whole, you build the program one expression at a time, and when you are ready you can evaluate the program as a whole. It's hard to pick up these habits if you are working in isolation, but it is a very different way to develop software, and is big reason people like lisp-y languages.

Many languages provide a 'REPL', but don't support this style of development, which is really what people who know are crowing about.