[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