[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: "static" declaration
--- Anton van Straaten <firstname.lastname@example.org> wrote:
> > Personally, I consider Java heavyweight because it has a
> > typing system that is heavily coupled with inheriting behaviour.
> That "heavily coupled with inheriting behaviour" bit is completely
> in Java, although many people don't fully realize it
That is mostly true. And in fact, I am aware of this and often program
using a style I call "partitioned types":
<http://www.braithwaite-lee.com/tips/DesigningWithType.html>. The sense
in which it is not true is that Java classes necessarily create and
The line of least resistance is the idiom the language makes easiest:
using class extension to create type hierarchies. And thus, the Java
culture, from Sun's own libraries on down, is to use classes to create
And for me, this is the most important issue of a language: not what it
makes possible, not what its designers and implementors intend, but how
it gets used "in the wild."
Lisp's most important feature*, macros, were something of an
afterthought to McCarty and its other developers. Yet when we are
judging the language today, we certainly weigh the pros and cons of how
macros are actually used in actual development.
And so with Java, it is possible to develop "less inelegantly," however
it is not straightforward to work around its heavyweight
implementation/typing hierarchy and most Java programmers are
blissfully unaware of why you might want to do so. And this is why I
consider the language heavyweight.
* okay, not the most important feature of the language when it was
introduced. But today almost every other important feature has been
explored and improved upon in other langauges. Macros remain the reason
why a hard core cult of developers stay loyal to Lisp... no other
language offers the power of macros.
http://www.braithwaite-lee.com/ <-- background information
Do You Yahoo!?
Yahoo! Health - Feel better, live better