The biggest barrier to using Clojure in an "enterprise" environment is that enterprise projects are typically built and maintained by 100s of replaceable code-monkeys and consultants, all of which understand Java and almost none of which understand Lisp of any kind, let alone Clojure.
To be honest, even if I could get away with it, I wouldn't want to inflict hell on the next person who has to fix something in my Clojure code. Even if they're a good developer, they are very unlikely to care about Clojure or functional programming. I heard of one guy in our company who wrote some web services in Scala on the grounds that they were one-off services that wouldn't need to be modified - until they were, and everyone was roundly cursing him for it. They were small enough that it turned out to be easier to redo them in Java rather than to learn Scala and understand his code. Like it or not, enterprise development = Java or .NET until the language landscape has some radical changes. On Mar 6, 9:22 am, Rich Hickey <richhic...@gmail.com> wrote: > On Mar 6, 8:15 am, Joshua Fox <joshuat...@gmail.com> wrote: > > > Is it fair to say that Clojure shines in algorithmic processing, string > > processing, concurrency management, but that there are better choices in > > other areas: > > - "Application" programming , where the key challenge is fitting a standard > > three-tier application to the business domain. > > - "Enterprise" programming, where the challenge is gluing together > > overweight and fragile libraries, and one should always use exactly the set > > of software which the API creators envisioned? > > > Rich himself has suggested something along these lines, but I wonder what > > others think. > > I don't recall suggesting that. I would certainly consider application > programming a prime domain for Clojure. OTOH, if that's the definition > of "enterprise" programming, I'm not sure any language is going to > produce a satisfying result. > > Being a Lisp, and having the ability to generate primitive math ops > that map to machine instructions, Clojure can scale high and low. I > wouldn't count it out in many domains just yet, as we're just starting > to see it applied to a wide array of problems. Often its applicability > will just be a matter of libraries and macro packages. > > I think it is unlikely to end up with less applicability than Java. > Even what seems like a categoric absence, like static typing, may be > filled with a la carte typing and constraint systems built on logic > programming extensions like the Datalog work. > > Of course, I'm biased, but wide applicability is certainly the intent > of Clojure. I'm interested in what others think as well. > > Rich --~--~---------~--~----~------------~-------~--~----~ 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 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 -~----------~----~----~----~------~----~------~--~---