Guys, you really are into the Literate part, those emails are huge! let me catch up and then I'll reply...
Interesting discussion! On Thu, May 8, 2014 at 4:59 PM, Mark Engelberg <mark.engelb...@gmail.com>wrote: > On Thu, May 8, 2014 at 11:02 AM, Mark Engelberg > <mark.engelb...@gmail.com>wrote: > >> In fact, Clojure has a number of features that actively hurt its >> expressiveness relative to other modern languages: >> > > BTW, that list was by no means exhaustive. In the past couple of hours > I've thought of a couple more, I'm sure others could easily add to the list: > > 7. Use of infix notation means that math formulas look dramatically > different in Clojure than in math form, and therefore, it is difficult to > determine at a glance whether a formula as implemented in Clojure matches. > 8. Arrays in many domains are more naturally expressed as 1-based, but in > Clojure, they are 0-based. I've encountered a lot of code that was > confusing because of lots of increments/decrements to shift back and forth > between the problem as specified with 1-based implementation and the > 0-based implementation imposed by Clojure. Lots of opportunities for > off-by-one errors and/or later confusion when other readers try to make > sense out of the code. > 9. Clojure's ease of functional composition can result in deeply nested > calls that are far easier to write than they are to read. > 10. Unlike most other languages, every time you give names to local > variables with let, you add a level of indentation. Especially with > alternations of let and if/cond, you can easily end up with "rightward > drift" that makes code harder to read. > > These are things we learn to live with. If these were show-stoppers, I'd > be using another language, but they are not, so on balance I prefer Clojure > with its other many strengths. My only point is that by no means is > Clojure a pinnacle of expressiveness where all code is miraculously obvious. > > -- > You received this message because you are subscribed to the Google > Groups "Clojure" group. > To post to this group, send email to clojure@googlegroups.com > Note that posts from new members are moderated - please be patient with > your first post. > To unsubscribe from this group, send email to > clojure+unsubscr...@googlegroups.com > For more options, visit this group at > http://groups.google.com/group/clojure?hl=en > --- > You received this message because you are subscribed to the Google Groups > "Clojure" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to clojure+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.