Thank you, Malcolm. I'm completely new to LISP and its dialects and I'm a little bit worried about the absence of support for OOP in Clojure. How do you decompose large systems in Clojure?
On Thursday, December 26, 2013 2:52:26 PM UTC+1, Malcolm Sparks wrote: > > Hi Massimiliano. > > The absence of a well-established framework for web development in Clojure > is not a sign of its immaturity (rather the opposite). Web frameworks can > give you some increased productivity to begin with, but as soon as you need > to do something that isn't naturally supported by your chosen web framework > you're in trouble, and that's when productivity drops off a cliff as you > struggle to bend the web framework to your requirements. For example, you > choose a web framework with good REST support, then find out later you need > to add web sockets. > > I've written and deployed about a dozen serious web applications using > Clojure. My opinion is the best strategy that guarantees long-term > productivity is to build your system from a set of smaller components that > you choose 'a la carte'. That way, if your requirements change you can swap > in and out other components as you need to. I would guess that the vast > majority of Clojure web applications are written this way, which is why you > don't see widescale adoption of a particular web 'framework' by the Clojure > community. Instead, Clojure developers pick from a set of constituent > parts: Jetty, http-kit, Ring, Compojure, Hiccup, Enlive, Stencil, > Liberator, domina, dommy, C2, Om, <shameless-plug>bidi</shameless-plug>, > and so on and so on. The fact that these components all fit together so > well is one of the truly outstanding features of the Clojure platform. Few > languages come close to this level of integration, which is why they > actively curate frameworks. > > Investing time in Clojure is both pleasurable and productive. It's a > question of whether you want 'short-term' productivity to meet a particular > project goal (choose a web framework), or sustainable productivity to > deliver value to your users over the longer term (choose to learn, > understand and utilize a set of components from the wide pool that the > Clojure community has created). > > Regards, > > Malcolm > > > > > > On Wednesday, December 25, 2013 9:06:20 PM UTC, Massimiliano Tomassoli > wrote: >> >> Hi, >> I'm not sure if Clojure is the right language for me. I'd like to use >> Clojure mainly for web development but I don't know if it's already mature >> enough to be productive. For instance, Scala has Play, Groovy has Grails, >> etc... If I'm not wrong, Clojure doesn't have a well-established framework >> for web development. I'm intrigued by Clojure because I like functional >> programming, but I need to be productive and, alas, I don't have time to >> learn Clojure just for my pleasure. >> > -- -- 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/groups/opt_out.