I've used Clojure to partially re-implement Java-based tools we have
at our shop written to interface with TIBCO. Clojure has also been
used to write a tool to extract electricity+gas metering data from an
Oracle DB. In summary, I've used Clojure to write and partially re-
implement tools that I need within my team to provide support for an
energy company.

Clojure has been an excellent fit because:
- The LISP functional programming style encouraged by Clojure helped
me write my utilities by precluding many classes of imperative-style
programming pitfalls, and helped catch many other programming pitfalls
early via speedy feedback from the REPL. Granted the REPL features
could've been provided by Perl or Python or Ruby but...
- The utilities I wrote need access to third-party libraries, and
these libraries provided access only via C/C++ and Java. Java interop
allowed me very simple access to third-party Java APIs. Clojure
provided this out-of-the-box without fiddling with third-party foreign
language interface products.

Kev

On Jun 19, 7:18 am, Toralf Wittner <[email protected]> wrote:
> On Thu, 2009-06-18 at 09:39 -0700, Howard Lewis Ship wrote:
> > I've been doing a number of presentations on Clojure lately
> > (TheServerSide, Portland Code Camp, Open Source Bridge), and I'm
> > getting some interest in Clojure and functional programming.
>
> > A question that keeps coming up is: where would you use Clojure and/or
> > functional?
>
> We are developinghttp://pagesms.com, a chat/im widget which can be
> embedded on web pages. The whole backend (comet server using Java NIO,
> HTTP/JSON/Bayeux processing, and business logic (users, channels, etc.)
> is implemented in Clojure. In total this means roughly 4000 lines of
> Clojure code.
>
> Because this is a side project, we can't spend nearly as much time with
> it as we would like, but using Clojure in this setting is a joy. It is
> easy to abstract things, easy to express things and very dynamic. I
> would recommend Clojure for concurrency oriented tasks (surprise,
> surprise), parsers, protocol implementations, event based programming
> etc. Actually, Clojure always worked well for me regardless of the
> problem domain. Of course being hosted on the JVM wouldn't make it an
> ideal systems programming language, but it was never meant to be one. So
> it really is a general purpose language.
>
> The product itself is still early alpha quality. The service is not
> always up, has not been seriously tested and many planned features are
> not implemented yet.
>
> Btw. the frontend is done with Tapestry :), the widget itself is
> implemented in Javascript.
>
> Cheers,
> Toralf
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to