I need clarity on Episode 371

87 views
Skip to first unread message

Jim McDonnell

unread,
Dec 6, 2011, 8:58:52 AM12/6/11
to java...@googlegroups.com
Somebody in the episode kept going on about how Java "lied".  Can someone enlighten me?

I often listen to people at work, or on podcasts, make grandiose statements that sound impressive, but I am left to wonder what they base that statement on.  (For example, I listen to our architects talk about MySQL obviously going away because Oracle is going to kill it, or how Glassfish is not an option for our production app servers because the open source development is slowing down).

So, how did Java lie?  Or is this just some uber nerd that thinks the only programming language that would ever work for him is one that he has created?

Lenny P

unread,
Dec 6, 2011, 11:00:02 AM12/6/11
to The Java Posse
I don't think the Java 'lie' is unique by far, but it is true.
The Java promise was 'write once, run anywhere' and it didn't happen,
along with a whole bunch of other promises.
It's a classic over-promise/under-deliver scenario, perhaps over-
dramatized a bit.

On Dec 6, 8:58 am, Jim McDonnell <james.t.mcdonn...@gmail.com> wrote:
> Somebody in the episode kept going on about how Java "lied".  Can someone
> enlighten me?
>
> I often listen to people at work, or on podcasts, make grandiose statements
> that sound impressive, but I am left to wonder what they base that

> statement on.  (For example, I listen to our architects talk about MySQL *
> obviously* going away because Oracle is going to kill it, or how Glassfish

Ricky Clarkson

unread,
Dec 6, 2011, 10:00:44 AM12/6/11
to java...@googlegroups.com
To be fair, I had a Swing app running on Macs with no problems 5 years before I first used a Mac, so I think it delivered on that front.
--
You received this message because you are subscribed to the Google Groups "The Java Posse" group.
To post to this group, send email to java...@googlegroups.com.
To unsubscribe from this group, send email to javaposse+...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/javaposse?hl=en.

Fabrizio Giudici

unread,
Dec 6, 2011, 11:35:43 AM12/6/11
to java...@googlegroups.com, Ricky Clarkson
On Tue, 06 Dec 2011 16:00:44 +0100, Ricky Clarkson
<ricky.c...@gmail.com> wrote:

> To be fair, I had a Swing app running on Macs with no problems 5 years
> before I first used a Mac, so I think it delivered on that front.

I'm really amazed that this thing is always around. It seems that many
people forgot about C/C++. I routinely work with corporates which also
have C/C++ development and there's simply no paragon in the fact that you
can develop Java literally everywhere and deploy it everywhere. It's so
natural, that Java developers have forgotten what crosscompilation meant.

So, clearly the original Sun's vision for "everywhere" was broader, but
we're not that far. If there wasn't Android, BTW, one could argue that JME
is declining and Java would disappear from the mobile, but with Android is
quite true the opposite.

--
Fabrizio Giudici - Java Architect, Project Manager
Tidalwave s.a.s. - "We make Java work. Everywhere."
fabrizio...@tidalwave.it
http://tidalwave.it - http://fabriziogiudici.it

Casper Bang

unread,
Dec 6, 2011, 12:04:42 PM12/6/11
to java...@googlegroups.com, ricky.c...@gmail.com
To be fair, I had a Swing app running on Macs with no problems 5 years before I first used a Mac, so I think it delivered on that front.

Java tried, but it failed. And really, how could a unification of UI/UX across different OS be anything than the never-ending quest for lowest-common denominator?!

To continue your Mac example: Try to run your Swing app on OSX Lion and notice how it's unable to go into fullscreen mode. Or try letting a blind person, with a screenreader, navigate your (emulated) Swing UI. 

It's a pipe dream and no successful application I can think of, make use of a cross-OS UI toolkit.

Fabrizio Giudici

unread,
Dec 6, 2011, 12:12:28 PM12/6/11
to java...@googlegroups.com, Casper Bang, ricky.c...@gmail.com
On Tue, 06 Dec 2011 18:04:42 +0100, Casper Bang <caspe...@gmail.com>
wrote:


> To continue your Mac example: Try to run your Swing app on OSX Lion and
> notice how it's unable to go into fullscreen mode. Or try letting a blind
> person, with a screenreader, navigate your (emulated) Swing UI.

Swing has got accessibility support. Sodbeans, for instance, is a project
based on Swing for blind support. BTW, it's one of the Duke Awards of this
year.

http://netbeans.dzone.com/news/sodbeans-15-enhanced-netbeans

Vince O'Sullivan

unread,
Dec 6, 2011, 12:17:33 PM12/6/11
to The Java Posse
On Dec 6, 5:04 pm, Casper Bang <casper.b...@gmail.com> wrote:
> To continue your Mac example: Try to run your Swing app on OSX Lion and
> notice how it's unable to go into fullscreen mode.

To be fair, it's taken Apple themselves until 2011 to manage this feat
on their own machines.

Casper Bang

unread,
Dec 6, 2011, 12:48:45 PM12/6/11
to java...@googlegroups.com, Casper Bang, ricky.c...@gmail.com

Swing has got accessibility support. Sodbeans, for instance, is a project  
based on Swing for blind support. BTW, it's one of the Duke Awards of this  
year.


Ok, so there's better accessibility support now. :) But it's really a long list of stuff one could mention, i.e. it wasn't until quite recently you were able to place an icon in the WIndows systray area (and even then I seem to remember you could only use primitive AWT menu stuff). So I still think my point is valid.

Joseph Ottinger

unread,
Dec 6, 2011, 12:53:30 PM12/6/11
to java...@googlegroups.com, Casper Bang, ricky.c...@gmail.com
Casper, those are fair issues - but there IS no "one true language" that delivers on everything. There are tradeoffs for every language and OS. Java does a remarkably fantastic job at very much of it, even while being far from perfect.

--
You received this message because you are subscribed to the Google Groups "The Java Posse" group.
To view this discussion on the web visit https://groups.google.com/d/msg/javaposse/-/5mZe0IhCnrQJ.

To post to this group, send email to java...@googlegroups.com.
To unsubscribe from this group, send email to javaposse+...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/javaposse?hl=en.



--
Joseph B. Ottinger
http://enigmastation.com
Ça en vaut la peine.

Fabrizio Giudici

unread,
Dec 6, 2011, 12:59:12 PM12/6/11
to java...@googlegroups.com, Joseph Ottinger, Casper Bang, ricky.c...@gmail.com
On Tue, 06 Dec 2011 18:53:30 +0100, Joseph Ottinger
<jo...@enigmastation.com> wrote:

> Casper, those are fair issues - but there IS no "one true language" that
> delivers on everything. There are tradeoffs for every language and OS.
> Java
> does a remarkably fantastic job at very much of it, even while being far
> from perfect.

Exactly. I was going to say: the point is when you interpret WORA as a
black/white thing. Those saying that Java "failed" have a vision where
either you have everything WORA, or the mission is failed. As all the
other things, WORA is an analogic concept and the analogic score is very
high. Furthermore, where the score is lower is on the UI, and all UI
technology aren't able to be 100% WORA in this field. HTML5 is to be seen
yet.

Jim McDonnell

unread,
Dec 6, 2011, 2:04:40 PM12/6/11
to The Java Posse
Wow, I'm really surprised that my question has devolved down to
talking about WORA and UI's. Do people really do a lot of UI work in
Java? I have only done Java UIs for my own experiments. Maybe it's
because I live in Atlanta, and not in Silicon Valley, but I have
always considered UI with Java as inconsequential.

I was expecting someone to talk about language shortcomings. Maybe
poor structure/quality of the core libraries.

For example, I listen to Dick W. talk about Scala and how it gives
such great performance improvements. Since Scala and Java both run in
the JVM, that tells me the JVM itself has the potential for the speed,
it's just something about the Java Language Implementation. And maybe
the "lies" referred to in the episode are talking about holes/poor
decisions made when crafting the language.

But if all anyone can complain about is UI, then for me you are just
complaining to complain. My point of view is that if you are creating
a serious UI, then you are not using Java anyway.

(If you are creating serious UI with Java, please let me/us know. I
am willing to accept that I am wrong in my POV. Sort of why I started
this discussion.)

Joseph Ottinger

unread,
Dec 6, 2011, 2:08:34 PM12/6/11
to java...@googlegroups.com
Java's core collections are fine - for the general case, they're very fast. Most of the issues with performance in collections that *I* have seen come about because of "optimization that isn't" - i.e., people decide that LinkedList is the right way to go for a given app when ArrayList is much faster. That's one thing the Scala people actually did pretty well, when they described the actual performance of collections given various operations - but it still means the coder has to know what he's doing.

--
You received this message because you are subscribed to the Google Groups "The Java Posse" group.
To post to this group, send email to java...@googlegroups.com.
To unsubscribe from this group, send email to javaposse+...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/javaposse?hl=en.

Cédric Beust ♔

unread,
Dec 6, 2011, 2:19:48 PM12/6/11
to java...@googlegroups.com
On Tue, Dec 6, 2011 at 8:00 AM, Lenny P <lpr...@hope.nyc.ny.us> wrote:
The Java promise was 'write once, run anywhere' and it didn't happen

Uh? There are far, far more applications written in Java that happily run on Windows, Linux and Mac without a change to a single line of code than OS-specific Java applications.

-- 
Cédric

Cédric Beust ♔

unread,
Dec 6, 2011, 2:23:09 PM12/6/11
to java...@googlegroups.com, ricky.c...@gmail.com
On Tue, Dec 6, 2011 at 9:04 AM, Casper Bang <caspe...@gmail.com> wrote:
Java tried, but it failed. And really, how could a unification of UI/UX across different OS be anything than the never-ending quest for lowest-common denominator?!

I'd say both Swing and SWT have been fairly successful in that area, but it's true that the GUI aspect is probably the weaker side of Java's WORA promise (but it's still far better than all the alternatives, e.g. Qt and others).

But for non GUI apps (even purely graphical ones, e.g. Minecraft), Java is by far the best WORA platform that has ever been created. 

-- 
Cédric

Fabrizio Giudici

unread,
Dec 6, 2011, 3:06:26 PM12/6/11
to The Java Posse, Jim McDonnell

I'm sorry to repeat on and on the same things, but it seems that many
don't get it. If you're talking about end users, you are mostly (but not
totally) right. If you're talking in general, there's a plentiful of rich,
complex and mission critical applications around. The only fact that you
and others can't see them, because they are privately used, doesn't mean
they don't exist. Start looking at platform.netbeans.org's showcase and
the same stuff from Eclipse RCP.

Fabrizio Giudici

unread,
Dec 6, 2011, 3:07:47 PM12/6/11
to java...@googlegroups.com, Cédric Beust ♔
On Tue, 06 Dec 2011 20:19:48 +0100, Cédric Beust ♔ <ced...@beust.com>
wrote:

Exactly. Adding to this, one problem is UI fidelity. UI fidelity (which,
BTW, the mentioned "full screen" button on Mac OS X) proves to be a hard
point, indeed, but this is sensible only for end users. Functions, though,
can be implemented without a strong UI fidelity.

Ricky Clarkson

unread,
Dec 6, 2011, 4:15:46 PM12/6/11
to java...@googlegroups.com
The application didn't really benefit from fullscreen, as it had
infinite scrolling before we were all gawping at Twitter doing it.
And in 4 directions.

It would have been useless for blind people, as it was deliberately
aimed at sighted users. In fact, the way I wrote it ignored Swing's
accessibility APIs, so I actually wasn't using the support that you're
complaining doesn't exist.

Regarding cross-platform UI being a quest for the lowest common
denominator, I think that overstates the differences there are between
the platforms we actually use.

On an unrelated note, I just can't beat you on a particular level of
Angry Birds that you probably didn't even know I was trying to beat
you on. Grr. :)

Ricky Clarkson

unread,
Dec 6, 2011, 5:52:09 PM12/6/11
to java...@googlegroups.com, Casper Bang
The jdic components existed for doing that back in the dark dismal 1.4
days and possibly before.

It was so nice to be able to delete those when Java 6 arrived. But
yes, there is an AWT restriction. This has nothing to do with WORA.

Jim McDonnell

unread,
Dec 7, 2011, 8:47:26 AM12/7/11
to java...@googlegroups.com, Jim McDonnell
OK, I'm derailing my own question about "how did Java lie" - something I was going to let others do (and they're doing a great job ;->),

I look at internal applications as edge cases.  If you are building a mission critical UI app in Java, how often are you concerned about WORA?  Maybe my company is weird, but we are mostly standardized on a couple of models of computers running Windows XP or Windows 7 to help make support easy (because that support is outsourced and you can't make things difficult in that case).  So for where I work, I can only think of a few reasons to create a mission critical UI app in Java:
  1. You need to deploy an app for users to run locally on their computers.  However you want to be able to easily update those apps without adding to your operational/support headaches.  So you choose a Netbeans or Eclipse like platform (there may be others) that helps you build a UI that also has built in ability to download/apply updates over the network.
  2. You just want to do it to experiment with Java UI and follow RDD principles (Resume Driven Development).
I can understand the first reason, maybe users aren't connected to the company network (or any network) often, and need something they can run when disconnected, and need some functionality that is easier to provide using Java libraries.  The second reason is more likely what the real motivation is.  Hell, we all want to follow RDD principles!

Outside of disconnected users, I would expect reasonable/just-get-it-done-fast people to either target a Microsoft (VB/C#) platform to create the UI (because the tooling just makes it easier than Java), or, more likely, target a web app for the UI.

Perhaps for a company that runs on Macs the leaning might be more towards Java. (Is there a VB like tool for Mac?  I don't know, the last time I worked on a Mac was nearly 20 years ago, when you could put a fast app together using Hypercard.)

Ricky Clarkson

unread,
Dec 7, 2011, 7:51:30 AM12/7/11
to java...@googlegroups.com
Part 1 is achievable with Java Web Start. Nobody needs Eclipse or Netbeans.

A third reason, you want your app to run anywhere and it needs features not available to webapps.
From: Jim McDonnell <james.t....@gmail.com>
Date: Wed, 7 Dec 2011 05:47:26 -0800 (PST)
Cc: Jim McDonnell<james.t....@gmail.com>
Subject: Re: [The Java Posse] Re: I need clarity on Episode 371
--
You received this message because you are subscribed to the Google Groups "The Java Posse" group.
To view this discussion on the web visit https://groups.google.com/d/msg/javaposse/-/TB53_rgiAGAJ.

Fabrizio Giudici

unread,
Dec 7, 2011, 9:20:39 AM12/7/11
to java...@googlegroups.com, Ricky Clarkson
On Wed, 07 Dec 2011 13:51:30 +0100, Ricky Clarkson
<ricky.c...@gmail.com> wrote:

> Part 1 is achievable with Java Web Start. Nobody needs Eclipse or
> Netbeans.

To be more precise :-) you can perfectly do the thing with JWS and you
need Eclipse or NetBeans only if you additionally want the update control
to be exposed to the user (e.g., you can have an update center with a nice
UI where you can choose what to update - can be a bad idea in an
enterprise).

>
> A third reason, you want your app to run anywhere and it needs features
> not available to webapps.

Exactly. For instance you need computationally intensive clients with
multithreading.


While it's correct that often there aren't strict WORA needs in deployment
(usually you control all the clients, so they are e.g. all Windows, or all
Linux, or all Mac OS X), the typical benefit of WORA is that you can
develop with a different platform than production without much hassle. For
what I can say, I often see developers using Linux and deployment to
Windows.

Casper Bang

unread,
Dec 7, 2011, 9:34:51 AM12/7/11
to java...@googlegroups.com, ricky.c...@gmail.com
I hate to sound like the cranky old man on this list, but Web Start is, as good as the idea is, not the joy it's marketed as. Clients unable to handle the jnlp content-type (Chrome comes to mind), clients choking after updating code certificate, Citrix sysadmins frowning due to the special rights they have to grant javaws etc.

Ricky Clarkson

unread,
Dec 7, 2011, 9:00:16 AM12/7/11
to java...@googlegroups.com
It works for my client. Chrome is disallowed.

------Original Message------
From: Casper Bang
To: java...@googlegroups.com
Cc: ricky.c...@gmail.com
ReplyTo: java...@googlegroups.com
Subject: Re: [The Java Posse] Re: I need clarity on Episode 371

Jim McDonnell

unread,
Dec 7, 2011, 10:04:53 AM12/7/11
to java...@googlegroups.com, Ricky Clarkson
Whoa, developers allowed to use linux?  Do you work in the wild west? Next you'll be stating something crazy like developers use Macs and the rest of the company uses PCs. (Can you tell I work in a VERY controlled environment.)

This is probably another thread I should start - Do the folks on the podcasts/roundups sound typical or radical - because most opinions don't seem to reflect what I think is typical workplace reality.  Maybe I need a new job!

Carl Jokl

unread,
Dec 7, 2011, 10:07:18 AM12/7/11
to java...@googlegroups.com
I work in a company where all the developer computers run Linux. To be honest this is a first as non of the other places I worked were like that.

On 7 December 2011 15:04, Jim McDonnell <james.t....@gmail.com> wrote:
Whoa, developers allowed to use linux?  Do you work in the wild west? Next you'll be stating something crazy like developers use Macs and the rest of the company uses PCs. (Can you tell I work in a VERY controlled environment.)

This is probably another thread I should start - Do the folks on the podcasts/roundups sound typical or radical - because most opinions don't seem to reflect what I think is typical workplace reality.  Maybe I need a new job!

--
You received this message because you are subscribed to the Google Groups "The Java Posse" group.
To view this discussion on the web visit https://groups.google.com/d/msg/javaposse/-/_v_cY8OdRugJ.

Ricky Clarkson

unread,
Dec 7, 2011, 9:10:38 AM12/7/11
to java...@googlegroups.com
My brother-in-law works at a tourism company and is only allowed to use Linux.
From: Carl Jokl <carl...@gmail.com>
Date: Wed, 7 Dec 2011 15:07:18 +0000
Subject: Re: [The Java Posse] Re: I need clarity on Episode 371

Jim McDonnell

unread,
Dec 7, 2011, 10:12:48 AM12/7/11
to java...@googlegroups.com, ricky.c...@gmail.com
Both valid points.  I had lumped your  third reason into my first reason when I typed "need some functionality that is easier to provide using Java libraries", but you can't know what I'm thinking.

But still for "internal apps", my reality does not cause me to worry about running on lots of different OSes.  If I'm writing it for folks to use as part of their job, I'm writing it for Windows or a browser (running in windows).

Fabrizio Giudici

unread,
Dec 7, 2011, 10:24:43 AM12/7/11
to java...@googlegroups.com, Casper Bang, ricky.c...@gmail.com
On Wed, 07 Dec 2011 15:34:51 +0100, Casper Bang <caspe...@gmail.com>
wrote:

> I hate to sound like the cranky old man on this list, but Web Start is,

JWS has got troubles, but it's not necessarily wrong. I see them working
where I am and there's a complex application. In any case, NetBeans or
Eclipse can help. For what concerns special rights, this is not a problem,
but a requirement, in case your application needs to access local
resources. Not having this step would be a big hole in security.

Fabrizio Giudici

unread,
Dec 7, 2011, 10:42:39 AM12/7/11
to java...@googlegroups.com, Ricky Clarkson
On Wed, 07 Dec 2011 15:10:38 +0100, Ricky Clarkson
<ricky.c...@gmail.com> wrote:

> My brother-in-law works at a tourism company and is only allowed to use
> Linux.

Most of the developers I see (my primary customer, but others too) use
Linux for developing; some Windows; customers very into graphic design
(e.g. typically web 2.0 apps) use Macs.

In any case, some global statistics that I know are: mostly Windows, a
reasonable number of Linux and just a few Mac OS X. I can't disclose the
source of the statistics.

Rakesh

unread,
Dec 10, 2011, 2:40:19 AM12/10/11
to java...@googlegroups.com
I work for one of the largest broadcasters in the UK and have done,
one and off, for the past 4 years.

They develop on Windows, Macs and Linux. It all depends on the
particular team culture you are in.

The rest of the non-techies run corporate-sanctioned Windows machines.

I think there is an assumption that if you decide to go off-road with
your own hardware/software combination, then do not expect central IT
support. And to be honest, I think that is fine. Any software issues
devs can handle themselves and hardware issues means the machine gets
returned. The only issue this has caused me is:

1. Not being able to run a native Outlook client on Linux and have to
use the web version instead (and thats ok).
2. Not being able to VPN without WIndows but this is an issue from
home not in the office(duh!) and I got round that by running Windows 7
in a VM at home for access to works network.

WORA for us is extremely important even though we only produce web
apps and back end Java systems. Production environments are any number
of Linux flavours and we cannot guarantee our site visitors are
running windows.

There is no lie to Java, just like in medicine, they think they have
the cure for stopping smoking but instead find it gives you a boner!!!
In the early days, Java was tauted for embedded devices/running in a
browser. But where it actually succeeded was server side glue and
building web apps.

Rakesh

clay

unread,
Dec 14, 2011, 1:28:00 PM12/14/11
to The Java Posse
People are just being cranky and negative. Java isn't a "lie" at all.
There are caveats and flaws that people are overreacting over.

The JVM client GUI platform handles Windows/Mac/Linux really well and
there really isn't other dev platform that is even close. Again, there
are definitely some caveats:

- you don't get 100% of the native platform integration. For some
apps, like a local file browser, web browser, text editor or a music/
video player, you want something that is completely platform specific
and has perfect integration. But for many other apps, that's just not
necessary.
- There is more than Windows/Mac/Linux. Your Java apps won't run on
iOS or a game console (PS3/Wii/360/Vita/DS) without a major rewriting
effort. The game consoles all require C at the low level.
- For a large range of consumer applications, HTML/JavaScript really
have critical mass, and that market is increasingly rejecting JVM/
Flash/.NET.

To resummarize positives:

- High performance, excellent, best of breed Windows/Mac/Linux
support.
- Aamzing support for server side projects, abstract theoretical and
computation work, client widget data/business UI apps, and OpenGL
graphics apps.
- JVM has an amazing ecosystem: The best alt-languages, the best
IDEs, the best libraries, and the best build/test tools. When I've
tried iOS development for their amazing client ecosystem, or Haskell
for their amazingly purist approach, you really realize how much you
miss from JVM in terms of build tools, test tools, library ecosystem,
and quality IDEs.

Reply all
Reply to author
Forward
0 new messages