Tango collections
Andrei Alexandrescu (See Website For Email)
SeeWebsiteForEmail at erdani.org
Wed Mar 21 10:34:26 PDT 2007
Sean Kelly wrote:
> Andrei Alexandrescu (See Website For Email) wrote:
>> I'm seeing that Tango implements Java-style collections. Is there any
>> work going on implementing STL-style collections in Tango?
>
> This is probably more a question for the Tango forums, but I'll reply
> briefly here anyway :-) In my opinion, the choice of a container
> package for Tango was as much from necessity as it was from merit. Doug
> Lea's containers were available and obviously well-designed, and we
> simply didn't have the time to design something entirely from scratch
> given the development effort for Tango as a whole. That said, Kris
> spent a great deal of time bringing the package more in-line with our
> needs, and I do feel the result is quite solid and consistent. My
> issues with it are largely cosmetic (I come from a C++ background and
> don't like the Java approach to interface design).
Same here. I was hoping that ever since the STL came up, there was no
looking back at Java-style containers in a language that supports generics.
> As for alternate designs, etc, I'll admit that I was hoping Matthew
> would find some time to work on DTL. Some of the fundamental ideas
> present in that library are good ones, but it's simply far too rough to
> use as more than reference material. Also, I feel the proper approach
> for iterators in D is closer to the Java-style, so a single iterator
> that knows where it is rather than a pair of dumb iterators to represent
> range. There was an extensive discussion of iterators here maybe six
> months ago, and I followed this with a rough proposal which summed
> things up. I can't remember the thread names offhand, but I can dig
> around for them if you missed the discussion.
Yah. Ranges have turned out to be a very useful addition to the STL as well.
> I'll admit that I wouldn't mind taking a crack at this myself, but from
> experience I think it's unlikely I'll have much time for user-level code
> before Tango reaches 1.0. Something always seems to come up that pulls
> me back into working on low-level features.
I know how that feels :o|. But my guess (while having about zero idea
about the possible politics involved) nobody will ever pick up work on
DTL unless the Tango team decides to do so.
>> Also, I'm seeing some needless Javaisms in the interface, e.g. int
>> ArraySeq.capacity(), which should be uint. At the same time other
>> functions, e.g. ArraySeq.instances(), return uint! What gives?
>
> There is still some cleanup work to be done, and I suspect capacity()
> was simply overlooked. Submitting tickets for problems you find is the
> best way to ensure that one of remembers to do something about it :-)
Sounds great, thanks.
Andrei
More information about the Digitalmars-d
mailing list