4 ms·
That's your opinion, but I spent weeks with the Clojure book and various exercises and could honestly never get past the syntax. Because of this I have zero in
by allover 9y ago
That's your opinion, but I spent weeks with the Clojure book and various exercises and could honestly never get past the syntax.
Because of this I have zero interest in working with a lisp day-to-day, but there are multiple C-style langs I'd be happy working with for a day-job.
I think GPP is right in asserting that most people just won't ever get over it, and you shouldn't be so quick to hand-wave their opinion away.
- lebski88 9y agoI introduced Clojure to a Java shop. We took 30 Java developers from zero experience in lisp to 100% Clojure developers. I have to say that my experience agrees with the parent. People didn't struggle with the syntax after a few days. They struggled with functional programming and immutability. At least to start with. I actually found it amazing how easily people moved over and how enjoyable they found it. Out of 30 people only one didn't take to Clojure. He moved to a C# team for a while but eventually decided to rejoin and pick Clojure back up. Obviously everyone is different but this was quite a good sample.
- kazinator 9y ago> They struggled with functional programming and immutability. So, i.e., they were struggling with just the stuff in Clojure that makes it a non-Lisp. Those programmers should have been informed that there are real Lisps out there in which you don't have to do functional programming, and things are mutable.
- willismichael 9y agoOf course any true Scotsman that wants to program in a real lisp wouldn't use Clojure.
- kazinator 9y ago> true Scotsman I'm not defending a generalization against counterexamples by trying to exclude them with a moving-goalpost definition. Mutation and pure procedural programming are part of Lisp. They are part of Lisp when they are bad, and part of Lisp when they are good. I've never shifted a definition of what is Lisp to exclude or include these characteristics in order to suit an argument at hand.
- lebski88 9y agoGlossing over the "real lisp" part ;-) Struggled to start with, sure. But ultimately for me those are the best parts. Immutability particularly. It takes a few weeks learn how to solve problems again but I do think it makes things simpler and removes a nice category of bugs. Actually maybe Java interop was the best part. Without that I doubt we could have picked up Clojure. It's far less true today but this was almost 6 years ago. Back then knowing there would be a library, even if we had to quickly wrap it was essential.