From: Keunwoo Lee (klee@cs.washington.edu)
Date: Tue Nov 12 2002 - 10:45:04 PST
In a way, it's not surprising that C# is ahead of Java, given that it's a
much newer language. Java's acquired much more inertia.
A quick skim of the C# presentation makes me think that MS is now going
too far in the other direction, and adding too many features. Surely
there's a smaller, more orthogonal feature set that gives you enough
generality to express (cleanly and compactly) delegates, anonymous
methods, events, and iterators? (Lambdas with yield?) And I don't
exactly get why properties and attributes could not be unified somehow.
C# properties seem particularly irritating, at least once you've seen
Cecil. Why force the user to write the getter and setter separately from
the field declaration? Why not make the property declaration syntactic
sugar for the field decl + setter + getter, and make the latter two
overridable?
Partial types, OTOH, seem like an interesting variant on mixins. They
remind me of the Mezini/Ostermann talk at OOPSLA this year, and perhaps a
more disciplined future version of partial types could incorporate
something similar.
Anyway, it's good to see a big company betting on advancing the state of
languages. IBM and Sun have been much too conservative w.r.t. Java.
It's been 4 years (!) since Guy Steele gave his "growing a language" talk
at OOPSLA, and the language has not moved an inch. (Java 1.1, which added
inner classes, was released in Jan '98.)
~k
_______________________________________________
Cecil mailing list
Cecil@cs.washington.edu
http://majordomo.cs.washington.edu/mailman/listinfo/cecil
This archive was generated by hypermail 2.1.5 : Tue Nov 12 2002 - 10:45:22 PST