On Thu, Nov 11, 2010 at 6:33 AM, Mike Schrag <[email protected]> wrote:
> >> Sure, extending WO so that EOF become multi-threaded or anything like
> this would be a huge task, but from my point of view (a non-technical one),
> we can do a lot on top of WO to "fix" problems. And to me, it make more
> sense to extend WO than trying to rewrite it...
> > Depending on how you understand "multithreaded", that's already
> implemented or in fact pretty easy to do. Andrus (I think?) has done some
> work on that years ago.
> I think I would define multithreading to be something like multiple EOF
> stacks that don't blow out memory ... Ultimately that requires some form of
> lockless snapshot cache. We get the first half with object store coordinator
> pools, but not the second part.
Multiple stacks is what I was wondering about. If you use multiple EOF
stacks then can't you use Scala Actors with EOF and avoid the single-thread
problems? What is the problem with that approach?
Regardless, I would say Scala offers some very nice syntactic improvements
- Properties:
move.title = "Title"
instead of
movie.setTitle("Title");
- BigDecimal (with properties)
movie.revenue += 100
instead of
movie.setRevenue(movie.revenue().add(new BigDecimal("100")));
- Better collection operations
movies.filter(_.revenue > 100000)
instead of
Movie.REVENUE.gt(new BigDecimal("100000")).filtered(movies)
val studioNames = movies.map(_.studio.name)
instead of
NSArray<String> studioNames =
(NSArray<String>)movies.valueForKeyPath(Movie.STUDIO.dot(Studio.NAME).key());
- Encouragement to use immutable data makes for better code
- Option type - safer and cleaner than using nulls
- Removal of java oddities such as: primitives, nulls, autoboxing, statics,
generic variance issues
I think you can use Scala and get all these benefits without having to
abandon any of the important parts of WO/EOF.
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com
This email sent to [email protected]