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

Hugh Fisher hugh.fisher at anu.edu.au
Wed Jul 15 18:34:08 MDT 2009


Sam Couter wrote:
> Funny you should say that... it's true. Native code isn't cross-platform
> and breaks "Write Once, Run Anywhere". It's also much easier to write
> bugs that affect security (eg, buffer overruns) and stability and crash
> the JVM using native code. You know who'd get blamed for that.

If I'm writing a program for my own use, or for a small community
of users, I'll get the blame. Fine with me.

Plenty of native code is cross platform. As a graphics guy I'd
like to use OpenGL, ImageMagick, ffmpeg. Number crunchers have
huge libraries of existing code that they want to use rather
than rewrite in Java. And so on.

Portability is nice at times, but it's not something that should
be enforced at the programming language level.

> 
>> (Microsoft evidently took
>> notes because in C# it's much easier.)
> 
> Microsoft *wants* you to write native, unportable code. They've always
> been very promiscuous when it comes to mixing development technologies.
> C, C++, VB and J++ all mix it up using COM, DCOM, ActiveX and now .Net
> assemblies or whatever they're called.

The Sun plan seemed to be that everyone would use the One True
Programming Language and the Officially Blessed Packages, with
all the terabytes of existing native code being left to rust
in peace.

Microsoft let you write code in your preferred language on
top of CLR. (Yes I know you can implement Python and other
languages on top of JVM with enough effort, but JVM wasn't
designed to make it easy.)

And while MS would certainly prefer you to be writing for MS
Windows frameworks, it's just as easy to write native code
for other platforms - as the increasing number of GNOME apps
being developed in Mono demonstrates.

All in all, I think Microsoft have done a much better job
of letting programmers choose which combination of language,
runtime packages, portability, and security they want.

	cheers,
	Hugh


More information about the linux mailing list