[antlr-interest] philosophy about translation

Andy Tripp antlr at jazillian.com
Thu Nov 2 11:30:41 PST 2006


Anthony W. Youngman wrote:

> FORTRAN didn't have pointers, because they're meaningless when doing 
> maths, but it does now have operator overloading - you can do matrix 
> arithmetic using +, * etc, because it DOES make sense within FORTRAN's 
> problem space. 

Operator overloading makes just as much sense in Java as it does for C, 
C++, and FORTRAN: any application that uses
matrixes will be crying out for it, and all those languages are used for 
such applications. The reason Java doesn't
support operator overloading (in my view) is a pragmatic one: Gosling 
chose to leave it out because it's more often
misused than used correctly. Regardless of how powerful the rope, if 
it's more often used to hang yourself than
to tie things up, it's not a good tool.

> Java doesn't have pointers because it doesn't make sense within its 
> security paradigm. I don't know enough about Java to comment on other 
> stuff.

I don't think Java's lack of pointers has much to do with security. Yes, 
it's harder (maybe impossible) to provide security
with pointer support. But I suspect Gosling's thinking was more along 
the lines of "I just hate the bugginess of code that
uses pointers." Just my guess.

>
> But it seems to me that Andy thinks the "great"ness of Java, and 
> Antlr, would be *improved* by deleting features that lie within their 
> problem space. No!!! That merely gives us crippleware.

Again, only in the sense that Java is a "crippleware" version of C++: 
it's a separate language, and no C++ programmers were
harmed in the making of Java :)

>
>
> Cheers,
> Wol




More information about the antlr-interest mailing list