4 ms·
I love Lisp, so I thought Clojure would be a great productivity booster. And it is, if you are a one-man or one-woman shop. But try to build a team around a C
by TheMagicHorsey 8y ago
I love Lisp, so I thought Clojure would be a great productivity booster. And it is, if you are a one-man or one-woman shop. But try to build a team around a Clojure project and it's another story. The language basically begs you to make "magic" happen with domain-specific constructs. That might make you feel powerful as a programmer, but it's also a nightmare for new team members to get up to speed on.
And then, as others have mentioned, it's hard to find Lisp programmers. Most programmers are turned off by the syntax and/or immutability. I happened to take a Lisp class as an undergrad, but I would otherwise probably be in the same boat.
- jimbokun 8y ago"Most programmers are turned off by the syntax and/or immutability." Programmers who don't see the value of immutability or can't understand it are not programmers you really want to work with.
- TheMagicHorsey 8y agoI know plenty of productive programmers who aren't even computer science majors, and just work in Javascript and Python. And I also know people who code in Rust and Haskell, and can never meet a deadline. Theoretical chops doesn't make a good programmer. Knowing that immutability is a good thing and abandoning the imperative style, or even being comfortable with a functional style, isn't a prerequisite to being productive in most organizations.
- jcadam 8y ago> Programmers who don't see the value of immutability or can't understand it are not programmers you really want to work with. I'm not disagreeing with you, but since you just described easily 90%+ of all working programmers, it's kind of unavoidable. One place I worked, one of the lead engineers knew I was into functional programming and asked me if I thought it would be a good idea to introduce Scala or Clojure into our pure Java code base. I said "No. The majority of the programmers here couldn't make the adjustment." Put another way, if I could assemble a hand-picked team of all of the engineers I would rate as "great" who I've worked with over my 12+ year career thus far -- I'd have a team of about 7 people.
- kbp 8y ago> And then, as others have mentioned, it's hard to find Lisp programmers. Most programmers are turned off by the [...] immutability. Most Lisps have very little in the way of immutability (except for C-style "undefined behaviour if you modify it"). They tend to be very dynamic, living systems, and making everything mutable is one way of enabling that. Some people favour a functional style, and a functional style is more common in some dialects like Scheme, but it's almost always essentially "imperative code with good support for higher order functions," and most Lisp programs have always mutated state freely. There are exceptions, but they are exceptions.
- iLemming 8y agoIt's a known fact that it's possible to build and maintain serious projects having only a few Clojure developers. And either because of that or for some other reason, it's been decided that it's hard to build large codebases in Clojure. That's not true though. I personally worked in a large, distributed team on quite large Clojure projects.