groovy-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Cédric Champeau <cedric.champ...@gmail.com>
Subject Re: peristant and immutable collections
Date Wed, 14 Oct 2015 18:35:24 GMT
I totally agree that we should not embed big jars. The Groovy distribution
must remain as small as possible. We made a great effort in reducing it in
the past releases, let's not kill that.
Also strong -1 for Guava, which is more a framework than a library: lots of
software use it and I've rarely seen a library that despite being very
helpful breaks so often binary compatibility, making it a nightmare to deal
with conflicts in transitive dependencies.
Also strong -1 for any dependency on Scala, for almost the same reasons:
strong history of breaking binary compatibility, all libraries of Scala
have to be built against multiple versions of Scala. Plus it would
dramatically increase the size of the distribution.

2015-10-14 17:54 GMT+02:00 Winnebeck, Jason <Jason.Winnebeck@windstream.com>
:

> Pcollections looks very promising. If this is scheduled to be a dependency
> for all groovy apps, I can’t imagine we could accept something like Guava,
> which is very large, without at least trimming it down. The pcollections
> tests don’t seem to be comprehensive, and developers normally expect a
> library like collections to be *spot* on even in very obscure edge cases.
> So I would have some concern about the popularity of pcollections vs.
> something like Guava. Lack of activity isn’t necessarily a bad indicator –
> this is the type of code you want to be absolutely perfect and never, ever,
> touch again. Think about the Java 7 Collections.sort/Comparator issue
> causing so many backward compatibility issues even though the new code was
> well within the specification.
>
>
>
> What I don’t get about pcollections is that it promises to implement
> collections interfaces like Java.util.List, but then says that “add”
> doesn’t work, because you have to use plus. So, I’m not sure how it can
> really be a List when none of the mutators could work. I suppose you can
> implement size, iterator, contains, etc. same as Java’s unmodifiableList.
>
>
>
> Jason
>
>
>
> *From:* Shil Sinha [mailto:shil.sinha@gmail.com]
> *Sent:* Wednesday, October 14, 2015 11:41 AM
> *To:* users@groovy.incubator.apache.org
> *Subject:* Re: peristant and immutable collections
>
>
>
> +1 for pcollections for the reasons Guillaume mentioned.
>
>
>
> Drawbacks of the other options:
>
>
>
> Guava - AFAIK only provides immutable collections
>
> Scala - As Jochen said, Collections (along with the standard library) will
> be redesigned in the near future -
> https://github.com/lampepfl/dotty/issues/818
>
> FunctionalJava - Data structures are only somewhat GDK friendly (they
> implement Iterable, but not Map, Set or List)
>
>
>
> Alessio, is https://github.com/krukow/clj-ds the Clojure data structures
> port you were thinking of?
>
>
>
>
>
>
>
> On Wed, Oct 14, 2015 at 8:02 AM, Cédric Champeau <
> cedric.champeau@gmail.com> wrote:
>
> +1 for pcollections. Lack of activity doesn't mean lack of maturity or
> lack of future activity.
>
>
>
> 2015-10-14 14:00 GMT+02:00 Guillaume Laforge <glaforge@gmail.com>:
>
> Also, PCollections is pretty friendly to the good old Map, Set, List
> interfaces, which would be thus Groovy-friendly too, with all our GDK
> shortcuts for these classes.
>
>
>
> On Wed, Oct 14, 2015 at 12:56 PM, Jochen Theodorou <blackdrag@gmx.org>
> wrote:
>
> On 14.10.2015 11:55, Guillaume Laforge wrote:
>
> PCollections sound like a good candidate, as you're its maintainer ;-)
> (so it's easy to fix bugs, make updates, etc), it's lightweight /
> standalone (not bringing odd dependencies).
>
>
> I can even make more fine grained jars and such, yes. But I don't want to
> impose a library to others for this. And while I am the maintainer, I did
> not really do much yet. There is quite some work to do for this library to
> be more up to date and to improve the benchmarks. I may spend that time
> anyway, just with a longer time period then
>
>
> bye blackdrag
>
>
>
>
>
> --
>
> Guillaume Laforge
> Apache Groovy committer & PMC member
>
> Product Ninja & Advocate at Restlet <http://restlet.com>
>
>
>
> Blog: http://glaforge.appspot.com/
>
> Social: @glaforge <http://twitter.com/glaforge> / Google+
> <https://plus.google.com/u/0/114130972232398734985/posts>
>
>
>
>
> ------------------------------
> This email message and any attachments are for the sole use of the
> intended recipient(s). Any unauthorized review, use, disclosure or
> distribution is prohibited. If you are not the intended recipient, please
> contact the sender by reply email and destroy all copies of the original
> message and any attachments.
>

Mime
View raw message