[vox] Who thinks Java is cool?

Wes Hardaker wjhns156 at hardakers.net
Thu Jun 16 07:45:15 PDT 2011


>>>>> On Wed, 15 Jun 2011 20:49:37 -0700, Bill Broadley <bill at broadley.org> said:

So, I played with Java a long time ago (which means my opinion is very
out of date) and was very frustrated using it.  The resulting GUI just
wasn't clean, it was always slow, rarely portable, and it didn't matter
if I was writing things for a native app or a java-embedded web page.

Recently I've hit an application in java which is really "my only
choice" for using an attached antenna analyzer, since the only other
option is windows.  I've glanced at the java code (but really didn't
want to get into it) and the GUI still has that 'java' feel that makes
me want to take a bath afterward.  I honestly can't even explain why it
"feels" weird.  But it does.  And it still doesn't feel, look or active
native to the system.

BB> C++ isn't too bad with a single developer, keeping a team using the
BB> same subset of C++ so they play well together can be painful.

And then there is C++.  I've worked on a number of C++ projects over the
years and have been frustrated by C++ and being able to read the code.
Unless you're intimately familiar with class hierarchy and complexity
you can't possible read any particular file.  I've complained about this
to anyone that would listen for the last 10 years probably.

But then I ran into Qt the other year.  The (current) Qt framework is
all C++, but contains some of the best documentation I've ever seen for
a framework.  Once you get through the basics (because they do insert
some new concepts, mainly "signals" and "slots" (though Qt isn't alone
here)), the resulting application is suddenly fairly easy to read.  I've
even dived into other Qt applications that I knew nothing about and
quickly found the code I wanted to tweak.  It seems that both the class
frameworks and people's ability to write clean code have come along
way.  In part this comes from people finally moving away from writing a
gazzilion classes which can all be mixed together (which is really the
source of unreadability more than anything else).

But the best part is that Qt is actually both native and highly
portable.  The other day I was rushing out to MC an auction.  I had 30
minutes before I had to leave and I looked around for an application for
my phone that would let me visually count down the number of
minutes/seconds before the cut-off time for a particular section of an
auction.  There wasn't anything that would display the "time until a
time".  (Everything was "set a timer for 15:00" type of thing, not "how
long until a wall clock").

So, I fired up qtcreator (which is the first IDE that has ever switched
me away from 20+ years of refusing to write code in anything other than
emacs).  I created an application on my desktop that did what I wanted.
I told qtcreator to recompile it for my phone, put it on my phone and it
worked flawlessly.  When I got done with this whole process, I still had
15 minutes to spare.  In 15 minutes I went from "I need X" to having X
on multiple platforms, all looking native and running very very fast.

The end result is that it's really been in my mind as the language that
Java strived to be but failed at.  I've written applications for linux,
windows, osx, maemo (phone), & symbian (phone) and am starting to dabble
in Qt on android.  The whole "write once, run anywhere" actually almost
works with Qt, unlike "rarely works" with anything I've ever tried with
Java.  But, as I said, my java knowledge is out of date.

-- 
Wes Hardaker                                     
My Pictures:  http://capturedonearth.com/
My Thoughts:  http://pontifications.hardakers.net/


More information about the vox mailing list