[aprssig] Rant - Cross platform portability
Gregg Wonderly
gregg at wonderly.org
Sun Sep 17 21:12:18 EDT 2006
Jim Lux wrote:
> Gregg makes some comments about the availability of software for a
> variety of environments, and that triggers some comments about software
> development, not necessarily directed at Gregg personally, but at a
> general misunderstanding of how and why software gets developed.
Hi Jim, I guess I stirred up some emotions. Without going after every point
that you enumerated in your response, let me just say that I've been developing
software in a number of environments over the past 20+ years. I have a masters
degree in software development focused in areas of operating systems and
computer language development. I've developed windows software, unix software
extensively, and 10 years ago started using Java for all of my core application
development. So, I have some experience to draw on for my opinions.
If you will search on the internet for "gregg wonderly java jini software" you
will find that I have about 10 open source projects visible in the communities
related to my interests. These projects, include a complete replacement for
Echolink, written in Java, which runs, without ANY porting needed on windows,
linux and mac os-x. Because Java provides a nice abstraction to the sound
system, I don't have to know about how that works. Because Java provides a
"look and feel" abstraction, the OSes native graphics subsystem is abstracted
for me and all the font sizing, spacing and layout is taken care of for me.
When I started openlink, I had some free moments. When I got GUI done after a
couple of weeks of spare time work, I started looking around for PSK-31
libraries to copy by translating to Java. As I said, unfortunately, these
libraries are optimized with ASM code, or are otherwise tied into a particular
environment.
On any of the existing OSes that are in consumer computers, you will always have
scheduling pauses related to timesharing of the CPU. Your comments about the
speed of Java seem to be based on old experience or some third party comments.
I have large scale production systems running on Java with massive throughput
and not problems with performance. The Sun Just In Time (JIT) compiler can
typically equal or better many C and C++ compilers of the same algorithms
because of the depth of analysis and the fact that they compile with runtime
knowledge about the actual execution paths and frequency of passes through the code.
I stick by my comments that there is no reason that Amatuer radio software
should not be being developed as cross platform.
We all had to study for and take a test to demonstrate our knowledge. Taking
the time to learn more about software development seems like a good idea to me.
I've spent my life learning about software and contributing software for
others to use freely.
Allowing everyone to take advantage of your efforts is one way to let others
spend their time being productive doing something besides repeating your work so
that they can have the benefits. If you can't spend the time to learn how to do
something different than what you are doing now, I accept that as a fact of your
life.
I still think it's a good idea for all Amatuer Radio software to be portable
across OSes.
> While the sentiments expressed by Gregg are wonderful, there's a fairly
> big gap in the ability to do "write once, run everywhere" software,
> except for the most trivial of applications. Web browsers are about the
> closest thing that you see, and you'll note that there are numerous
> incompatibilities, even with fairly simple HTML. There are also "market
> realities" to consider, some of which I touched on initially.
Jim, maybe you can tell me which Java application(s) you have developed. How
many lines of code, type of application etc. Which versions of the Java
specification has it ran on, and what problems you encountered? I'm always
interested in hearing what other's experiences have been using Java. You seem
to have some opinions about Java and I'd like to learn what experience those are
based on so that I can better understand them.
Thanks for sharing you thoughts and experiences.
Gregg Wonderly
W5GGW
More information about the aprssig
mailing list