4 ms·
I've never been a huge fan of lispy syntax, but I've never been a big hater, either. Personally, I find the square brackets and curly braces to be just enough a
by mumblemumble 6y ago
I've never been a huge fan of lispy syntax, but I've never been a big hater, either. Personally, I find the square brackets and curly braces to be just enough additional texture to make the code plenty readable, as long as you're using a good autoformatter. (Letting people make their own decisions about code formatting in any lisp seems to be a very quick route to a very bad time.) What I find, though, which makes me sad, is that many people knee-jerk reject any non-ALGOL syntax (Lisp, but also Smalltalk, ML, Prolog, whatever). To the point that I fear that not being able to understand the syntax becomes a point of pride. It reminds me a bit of the sort of asymmetrical intelligibility of Metropolitan French and any of the Canadian dialects, a situation where I also get the impression that the difficulty in understanding is more than a little bit deliberate.
So there's that. But I also do find that Clojurists have not been immune to some of the snootiness that seems to infect most functional language communities. And I wonder if some of the reaction comes from that, combined with Clojure maybe bumping into the rest of the world more often due to its identity as a JVM language.
- thom 6y agoYeah I do see this attitude and it’s sad, I guess it’s hard to create a new language on an existing runtime and not try to market it (and convince yourself) that it’s better than the alternatives, but no doubt it goes further than that. Which is a shame because again, I think Clojure is good because it’s fairly pragmatic. It feels to me much more a product of software engineering knowledge than computer science knowledge (despite fancy and useful theoretical stuff like transducers, which of course exist in many places now).
- mumblemumble 6y agoI'm inclined to agree. For me, Clojure feels like the one alternative JVM language that really offers a more-than-merely-incremental productivity boost over Java for a lot of everyday problems. (Scala also has its strong spots, but I find them to be fewer and further between.) And also, conveniently, it lets you really easily switch to Java for the bits that Java does better. It's maybe the quintessential Cassandra language, though. As a dynamic functional language, Clojure is a great complement to Java. And, while I've also never really been comfortable with macro programming, compared to Java's accumulated decades' worth of XML and code generation and bytecode munging and and dependency graphs that have been sent through a wood chipper by annotations, s-expressions and macros strike me as a delightfully clean and maintanable-looking breath of fresh air. But all that stuff also makes it a bit of a tough sell among the kinds of folks who haven't long since abandoned Java for a language like Ruby or Python. A bit like trying to sell tie-dyed shirts out of a VW bus at a Barbara Streisand concert.
- viksit 6y agoCould you elaborate on what “ A bit like trying to sell tie-dyed shirts out of a VW bus at a Barbara Streisand concert.” means here? I’m not sure what the colloquial terms actually mean :) is it that Streisand concerts were fashionable and tie dyes weren’t?
- bitwize 6y agoTie-dye T-shirts and VW buses are associated with the hippie subculture in the US. A group of people much more likely to listen to Bob Dylan or Creedence Clearwater Revival than to Streisand. Likewise, the sort of people associated with Streisand concerts -- mainly well-to-do, cosmopolitan, white (especially, but not exclusively, Jewish) women -- would not trust a shaggy man with a rusting VW bus with their money, let alone be interested in his handmade wares when there are perfectly good boutiques on Fifth Avenue (or Rodeo Drive) to patronize if they are in need of clothing. OP was trying to imply that the people who still use Java have fundamentally different tastes than dynamic-language programmers, and so evangelizing Clojure to them would be a fundamental mismatch in tastes, like a hippie trying to sell to upscale white women.
- goggles 6y agoJews are not white.
- mumblemumble 6y agoJust for clarity, I was only going for the "fundamentally different tastes" angle, and not trying to draw any political analogies.
- thom 6y agoYour last point is very well put. Clojure's selling point to an extent was "look, a Lisp they might actually let you put in production!" compared to Ruby's, which certainly in the early 2000s was "rip off your suit and join a startup".