Did that edge case ever come up on the list? If not, would you mind
sharing now?
-Matt
So far, I've mostly used Clojure where I would have used a python,
perl, or ruby script in the past. So far, that's only amounted to a
couple of <500 LOC scripts.
One is the code that generates the IRC log pages:
http://clojure-log.n01se.net/ It's triggered by an hourly cron job,
followed by an rsync to the web server. Hardly "production", but on
the other hand it's never failed because of Clojure. It's about 190
LOC.
Another was a tool I wrote for watching house sales listings over
time. It also ran as a cron job (daily), scraped some web pages, did
some computation, and then sent of an HTML email report. This is
about 350 LOC, but I haven't used it or updated it for a few months.
With a more recent version of Clojure and access to clojure-contrib,
it would be much smaller. Again, I didn't run into anything I
couldn't accomplish in Clojure, or any flakiness or intermittent
failures of Clojure itself -- although obviously this is no
high-availability web app or anything.
I also submitted an entry in the last ICFP programming contest. My
170 LOC entry wasn't terribly smart, but it managed to place in the
top 25-35% of the lightning round, and unlike some of the other
entries apparently never crashed or failed to connect to the game
server.
I think the most "unstable" part of Clojure is its feature set.
Although there are core features that are remaining mostly unchanged,
the right or best way to do certain things changes with new releases.
This doesn't effect you if you stay on a previous release, of course,
and to some extent this is true of any programming language or
environment.
My experience may not be deep enough for my opinion to be worth much,
but all in all, I'd say Clojure's a pretty safe choice. You're not
likely to run into some application area where there are no Java libs
available to help, or any bug in Clojure that is too large or
unpredictable that you'd have any trouble working around. As you
said, your runtime environment is really just the JVM, so if that's
safe enough for you, you should be good to go.
--Chouser