[antlr-interest] philosophy about translation

Andy Voelkel andy at exchange.voelkel.us
Tue Oct 31 10:19:19 PST 2006


>>Many would argue that Java is a limited implementation of OO
principles as
>>pioneered in LISP et al and later Smalltalk. Everything inherits from
>>System.Object is plain ugly and, no multiple inheritance?. AOD
(AspectJ and
>>cousins) can be viewed as a series of hacks to try and simulate some
of the
>>important OO bits that were thrown out to make Java.
 
>I view Java's decision to do a "limited implementation" by avoiding
things 
>like multiple inheritance as exactly what made it successful. By
avoiding 
>being "completely pure", Java is accessible to average programmers. And

>that's why Java is popular and Smalltalk and LISP are not. It's also
why 
>people prefer Java over C++.
Having seen systems implemented that rely heavily on multiple
inheritance, I would make the observation that it is fraught with
difficulty. I view the move towards interface inheritance instead as a
positive development that has facilitated the widespread use of
component based programming. Component based programming is where the
real life promise of OO has finally been realized, IMO. It is
interesting that the two languages most widely used in real life
component based systems have been VB and Java (and now C#). It doesn't
say much for the language purist approach.
I think that one of the reasons that Java took off is that it gave you
automatic storage management and runtime type checking "out of the box".
In C++, you have to "roll your own" storage management. Having come from
LISP machines in the early eighties, C++ seemed like huge step backwards
for this reason. It also didn't help that the linker model was primitive
and reuse involved the use of shared header files. This made it
difficult to deliver components from one company or group to another.
The lack of multiple inheritance, in comparison, was a tiny tiny issue.
I suppose this is a bit off-topic.
- Andy
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.antlr.org/pipermail/antlr-interest/attachments/20061031/e25b2964/attachment.html 


More information about the antlr-interest mailing list