it would have been better if you had never implemented the feature. And now it would be better now if you take these changes off your web site, and don't mention that they exist
This is from 2001 - Java is Open Source now... I'd be interested to know how this story ended, since AFAIK this feature is missing in present-day GCC.
"The problem is that C and C++ are based on the model that a program can access any memory cell, and can cast between pointer-sized scalars and pointers at will. This is fundamentally at odds with the execution model defined by the JVM."
So it is (obviously) not really that useful an idea, other then perhaps as a curious or academic excercise (not terribly practical).
It's not hard to write portable C++ code that doesn't cast pointers, and it's really not that hard to write C++ that doesn't "touch" memory cells. Being able to access the Java class library and 3rd party APIs from C++ could be very useful.
Oh no question, I know java very well, C well and C++ not at all, so maybe I am basing what I think of C++ as C, but I haven't really been able to do much interesting in C without extensive use of pointers (with the exception of my thesis project, although in that case it was interspersed with chunks of #asm - so it wasn't a good candidate either ;).
That is what I call taking the banner of "FREE" too far. In my view, the GPL and F/OSS software were created and exist to make computers easier to use. To use these tools to argue against the usage of a useful feature is perverse.
But he's undermining his movement here; in effect he's saying "don't share that code with your neighbour". The contrast isn't between tool and movement, but between a strict deontological perspective, and the justification of unethical means (in RMS's view) to achieve better ends.
It's interesting because it betrays a hidden cynicism behind RMS that I wouldn't expect from such a hardliner utopian.
This is from 2001 - Java is Open Source now... I'd be interested to know how this story ended, since AFAIK this feature is missing in present-day GCC.