Java and Mono (was Re: Managing multiple computers at home)

Bryan Sant bryan.sant at gmail.com
Mon Mar 27 12:27:53 MST 2006


On 3/26/06, ross at indessed.com <ross at indessed.com> wrote:
> On Sun, 26 Mar 2006, "Andrew Jorgensen" wrote:
> > Besides.  C# has everything you always loved about Java and none of
> > the stuff you always hated.  (I know, that's an exageration).
>
> I'm actually grateful for the competition--I think that Java has improved
> immensely since (and at least partly because of) C#. There are some things
> I think Java can do to still improve, but none of them require major
> overhauls of the language.

There is some nice polish in C# that doesn't exist in Java.  I wish
Java used properties instead of the whole getter/setter-"JavaBean"
will be a hip name for the convention-pseudo property mess.  Delegates
would be nice, but I don't know how often I would use them -- I think
the anonymous-inner class approach is fine.

Perhaps unlike many, I actually like the way Java handles namespacing
with its packages.  The physical layout of your files on the disk (or
in a .jar file) mirror the logical namespace of your classes.  I find
that rule very helpful.  I would miss that when using C#.

Other than that.  C# and Java have an almost identical syntax and
concept.  Throwing stones at one or the other is like saying your twin
is ugly.

The big difference between C# and Java isn't the cute language
benefits.  The difference is the standard libraries/API.  To be
honest, I'm not all that familiar with C#'s standard libs.  But Java's
libs are the best part about the platform.

Also, at least for now, Java is faster than .NET on Windows and Mono
on Linux/UNIX.  We'll see how things do in the future.  Mono has
become incredibly fast in a short amount of time.  I do think that
Mono is going to get traction and do really well in the future.

> > I'm kind of hoping Java will die off in the Desktop world.  I'm fine
> > with it being used in the multi-tier enterprise application world, it
> > does great there.

Some of you old-timers will know that historically I've never been a
big fan of Java's Swing GUI either.  Swing has been the biggest black
eye for Java.  Anyone who believes Java is slow has typically come to
that conclusion by using a Swing app for about 2 seconds.  Let's be
honest, in the past, Swing has SUCKED!!  However, the next release of
Java (Mustang) has made Swing very acceptable.  The look and
performance of Swing-based apps on Mustang are indistinguishable from
native apps.  So basically now, you can write your GUI app in Java and
people won't go, "Wow, that thing looks and runs like crap!".  Your
users will never know it was written in Java or that it's not native.

I've worked pretty heavily with SWT (a Java GUI toolkit that delegates
to native widgets) because of my disgust with Swing in the past, but
now, I have no desire to continue working with SWT.  With Mustang,
Swing is great now.  And with the Netbeans GUI builder (free and OSS),
making cross-platform GUI apps is as easy as Visual Studio (even
better in my opinion).

See the Netbeans GUI builder in action here:
http://testwww.netbeans.org/kb/41/flash-matisse.html
And here:
http://testwww.netbeans.org/kb/articles/account-with-matisse.html

On the contrary to your statement, I think that in this next year,
Java will finally become a widely popular platform for desktop apps
once mustang is released.

By the way, did you know that Swing already is the most popular
desktop technology in North America?

http://cld.blog-city.com/evans_data_survey__swing_ui_toolkit_passes_winforms__looks_l.htm

Java Swing popularity has grown 27% since fall of 2004.  Just some
food for thought if you think that desktop Java is a sinking ship and
that the crazy salaries that Java folk currently make won't last.  It
will.  Java is getting more popular, not less.

-Bryan



More information about the PLUG mailing list