> When you're selecting a library to solve a particular problem, you
> normally have to do some research and evaluate more than one library
> so, for me, the activity of the project and software versions
> supported are part of that necessary research. I can't imagine "just
> using" some random library without doing some legwork...?

I appreciate what you're saying, and I think it is true to some
extent, but on the other hand, I think in practice many people
experiment with libraries to see if they work, and use the libraries
without being absolutely sure that they work perfectly. You may think
I'm doing it wrong, but I don't think I'm alone at all. I feel that
Flaubert's quote really reflects the situation. For example, I
recently used the Brent function minimization algorithm in commons
math (which admittedly has a decent reputation). I didn't review the
source code of the implementation carefully -- it's too complicated --
but as far as I can tell, the code works well for my application, and
that part of my app passes various tests. The risk of bugs from that
library is nonzero, but acceptable to me.

For clojure to break backwards compatibility is levying an extra cost
beyond these usual risks. I agree, as Andreas suggested, that there is
a cost to the speed of innovation in the language if one maintains
backwards compatibility, but on the other hand I think breaking
backwards compatibility imposes a cost to the community and slows down
library innovation. We are comparing the costs to two different groups
-- the language developers and the users, and I am a user whining
about the pain. I just hope Clojure's re-birthing pains will be
minimized in the future. ;)

> Phil's suggestion of adding metadata to Clojars might help

Yes, I think it will be very helpful to mark which jars are compatible
with 1.2 or 1.3 -- I suppose this can be extracted from the
dependencies vector in the project.clj file. And Stu's suggestion of
detect-and-warn or detect-and-fail are also very valuable, since right
now the situation is that mysterious errors occur without warning.

Arthur

-- 
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

Reply via email to