[Date Prev][Date Next][Thread Prev][Thread Next] - [Date Index][Thread Index][Author Index]

Re: IC-PCR1000 Buyer Beware

> Date: Wed, 14 Mar 2001 22:11:39 -0600
> Subject: Re: [amsat-bb] IC-PCR1000 Buyer Beware
> From: Jon Ogden <na9d@mindspring.com>
> on 3/14/01 10:01 AM, Timothy J. Salo at salo@saloits.com wrote:
> > If I might, I would suggest that amateurs and vendors consider using
> > Java as a platform-independent language for this sort of application.
> YUCK!  
> 1.) Java is SLOW.

First, we are talking about developing an application that controls
amateur rigs.  This simply doesn't require a lot of horsepower.
Although one could write some really inefficient code, I don't think
performance is an issue here.

Second, Java implementations are continuing to improve, particularly
Java compilers.  In fact, one company is applying traditional
compiler optimization techniques (in some sense, even traditional
Fortran-style optimizations) to Java byte code.  This approach may provide
the best of both worlds: a modern, object-oriented language combined
with traditional compiler optimizations.

By the way, I recently wrote a Java application that runs on my Palm V
and controls a LEGO MINDSTROMS Robotics Invention System controller through
the Palm's serial port and an IR transceiver.  This application is probably
comparable in complexity to a rig-control application.  Now, it may be
true that my Palm V is more powerful than some of the computers that
hams have in their shacks, but I am not trying to optimize development for
those machines.

(By the way AO-40 is being controlled by an interpretive language running
on an 8-bit processor.  Obviously, not all of our applications need lots of
computational power.  But, I haven't written my "Java in Space" paper yet.)

> 2.) Java is NOT platform independent.  Trust me.  There are Java apps that
> run on Windows that won't run on a Mac.

The existence of one or more Java applications that don't run on multiple
platforms doesn't tell us a whole lot about the appropriateness of Java
for this type of application.  Yes, it is possible to write Java code
that doesn't port across machines.  One easy way to do this is to use
the latest version of Java when that version hasn't yet been ported
to other platforms.

On the other hand, many applications have been written in Java that
execute in multiple environments without recompilation.  A trivial
example is Java applets that execute on browsers running on a variety
of native hardware and software systems.  Likewise, some Java programs
can run (unaltered) either as a Java applet under a browser or as a
Java application under the native operating system (as well as on multiple
operating systems without recompilation).

I don't think you have make your case for excluding Java on the grounds
of lack of portability.

Now, if you had said that Java programs won't run under DOS on $20.00
cast-off junk that people may have in their shacks, you might have found
more sympathy for your position.  But again, this isn't an environment that
I am all that interested in supporting or perpetuating.

> Java is the WRONG solution.

Obviously, I don't believe that you have made your case.

What do you believe is an appropriate language for implementing a
rig-control program?  Why is your answer the right one?

Via the amsat-bb mailing list at AMSAT.ORG courtesy of AMSAT-NA.
To unsubscribe, send "unsubscribe amsat-bb" to Majordomo@amsat.org