Re: Getters without the "get" part
Re: Getters without the "get" part
- Subject: Re: Getters without the "get" part
- From: Mike Schrag <email@hidden>
- Date: Tue, 31 Mar 2009 16:04:13 -0400
Heh - and while we're at it, let's replace NSArray with
ArrayList, NSDictionary with HashMap and NSSet with .... well,
some of those gazillion java collection classes....
This already should have happened. Once you get a firm grasp of
the Java Collections API, it's design, intention and power,
NSArray and it's company will make you want to puke. I actually
thought that WO would move in this direction by first making
NSArray implement List, and do all the similar stuff, then
depreciate Foundation collections, and the finally get rid of
them. Well, maybe that still is the intention, but it sure is slow.
Agreed. Foundation collections are an embarrassing relic.
Unfortunately, the standard Java collection classes (JCC) gloss over
an important aspect of collection classes: mutability vs.
immutability. EOF requires the latter for all attributes, so
switching to JCC in EOF would be dangerous, and, IMHO, foolish.
AFAIK, the only benefit to using standard JCC is to be more
"standard" Java... something I'd like but am willing live without in
order to gain the benefit of EOF.
performance ... under heavy load, the java collections classes in
specific parts of WO/EOF perform much better. one could make the case
that NSDict/MutableDict should instead extend HashMap, though.
Unfortunately to play nicely with other API's, they still impl Map/
List, which means that even now we lose our immutable API's.
Personally, I still use the NS API's even though Map/List is available
explicitly so I get proper immutability compile time checks.
Furthermore, IMHO, the standard JCC are more embarrassing than the
WO ones. How many redesigns have the standard JCC had? How many
redesigns have the WO ones had? Certainly the WO design has stood
the test of time, and the Java ones have not. And we still have
Liskov-violating crap like java.util.Properties.
The Java collections' original design is abysmal. However, I think
the Java port of NS* would have been MUCH better served as interfaces
instead of implementations. Those classes fundamentally don't allow
the design of the original Objective-C classes to carry over properly,
and the port kind of messed things up in this respect. Modern Java
collections are actually pretty nice, save the lack of immutable
API's. The real power, to me, is that I can choose my implementation
for List/Map. This is particularly nice with something like
LinkedHashMap.
ms
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden