Re: What databases have taught me
Date: 23 Jun 2006 13:17:25 -0700
> Bruno Desthuilliers wrote:
> > Quite possible - I use Python instead of Smalltalk, [...]
> > And objects are in no way tightly coupled to their classes - it's
> > perfectly legal to add/delete/replace attributes (including methods) on
> > a per-object basis,, to dynamically modify a class, to dynamically
> > create classes at runtime, or even to dynamically change the class of an
> > object (which can be tricky and happens to be of restricted practical
> > use, but still can be handy). I really don't feel like being "inevitably
> > and irrecovably imprisoned in a hierarchical strait-jacket", to quote
> > the OP.
> Agreed. If you want to see the language Java should have been, if Sun
> had the sense evolution gave a gnat, look at Nice. Of course, Lisp's
> generics and CLOS and MOP offer even more, but Nice is... well, nice.
> Which might be why it'll never take off, but we can dream.
What make a language successful is, I believe, not at all well understood. It bears mentioning that Java is, by any objective measure I can think of, just about the most successful progamming language ever. Does it have significant theoretical shortcomings? Sure, yes, definitely. What is hard is to understand is whether Java's success is in spite of those shortcomings or because of them! Are the lack of genericity (originally), the lack of default parameters, operator overloading, and multiple inheritance, the unsound-but-convenient covariant array types, etc., shortcomings or useful simplification? Again, success is hard to pin down.
As to looking at languages extended from Java, I woud say Nice is the second best out of hundreds. But the most interesting one is Scala.
There are a million interesting thing to see in scala, and most of them have greater or lesser amounts of theory behind them. Unfortunately I think the bigest lesson I draw from scala is the importance of simplicity, which it illustrates by not having. Still: interesting.
Marshall Received on Fri Jun 23 2006 - 22:17:25 CEST