Re: eerie Java-BASIC (partially OT)
On 06/03/2012 01:42 PM, BGB wrote:
On 6/3/2012 2:13 PM, Lew wrote:
BGB wrote:
Arne Vajh??j wrote:
If you with VB means VB.NET then you are absolutely correct.
VB.NET is C# with VB syntax and C# is close to a superset of Java.
generally, yes.
but, a person could try to argue that they are "totally different", say
because of using "namespace" and "using" rather than "package" and
"import",
and ":" in class definitions instead of "extends" and "implements", ...
however, these are likely minor differences (many are primarily
cosmetic, and
some others could conceivably be made to work on the JVM as well).
"namespace" and "using" are significantly different from 'package' and
'import' in semantics.
well, hence the comment "some others could be made to work on the JVM":
unlike the differences in class syntax, "namespace" and "using" also differ
some in terms of how they work, so would be a little harder to fit onto the
JVM as it exists, but could probably be done via a little compiler trickery.
the main difference would likely be the potential loss of a 1:1 mapping
between source-files and output class files.
You cannot lose what doesn't exist to start with. Source files in the usual
Java implementation (i.e., one that uses files) have a 1-to-many relationship
with classes (and therefore with class files in file-based implementations).
This applies for both nested classes and top-level classes. (In a certain very
loose sense, an inner class exists separately for each instance of its
containing class.)
I am not really intending to argue here about how similar or different
"namespace" and "using" are from "package" and "import" though.
There's no room for argument. They are exactly as similar and different as
they are. The degree of similarity and difference is objectively verifiable,
as the terms are publicly and transparently defined.
I took exception to your characterization of the differences between keywords
"namespace" and 'package' and between "using" (the statement, not the
directive) and 'import' as "likely minor". Definitions of "minor" vary, but in
my world, "nearly completely different" is not minor. (To be fair, the C#
"using" directive is rather similar to the Java 'import', but the "using"
statement is quite different. The "using" statement is similar to Java's new
try-with-resources.)
There is no doubt that "namespace" and "using" could be made to work on the
JVM, for a language that uses those constructs. Java might move in the
"namespace" direction itself with the proposed module semantics. As for
"using", I don't see that coming to Java soon, but maybe. It might even be
part of modules, too; I haven't read up on those yet. (I don't see anything
recent coming out of this effort.)
<http://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html>
<http://openjdk.java.net/projects/modules/>
--
Lew
Honi soit qui mal y pense.
http://upload.wikimedia.org/wikipedia/commons/c/cf/Friz.jpg