
Java was a colossal failure...JavaScript is succeeding because it works - ojr
http://jaxenter.com/douglas-crockford-java-was-a-colossal-failure-javascript-is-succeeding-because-it-works-45928.html
======
javajosh
Hmm. When measured against the ambitions of Sun's marketing team, Java is
indeed a colossal failure (real failures: Applets, WebStart, BluRay, Swing).
But then, Sun's marketing department was always smoking crack. That said, Java
remains a potent force within the enterprise, and also in mobile (via
Android), which is no small thing. It's also neat that the JVM is being used
as an execution environment for new languages, which extends the relevance of
the underlying platform and it's libraries. So to say it's a 'colossal
failure' is rather unfair.

My belief is that JavaScript is succeeding because it appeared weak enough to
sneak into all the browsers everywhere. The very fact that no-one took it
seriously meant that no vendor had a reason to remove it. Apple thought Flash
was a threat, so they removed it, but they left JavaScript in.

Then came a time of programmer maturity and open-mindedness. Functional and
dynamic paradigms had a chance to take hold. JavaScript, it turns out, is a
language with some structural beauty hidden behind a few (mostly superficial)
glaring problems.

But the single biggest thing that JavaScript gives us over and above Java is
true openness! There never was, and there never will be, a jsfiddle for Swing.
The "installation" procedure for JavaScript programs is...clicking a link. I'd
argue that the tooling for JavaScript is in some ways even better than for
Java: for debugging UI, give me a developer console and webkit inspector over
Eclipse any day.

It remains to be seen whether JavaScript will be the language of the server.
I'm very excited by new tools that span the client/server divide, particularly
Meteor (which is built on node). People always want to know if I'm a front- or
a back-end programmer, and the answer has always been "both" although I've
never been content with a) the language divide or b) server-rendered HTML.
Single page apps, dynamic JSON data-structures all the way through the stack,
and reactive programming is like a little slice of heaven.

The _interesting_ problem with Meteor is coming up with a way to recover that
jsfiddle magic for the server-side pieces. Which is something I'm working on.

~~~
unconed
If you're interested in the full history, watch Crockford's Your New Overlord
talk. He explains that Sun wanted JavaScript gone, but they had to keep it,
because it was the only way for Java to talk to the DOM at the time.

<http://www.youtube.com/watch?v=Trurfqh_6fQ>

As for Apple not seeing JavaScript as a threat... that's quite the
understatement. Everyone seems to have forgotten that Steve Jobs actually went
on stage and declared that Web Apps were the way you would develop apps for
the iPhone, in 100% JavaScript. This was almost a year before the App Store
and the Cocoa Touch SDK. Nobody really believed him at the time, but it was in
line with what they'd been doing.

If you look at Safari's evolution on the desktop, there was a ridiculous
performance boost with Safari 3. Incidentally, this was during the same time
they would've been developing the iPhone's browser. At the same time they
started doing things like CSS animations, CSS transitions, CSS 3D (which was
first available on iOS, not on the desktop), all technologies that are
required to bring an Apple/Cocoa-like experience to web apps. That's not a
coincidence.

Someone who worked at Apple told me that, in fact, Steve Jobs wasn't entirely
lying. They did believe web apps were the future. But they simply couldn't
deliver on it, and even today, native mobile apps still have a huge lead over
web.

------
mindcrime
There is no reasonable standard by which Java can be classified a "colossal
failure". This headline is just linkbait, although the linked article may (or
may not) actually be reasonable.

Did Java live up to every ambition that Sun had for it? No, of course not. Did
it "fail" in certain niches, by some standard? Yes. But given it's widespread
popularity and extensive use to this day, calling Java a "colossal failure" is
as ridiculous as calling an M1A1 Abrams tank a sports car.

------
ihuman
How was Java a failure? There is only a few sentences where it said how it
"failed in consumer electronics." It felt like they were stuck in there to
create a sensationalist title, rather than being an important part of the
article.

~~~
unconed
Because despite years of trying to shove it in people's faces, nobody
genuinely liked using it. Then again, they never fixed the absolutely abysmal
start up times.

Through Java Applets, Sun associated the Java logo with "my browser freezes
for 10+ seconds". How nobody thought that was a colossal problem, I still
don't understand.

------
jayferd
From context, I'm guessing DC meant Java applets in the browser, in which case
I have to agree with him. Java in general, on the other hand, while often
unpleasant, is doing fine.

~~~
ihuman
Also, it is a fairly easy object-oriented language to learn, seeing how the AP
Computer Science test is on Java.

------
kaolinite
JavaScript is succeeding because it's the only choice, IMO. Sure, it's doing
well on the server-side too now, but I think a big part of that is just
because it's a fresh language there - no baggage with old libraries, etc.

------
marshray
_Crockford: Your mom doesn’t know what JavaScript is or care._

My mom knows what Javascript is and does care about it.

Let's get out of the habit of this casual ageism and sexism, OK?

~~~
lgas
Crockford wasn't being racist or sexist. He was using an idiomatic euphemism
for "the average user".

Let's get out of the habit of being a a bunch of uptight curmudgeons about
every little thing on the internet, OK?

~~~
marshray
I know it's an idiomadic euphemism, I've used it myself.

I'm not being uptight about "every little thing on the internet", I'm saying
that in this specific way our language ought to evolve.

~~~
lgas
Well, you're entitled to your opinion, but it's my opinion that you're being
uptight and there's no need for our language to evolve in regards to this one
specific thing. Saying "you're mom xyz" to as a euphemism for "the average
consumer" is neither racist nor sexist.

------
matdrewin
How is Java a failure?

~~~
Ygg2
To be a devil's advocate. Java is a failure because it never attained
dominance in the niche it was trying to fill (web, mobile, embedded devices).
This is of course disregarding Dalvik and numerous Java network libraries
(like Netty).

~~~
mushtar
I think it's doing fine on the web (think enterprise) and mobile (Android).
Can't comment on embedded devices, since I'm not too familiar with embedded
development.

~~~
greyfade
I think by "web," he meant Applets. Which was the big thing. Servlets were
much less part of their marketing, as I recall.

------
shadgregory
So which is it? Is Douglas Crockford a god or a superhero?

