[clug] Why isn't Java popular on the Linux Desktop?

Daniel Pittman daniel at rimspace.net
Sun Jul 12 18:38:18 MDT 2009


Sam Couter <sam at couter.id.au> writes:
> Francis James Whittle <fudje at grapevine.net.au> wrote:
>
>> Also because Java becomes remarkably clunky when you start building
>> something the size of a desktop application.  It's better than it used
>> to be.
>
> There is no language that isn't clunky when building a GUI, but that's
> nothing to do with scale.

I pretty much completely disagree with this statement and, to make one of the
claims I /still/ find the oddest, building a GUI application in the Qt
extended variant of C++[1] is actually very nice with little "clunk".

Generally speaking, that same smoothness follows into other language bindings,
although I have never tried Qt/Java[2], which I feel speaks volumes about the
good API design that Trolltech put into the language.


>> But of course.  Perl (please don't capitalise every letter) is our
>> precious whore.  A gem among programming languages that will sell itself
>> as easy for any purpose.  Just make sure you're not going to get an STD
>> when you use it.
>
> The thought of maintaining perl programs the size of the Java programs I
> maintain at work makes me shudder. Talk about write-only. Perl's not
> (always) a bad language, but that's one task it completely fails to suit.

We have, here at work, some 100K-line projects that beg to differ.

> When software spends 80% of its life in maintenance mode, maintainability is
> obviously one of the driving concerns when selecting languages, libraries
> and tools. Perl just doesn't got it. Most languages don't have suitable tool
> support, Java and .Net do.

Our experiences obviously differ significantly; one of the reasons we use Perl
here is that it provides a very broad, but sensibly managed and easy to
integrate library of things.

Now, sure, a non-trivial portion of CPAN is crap, but at least it is there in
one place where you can go, not scattered around the Internet at random, or,
y'know, missing entirely.


>> My personal feeling is that Java adds another layer of indirection where
>> it's not necessary, and without advantages such as run-time compilation.
>
> Modern VMs do Just-In-Time compilation, which brings its own set of
> advantages.

*nod*  These days, JIT compilation is a features I regard as significantly
more compelling an argument for a language than any form of static
compilation.  The performance benefits available through it often outweigh the
costs, especially for long-running applications.

Regards,
        Daniel

Footnotes: 
[1]  Basically, C++ with "signals" and "slots" as well as a bit of
     introspection added for good measure.

[2]  ...assuming it exists, of course, which I have never looked to find out
     either.  Java, not really in my ballpark other than as a sysadmin.

-- 
✣ Daniel Pittman            ✉ daniel at rimspace.net            ☎ +61 401 155 707
               ♽ made with 100 percent post-consumer electrons


More information about the linux mailing list