[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: "static" declaration



Lieven Marchand writes:
   "Anton van Straaten" <anton@appsolutions.com> writes:
   
   > The design of a properly interface-oriented set of Java classes can be a
   > significant improvement over similar classes in a dynamically-typed OO
   > language.  Support for multiple explicit interfaces on a class allows for
   > decoupling and factoring of designs in ways that make a great deal of sense,
   > but often aren't practical to maintain in dynamically typed languages.
   
   You can do something very similar to interfaces with mixin classes in
   CLOS, or indeed in Flavors which got named for this capability. In
   what circumstances have you found this to be unpractical?
   
Excuse me, but you really cannot do this in Flavors and CLOS.  Well,
you can get a lot of the same concepts by strictly following certain
sets of conventions.  That is, by convincing all of your development
team to always follow those conventions.  Well, let's be realistic, to
convince much of your development team to follow these conventions
unless they're in a hurry.  Well, you know, really, to convince much
of your department that this would be a really good idea, and we
should try it sometime, and we should be guilty that we're not doing
it now, especially because there's no gentle introduction for
beginner.  That's what happens in large-scale software production.

When Moon was doing New Flavors, I lobbied him very hard to put in an
explicit concept of "interface", and he stolidly resisted.  Moon is
very rarely wrong about anything, but in this case I still think he
was wrong.  When Java came out, many years later, with a genuine
"interrace" feature that was pretty much what I'd always wnated, I was
very impressed.