[antlr-interest] philosophy about translation
Micheal J
open.zone at virgin.net
Tue Oct 31 11:50:31 PST 2006
Hi,
> >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.
So is single inheritance in the wrong hands.
> I view
> the move towards interface inheritance instead as a positive development
> that has facilitated the widespread use of component based programming.
Interface inheritance predated VB/Java/C#. C++ had it before for instance.
It's proper use simply needed to be taught to "average" programmers.
> 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#).
Not that surprising since the archetypal CBD developer is an "average"
developer consuming components written by others (usually developed in C++
for VB'ers to consume).
Java/C# fare better as tools used by component producers. Nevertheless, the
most flexible/performant components are still developed in C++.
> It doesn't say much for the language purist approach.
This isn't a religious debate (I hope). ;-)
> 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".
As did many other systems before it. Having a big company (or a few if one
includes Netscape, IBM et al) aggressively pushing it probably had a much
greater impact.
> 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.
Yet C++ was the de facto tool for component producers during the period when
VB finally delivered on CBD's reuse promise.
> The lack of multiple inheritance, in comparison, was a tiny tiny issue.
For some people/projects, yes. Not so for others.
> I suppose this is a bit off-topic.
;-)
Micheal
-----------------------
The best way to contact me is via the list/forum. My time is very limited.
More information about the antlr-interest
mailing list