

James Gosling: Quite the Firestorm - bokchoi
http://nighthacks.com/roller/jag/entry/quite_the_firestorm

======
drcode
This sentence makes me cringe: "There is enough fragmentation among Android
handsets to significantly restrict the freedom of software developers."

It uses the word "freedom" in that doublespeak-y way that is used in the
"Handmaid's Tale" when they talk about giving citizens "freedom from" social
deviants by establishing a totalitarian state.

~~~
illumin8
I think he actually makes a good point - remember what James Gosling has been
through with the Java/Microsoft scandal. What would happen if Microsoft
decided to make their own Android handsets tomorrow, but "embraced and
extended" the Dalvik VM to run some special .NET code? If they gained
significant marketshare, they could hijack the Android mobile platform as
their own, just like they tried to do with Java.

I'm not saying they would do that, or even that they should, but I think this
is the line of thinking that Gosling is coming from. Java has always had
"write once, run anywhere" as it's motto. Android should try to stick to that
ideal as well- it would do the platform good.

~~~
bad_user

         remember what James Gosling has been through with the Java/Microsoft scandal
    

Yes, I remember Microsoft releasing the first JVM that did JIT compilation. I
also remember them having the only usable IDE for Java at the time.

I also remember them wanting to add "delegates" to the standard, with Sun
responding with an idiotic reply for all to view here:
<http://java.sun.com/docs/white/delegates.html>

Delegates which are now being added through the back-door in the InvokeDynamic
JSR ... oh, the irony.

If Java is a standard, then Sun should have let others participate. Imagine if
the Javascript standard / trademark was controlled by Microsoft, and they
would sue Apple / Mozilla for adding "proprietary" extensions to it.

Want to avoid fragmentation ... then don't build cripple-ware.

~~~
illumin8
I'm admittedly not a Java expert, and I'll grant you, Microsoft's VM might
have had some cool features - hell I bet if you gave them enough time they
would have had GPU accelerated 3d graphics available in a browser through Java
- for Windows platforms only.

The problem with Microsoft is that they are a habitual monopolist and their
method of choice is embrace, extend, and extinguish. They were already on step
2 of their plan before Sun's lawsuit stopped them.

Do you really think Java would be in the state it is today if you had to
target a different VM for every OS? Microsoft always tries to lure developers
over to their platform with the "ooh, shiney" factor of new APIs and features.
This is like cheese in a mousetrap. Once they have you hooked on their APIs
you're screwed.

------
kevbin
I admire and respect Dr. Gosling. But I don't think he's reached the
acceptance stage vis a vis Sun's great sickness unto death: Java. As
technology, java is an adequate synthesis (and advancement) of bracey-block
syntax and UCSD-p system platform abstraction. Lots of potential that failed
to ever materialize. Sun's aggressive marketing of java as the solution to
everyone's problem stagnated the language, starved the company's other
engineering efforts, doomed them to the reign of a feckless boy king, and
drove them into the arms of a suitor that walks the walk Sun was talking since
at least the Javasoft era.

Gosling's characterizations of Sun may have applied pre, say, jdk 1.2, but Sun
choose to bite the apple, to compete with (and sue) Microsoft, to attack
competing technologies, to restrict competitive products--basically to act
just like everybody else. The result is a dreadful technology: PL/1 for the
21st century, embedded through every industry, taught in every school; and a
zombie Sun persisting in the bowels of a ruthless "devil" they thought to
slay.

I'm sure Dr. Gosling knows the changes that Sun went through on its long
downward spiral better than just about anyone else, but I wonder if he's
willing to acknowledge the role that Java qua product played in sealing Sun's
fate and the fate of technologists for whom Java is now the default with which
they must labor? An apology for Java(tm) would make the elegies a bit more
palatable.

~~~
dman
I think youre attributing bad intentions where incompetence would suffice.
Also since the main selling point of Java was portability I think Sun was
correct in going after implementations which diverged significantly. Sun might
have fumbled on a lot of different things, ethics doesnt appear to be one of
them.

------
tzs
My recollection of Microsoft J++ was that it was basically a superset of Java,
with the added features allowing you to take full advantage of Windows
features. This gave developers the option of sticking to the standard Java
features, and ending up with a portable application, or using the extensions
so as to write an application that would actually be able to compete on an
even footing with non-Java applications. Gosling makes it sound like you could
not use J++ to write a portable program.

Sun insisted that Java should be "write once, provide the same inferior
experience everywhere", and the result is that Java is pretty much completely
dead on the desktop.

~~~
prodigal_erik
J++ was missing several key interoperability features like JNI (instead it
required idiosyncratic native code that no JVM could run) and RMI (it couldn't
make remote procedure calls at all, unless you roll your own). And rather than
sticking to their own packages, they deliberately poisoned standard classes (I
think this even included java.lang.System!) with nonstandard methods whose
absence would prevent your code from even loading on a conforming JVM.

~~~
MartinCron
If I remember correctly, and this was a long time ago, J++ also didn't support
.JAR files, and only was compatible with .CAB files for compressed sets of
files.

------
ajju
I have a lot of respect for James Gosling but claiming that J2ME is more
developer friendly than developing for Android is kind of ridiculous. IMO
Anyone who has tried to write apps for pre-Android phones using J2ME and tried
Android development would prefer Android any day for both business and ease-
of-development reasons.

~~~
dman
Can you point out where Gosling makes the claim that J2ME is more developer
friendly ? From my reading of the article he mentions the fact that J2ME fared
poorly on code portability across devices and that android fares even worse.
He does not address which is more developer friendly in the article at all. As
an aside I do agree with him that Android is more fragmented now than J2ME was
back in the day.

~~~
ergo98
>From my reading of the article he mentions the fact that J2ME fared poorly on
code portability across devices and that android fares even worse.

Well clearly having worse fragmentation would be less developer friendly,
would it not? One follows from the other.

>As an aside I do agree with him that Android is more fragmented now than J2ME
was back in the day.

No one who actually developed for Android and J2ME would even dream of saying
this. Gosling gets too much of his news from Engadget, I suspect.

~~~
dman
It might be just me but when someone says developer friendly I imagine theyre
talking about a solid api, easy development cycle, good documentation ,
helpful community. If someone were to talk about one use case thats more
broken on one platform vs another I would not parse that as one platform is
more developer friendly vs another.

Its been sometime since I tried to hack anything on android (i briefly
tinkered with it around version 1.6) but here is an example of some cross
device breakage that I ran into -
<http://code.google.com/p/android/issues/detail?id=1480> .

~~~
ergo98
That is the poster child of different behaviors -- bring up Android
fragmentation, and it's invariably what gets brought up. Sure, it's a problem.
It should behave consistently. It's one very, very, very small element of the
platform.

~~~
dman
Having intents without having a mechanism to specify an interface for
applications that handle intents is the part that seems broken to me. As I
said I have not been following android so I do not know if this has
subsequently been addressed.

------
ams6110
He claims that Apple doesn't like Java because it doesn't lock you to their
platform. But Apple worked very hard to support Java as an alternative to
Objective C, they basically ported (or tried to port) the entire API to Java
but it never really got traction. I'm not sure whether it was because all the
folks who were early developers for OSX came from a NEXTSTEP background and
already had a legacy in Objective-C, or whether the message-based method
invocation of Objective-C was just more flexible, but for whatever reason it
turned out to be a dead end.

~~~
pkaler
Yup. Apple stopped supporting the Java to Cocoa bridge because developers
weren't using it. It is a huge uphill battle trying to make an App written in
Java look good and run with a native feel. Apple doesn't like Java on the
desktop because Apps look like this: <http://twitpic.com/2djc4u>

Apple still uses Java on the server. For example, the iTunes e-commerce back
end is written in Java.

~~~
jsz0
There are some success stories. Cisco uses it for their ASDM client:

<http://imgur.com/hvGxp.png>

~~~
stevejohnson
Yeah, but look at those awful buttons and the weird nonstandard border in the
top half.

------
cageface
_We survived, but to help protect us from future suits we went on a patenting
binge. Even though we had a basic distaste for patents, the game is what it
is, and patents are essential in modern corporations, if only as a defensive
measure._

This illustrates very clearly just how dangerous (if understandable) this
mindset is. Don't fool yourself that you're only filing "defensive" patents. A
patent is a weapon and the fact that _you_ don't intend to fire it is no
guarantee that somebody else won't later. What's worse, with everybody
patenting every dumb thing under the sun out of fear, there's that much more
ammunition lying around for unscrupulous people down the road to use.

------
tzs
The ads on the left side had me laughing. They are Google ads--and every one
of them when I visited the page was for attorneys and services offering to
help people get patents.

~~~
dman
Ad systems currently fair very poorly on content which contains a negative
commentary about a topic.

------
pvg
_They had very weak notions of interoperability, which, given our history, we
strongly objected to._

The trouble here is the assumption that Sun's notions of interoperability were
inherently better and that it makes sense to appoint Sun as a global steward
of interoperability. Given the history of what, making cellphones?

------
tlrobinson
The "How To Patent Your Idea" ad, along with the "Ads by Google" caption, on
an article by the creator of Java about Oracle suing Google is slightly
ironic...

------
ez77
Can't James Gosling afford an ads-free blog? Geez...

