My oopsie. You're right, it is 1.2.0. I was looking at the current head of 
master, which I guess is 1.2.0-SNAPSHOT.

As long as all projects stick to semantic versioning (a lot do), that 
problem is not so great.

The other problem though is that of which libraries to choose for a 
particular function. I understand the choice is pretty wide, and that's a 
good thing to some extent, but it means anyone new to Clojure has to 
evaluate and choose almost every library they could use - which takes time 
& effort. If I want to build a web app/service with Java I know I can just 
go to Spring and it will have pretty much everything I need - tested & 
compatible. The choice almost becomes a no-brainer. I don't have that same 
ease of use with Clojure - if someone asked me to build a web app or 
service now (commercially, so I'm on the Client's clock) I would have to 
factor in a significant amount of time to choose, test & evaluate 
frameworks.

I guess that kind of ease-of-use comes from maturity, and Clojure is still 
relatively immature compared with Java. But then Scala is roughly the same 
age and they have TypeSafe which, as a full-stack, has a more certain 
"feel" to it than having to cherry-pick individual Clojure libraries 
(albeit those that have become de facto standards).

Still, clients pay me to know this stuff, and that was one of the reasons 
for doing the project - to learn what works, what doesn't and how to go 
about it.

On Friday, 11 January 2013 10:12:43 UTC-7, James Reeves wrote:
>
> On Friday, January 11, 2013 4:52:05 PM UTC, Paul Umbers wrote:
>
>> For example, the latest vesion of Compojure (1.1.3) uses Ring 1.1.5 and 
>> not the latest version of Ring (1.1.6) which has significantly better util 
>> functions available - but I can't use them until Compojure catches up.
>>
> Ring 1.1.6 doesn't have any new functions - it's just a patch release. 
> You're thinking of Ring 1.2.0-SNAPSHOT, which should be released within the 
> next month, and will go into beta soon.
>
> Both Ring and Compojure use semantic versioning (http://semver.org/), so 
> Ring 1.2.0 is backward compatible with Ring 1.1.0. This means that you can 
> quite happily use Compojure 1.1.3 with Ring 1.2.0-SNAPSHOT if you so desire.
>
> Semantic versioning solves a lot of the problems you describe, because if 
> a library depends on version 1.0, you know it will work with version 1.1, 
> 1.2, and so forth. Only major versions, such as a leap from 1.5 to 2.0, 
> have breaking changes.
>
> - James
>

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