[1946] in java-interest
comments on comments
daemon@ATHENA.MIT.EDU (Frank Greco)
Wed Sep 20 14:16:15 1995
Date: Wed, 20 Sep 95 10:13:23 EDT
From: fgreco@lehman.com (Frank Greco)
To: java-interest@java.Eng.Sun.COM
Many thanks to Arthur and Chuck for answering some of my
questions. But (as usual) I need some clarification.
> > 1. What is the equivalent in J/HJ of writing CGI-scripts? How does
> > one grab input from a local "form" and pass it to a remote machine
> > for processing?
>
> You can write an applet that does the equivalent of a form (and a lot more).
> We will probably be providing better hookups to existing forms in the future.
As far as I can see, to do the equivalent of a CGI-script
(thanks to the person that sent me a product ptr on this
issue!) in Java, you have to build a socket connection and some
back-n-forth "protocol". As simple as it may appear to us, this
needs to be addressed from a higher level. Many companies will
want to build CGI-bin-scripts-ish things; Java needs to address
this need to be successful. Telling people to make a socket
connection is *not* going to cut it for 99% of the programming
population. You need a higher-level abstraction to offer to
people.
You and I and probably the majority of folks here in this forum
can do it, but most cannot. Witness the [un]popularity of RPC and
distributed apps in IS/IT/MIS shops up to now...
ok... I'll step off the soapbox now...
> > 2. The docs (McGilton/Gosling) mention remote invocation of methods.
> > How does one do this in Java?
> The DOE project is working on a CORBA style solution for this.
:/ There needs to be a *simple*, *simple* way of doing
remote invocation. If its as complex as creating a
CORBA-compliant C++ object in DOE, then it won't fly.
> > 3. To perform the functional equivalent of multiple inheritance, the
> > docs say to use "interfaces" (talk about overloading...). But it
> > seems to me that interfaces are merely a way to collect or organize
> > functions in a class-ish way. A bottom line question: How does
> > one inherit a method from one object *and* a method from another object
> > where both objects are from a third-party package?
>
> You can only do implementation inheritance by delegation.
I am getting the impression that MI *cannot* be done
(equivalently) in Java. Yes, I know I can build "has-a"
hierarchies, but I cannot see how to borrow methods from two or
more different classes. Perhaps I do not understand
"interfaces" well enuf... he says hopefully.
It appears that one cannot inherit a method from a class if
that method was *not* previously declared as part of an
interface. Is this true?
> > 4. What is exactly meant by "package of a file" or "to package"? The
> > docs are quite ambiguous. Does it merely mean to include a class
> > into a module, similar to archiving?
>
> I'm not sure I understand the question. Packages are collections of classes.
> Each class is a file and a package is a directory full of classes.
Clear as a bell! :) Why don't the docs say this!!!!
> > 6. Does Java have a mechanism of versioning classes? That is, how can
> > a user of a Java app[let] continue to use an older version of a
> > particular class when I (as app author) upgrade my app[let].
> > Excuse the gross analogy, but is there an equivalent of
> > LD_LIBRARY_PATH for Java classes?
>
> We currently don't have a good mechanism for versioning classes. You can
> achieve a reasonable versioning scheme using naming conventions, but that is
> far from ideal.
This is important. Hint: Microsoft doesn't have a way of versioning
.dll's and its biting them in the corporate IS/IT/MIS (gawd, its tough
to be politically correct) world.
> > 9. I noticed the disassembler "javap" is mentioned. How can I prevent
> > users from reverse-compiling my applications and applets?
>
> You can't, but it is still pretty hard to do.
It has be harder then breaking Netscape's security code or else the corporate
world won't adopt it. half-chuckle...
Thanks again Arthur and Chuck (and other JavaFolk),
Frank G.
-
Note to Sun employees: this is an EXTERNAL mailing list!
Info: send 'help' to java-interest-request@java.sun.com