Shared publicly  - 
Alfonso Burgos's profile photoBouallagui Moncef's profile photoShawn Brinkman's profile photoJuanjo Fernández's profile photo
The worst part is JavaScript’s reliance and global variables. The security problems that we see in the browser are rooted in that mistake

This reminds me about Microsoft in a way sticking to that worst part:
The following definitely sounds like anti-Android rant:
That seems to be a better place to start than any of the other things. Something that you see in other platforms is a “blame the victim” security model. We’ll ask the user a question that the user cannot possibly understand or answer correctly. And then when things go wrong it’s the user’s fault for having agreed to this. That’s not a security model, that’s just…stupid!
Java was a colossal failure in the browser, yes, but the JVM is doing great on the server, it's hosting exciting languages like Clojure and Scala and Python and Ruby and.. JavaScript. It's also doing very good service in Android.
Kerry Wilson
Java applet technology failed.  It is doing great elsewhere.  I like Java, I like Javascript, they both have strengths and weaknesses.  Is this post from 2012 or 2002?
Coffeescript is ruby and python aesthetics on top of JavaScript. It doesn't address any real problems. People "enjoy" it; great.
It is just a bit sad that various bits of JSON code are having to be removed from free software distributions because they were given a non-free license. It would be a distinctly non-evil Christmas act to re-license such code under a free software OSI compatible license and save people the work of rewriting it.
+Jonathan Abbey Maybe we could bake Java into the browser? I don't see why Javascript should be the only language of the browser. That's just a monopoly.
Alan, what (tf) are you talking about? JSON has no restrictive licensing, it's just a specified subset of JS.
This fellow has a funny definition of "colossal failure".
Hahaha. Java (the most popular programming language) was a colossal failure... And Javascript just works? I lost so much respect reading that. Don't worry I still have plenty left, but wow.
Geoff, Java Applet technology certainly was a failure. It disappeared.
+Vladimir Kelman Almost. You can still find traces of it around the web. Its most handy when a java app is available as a straight up web-app. But yeah hardly any new front facing projects use .jnlp or applet anymore. (except for maybe the old free version of minecraft).

Probably a bigger failure than Java Applets are Javafx applets, which never really took off at all.
When I read criticism of one programming language over another,e.g. Java vs JavaScript, it makes wonder the level of intelligence about these so called experts. I've been in this business for over 30 years and have programmed in ever manner of platform and language. Languages are "tools" that enable us to build things...nothing more. The chosen language usually fits the context of how it's being used. So this "expert" saying Java is a failure just shows a level of ignorance that is beyond belief!! Where you drunk on eggnog or something?!! No soup for you!!! 
+David Zaffery - I'm sorry, but before making such statements, google for who Douglas Crockford is.

To me, there is nothing personal in this post and the discussion. It's just extremely interesting to hear what well-known programmers think. They may be biased, but it still valuable to try to understand their logic.
P.S. I'm not sure that magazine wrote exactly the same thing Douglas actually said. They used to screw things...
Then I'm getting paid for a failure? Java might not have been a success in the browser, but you might be amazed how many desktop applications are made in Java. Also, search how many web pages are backed by java; not to mention how many services are made in Java. Yes, a hell of a failure. Javascript on the other hand is good for simple client logic, but can get unmantainable as it grows.
+Alied Pérez Martínez - I would certainly agree with you on a success of Java as a server-side language, to a lesser extent - for desktops. I guess that this polemic article was talking about client Java.  Also, as one guy mentioned, a mass-usage of a language doesn't necessary mean it is very good from the purist's point of view.
What I definitely love is Scala It is 100% compatible with Java, btw., but it is also a functional language.

JavaScript - in my opinion - is much more than you think. It was a simple client logic language, but it matured into something much bigger.  (I wonder of what +Brendan Eich would say.)

+Paolo Fragomeni - don't be angry it looks stupid.
+Vladimir Kelman I know who he is, so what...I don't care if he's Albert Einstein. Just because someone is popular doesn't mean they are flawless in their opinions. Clearly his alleged comments are flawed; Java is clearly an enormous success, as is JavaScript for AJAX apps. Like I said before languages are tools to be used for the right application context. Saying one is a failure over another is like saying a screwdriver is better than a hammer. 
Real experts don't denigrate other programming languages.
I don't know about that, Jose. I used to denigrate ASP all the time, back when I had to use it.
+Paolo Fragomeni no, +Jo Shields is not a fucking moron, and I personally wouldn't describe +Douglas Crockford as a moron either. Yes JSON is a spec, but jslint is a library, and that license as written has made its way into Debian and Fedora which is a mess up and causing problems because it is a license that isn't compatible with anything else but it has been included within other packages like Owncloud and jquery - thereby making a rather tricky problem to solve - which is probably going to end up with someone rewriting the code cleanly, or it being re-licensed. I would appreciate it if the latter happened.
Here is the size of the Debian problem:
The Fedora situation is much the same but they don't have a corresponding search tool as far as I am aware.
Java is a colossal failure? That's like saying PHP is a failure because it's not used in browsers :/
I'm not sure in which context this was all taken and how the interview was interpreted. Java may have failed on the desktop side, I totally agree on that, but I definitely disagree that Java has failed on the server side. Considering the big number of Java powered websites that are still around, Java is still popular, just not on the client side. 
I liked the bit where he says running just one technology is good, but my preference is that it is Java all the way down rather than Javascript. This is why I use Vaadin (who a're not paying me to say this). The result is a mix of Java on the server with generated html and javascript on the client, but all I have to care about is the Java code so I have my one technology and it is a technology that integrates well with all my other back end libraries (databases, web services, BPM etc).
Any ideas how decent tooling and maintenance in JavaScript could be possible without static types? I am not a big fan of Dart either, but it at least has all the stuff JavaScript is (still) missing if it wants to be considered a rival to Java. Let us see what ES6 brings, though. Until that I think TypeScript is the closest to what I would like JavaScript to be. Coffeescript does not solve any of the issues I am currently seeing with JavaScript. Static types being one, modules being another. Also what about arbitrary precision in math with reasonable performance?
+Roger Parkinson - many people would agree with you, but I always met examples of generated JavaSript code to be a mess (on .NET) and/or wrong OOP style, while JavaScript is not class-based OOP on its soul, but rather prototype-based (Douglas Crockford explained it rather beautifully).
It's a hard problem... I think I would prefer a clean standard protocol for information / command exchange between server-based language and client-based language.
+Oliver Zeigermann - while I understand that JavaScript has many beautiful areas, I'm myself not a JavaScript guru and programming in classic OOP language with static types (C#, Java, Scala) is easier to me than JavaScript or Ruby, Python, etc. So, I tend to agree with you. (Douglas clearly has opposite programming tastes.)  Am I fantasize or +Brendan Eich tipped us at some point that JavaScript 2.0 would include some stronger type-checking?
Te fact that TypeScript is being created by the same genius who wrote Turbo Pascal, Delphi, C#, and LINQ -  +Anders Hejlsberg - means a lot to me.
You got to be an idiot to compare Java with JavaScript, guess it says enough about the rest of the article.
+Vladimir Kelman But to say Java failed does not say anything at all like java applets were not the success that Sun had hoped.  In fact it leans toward a complete lie to further a personal agenda.  But I wasn't going to say that.  Here's the reality -- it is the number 1 platform in the world (and it should be) and yes applets are still used but better than applets has been java web start -- which is now used to launch applets or applications -- always ensuring they are up to date.  Anybody who thinks the train of thought "Java ... applets failed ... there are no applets" is very far removed from reality.  Maybe a Microsoft fan? Or Apple? oh or maybe flash -- that's a real winner there.  I just can't be more glad that html 5 will completely remove the need for flash.  And still the server side environment of Java will live on doing great things in the server space.  And yes there are many great java desktop applications and they will continue to flourish and I'd say get much better over the next five years. Thanks to everybody for reading!
That "Java was a colossal failure" headline has to be the dumbest thing I've read all week. Seriously? Who is this guy?
Java as a server side development language is extremely popular. Entire ecosystems are based on Java ex: Spring. Just because it's not used for UI, doesn't make it a failure. Eclipse SWT would make an excellent front end on the client side. 
How can you call Java a failure? Minecraft is made with Java!
That's weird.  All Android apps are developed in the Java programming language, and they don't appear to be in danger of imminent failure.
Also, Java is used in GWT to generate the JavaScript on the client side. 
and my Ferrari is a colossal failure off road.
Typed languages will always prevail. Javascript is just a toy
To say java failed is a massive understatement. Consulting firms use it in virtually the majority of applications developed for their clients and its only competitor is perhaps dot net (yuck!). I know this for a fact because i work for an in house bank developer team. Of course im talking about javaee and all its libraries as well as frameworks like spring and consequently orms
I'll put my eclipse rcp app up against a java script app any day of the week..
And not even a single mention of GWT which compiles java into JavaScript. This is actually what gets you the same language on both client and server. You also get a single debug environment for both ends.

Evolution doesn't always progress in the best way. With organic growth you sometimes look back and say that you would've never done it this way if you could've designed it right from scratch. And so is the way that web technology evolved.

Also don't thnk that Msft was completely blind sided. They actually created the xmlhttprequest object that gave birth to Ajax.
i smell nerds all over the place :(

Wow, didn't JavaScript borrow the language design architecture?
Okay! All you folks talking about javascript? Stop that!
Remind me again how many devices are powered by JavaScript. Oh right none.
Chris F
Comical stuff, Java a failure... lol
Chris F
And Cobal was supposed to die too ;-)
One has to be crazy to call java a failure. For sure there are strong and weak points for every language but java has been the only one to do a lot with a decent success rate. The scope of java script is much narrower as compared to java and yet he is name calling. May be he drinks too much cool aid..
Java is great write once run anywhere the coolest thing in a world full of countless system architectures

Java has indeed failed the purpose for which it was built. It has succeeded in other fields.
Tell that to everyone running Android. Tell it to all the banks that rely on it for performance and security. Java 1.4 and prior really sucked, but Java 5, 6 and 7 are just awesome. I don't even dare read the article and give this idiot any hits.

Well the author works for PayPal so that says a lot.
+Jose Luis Garcia _ Real experts don't denigrate other programming languages._

Actually, yes, I do. INTERCAL is a terrible choice of language for any SRS BSNS. All languages suck, but there appears at least a partial order on sucking more.
Ha ha. Cute. Now go and write a quality Android app in Javascript. Good luck!
People never understood the full concepts and power of JavaScript. They have only utilize only less ability of JavaScript. And I love JavaScript.
+Johann Blake A lot of games are written in Lua. Especially if you restrict yourself to +Douglas Crockford 's Good JavaScript, there aren't that many differences between the two.

If you mean "uses native UI" you need bindings at least.
Yeah, there are many more E implementations in Java than JavaScript. Therefore his argument is invalid.
I still like programming Java applets, just for fun. It's like a Zen meditation, since no customer will ever ask for them again. Make a tea, concentrate on the logic, start hacking. No stress, pure joy. It's like an island of enlightment in an ocean of fast money-making. It's spiritual. It's great. Java applets aren't dead, they'll bring you back to life. Even on Sun-Days.
When folks down a language to promote their preference I start looking for the cracks in it. I'm not sure how you'd say JavaScript is succeeding when many don't want to write it. Using JQuery isn't really writing JavaScript to me and you have 3 big initiatives in GWT, DART and the one Microsoft has going to make it generally acceptable to developers. In reality its another language and no better or worse off than Java.
hmmm java is a failure? lol that statement right there makes me thin this guy really is short sited. Javascript has a role but it is defintly not the only tool in a devs tool box...and not not use for everything
Mr. Crockford is entitled to his opinion even if he is wrong.
The only reason HTML + JS + CSS is continuing to be the default stack for browsers is that you can write any code in these languages without actually coding in these languages.

But if someone comes up with a browser that uses FXML (from JavaFX) that renders UI dynamically like HTML pages, people will complain saying "it's Java!! I hate Java!!"... even if they could use JavaScript, or Python, or Groovy, or Pearl, or Ruby for the programming part.

Oh wait! I am actually building exactly that :-)

It's called WebFX
+Dave Oxley no it's not, because PHP was never intended to run in browsers (or anywhere except on webservers) whereas Java was intended to run 'everywhere'. In that particular aim - and regardless of any impact it might have made in particular niches - Java has indeed been a colossal failure.

And where the range of viable Java platforms has contracted, js, on the other hand has had some success in expanding its applicability beyond the web browser.

Many of the comments on this thread show cognitive dissonance from Java programmers, who seem to think that if Java is still being used in some niche somewhere, that counts well enough as 'everywhere'. It isn't everywhere. Java simply failed to be 'run everywhere' language. That's Crockford's point.
+Phillip Hagger *niches* (I was very careful to use the plural), but yes, niches all the same. Quite far from 'run everywhere'. Fail.
But great success as a server language, at the same time.
+Brennan Young : no it's not, because PHP was never intended to run in browsers (or anywhere except on webservers) whereas Java was intended to run 'everywhere'

Authorial intent has been out of fashion in critical theory for a while. I think deconstructing the public history of Java (and its propaganda) is interesting, but not determinative in answering "was this trip really necessary?" There is irony here; +Douglas Crockford seems to be known now for recontextualizing JavaScript. (Well, and deciding the XML DOM design and implementations were damage and routing around them.)
I think that Javascript is the perfect language for active networks. You can insert code in the option header, in router that do not understand it will be be passed along.  The problem might be security but I think that could be solved.
+Brennan Young Where is Java not located besides the browser? Its on servers, in smartphones, TV's set top boxes,  runs across multiple OS's and on different CPU architectures. Really can't understand the comment "some niche somewhere" when its quickly becoming a go to runtime for languages everywhere including Javascript. A failure in the browser I'd say yes if you over look projects that compile to Javascript so it can be avoided like a low level language. But far from a colossal failure.
+Phillip Hagger  I think that in the ideal of Unix, in keeping everything as simple as possible and as a text stream, Javascript is superior to Java; but there is a lot to love about Java in particular on the client side. A hybrid approach using java or java like language locally in its own space, and Javascript which acts as glue would to meet the old Unix ideal while providing security. 
Where is Java not located besides the browser?

Aren't we mixing up JVM with Java? They are not the same thing, right?  JVM is definitely a success, Java as a language - IDK.
+Vladimir Kelman could be. I originally asked that in a comment that was lost. But if we're talking about the run anywhere side of things then that's the JVM to me.

Java as a language i don't really know if you call it failure or just evolution with languages like Scala and Groovy trying to replace its syntax. But then you have the same thing going on with Javascript.
use JavaScript as it is and don't beat it to behave like something else, say , Java/.NET..

Theres is a huge mess due to JavaScripts popularity....

Dart,Coffeescript,typescript ... are all ultimatley trying to compile to JavaScript unless browsers start natively support it...

And a dozen of frameworks like backbone,angular etc etc.....

jQuery and a well discussed design pattern can do large maintainable apps....
framework less MVC (lessMVC)
use JavaScript as it is and don't beat it to behave like something else, say , Java/.NET
+John Chacko - that's a very good point. I don't know much about other systems, but what Microsoft tried to do to JavaScript in its ASP . NET AJAX was awful mess - they attempted to bend an elegant prototype-based language into class-based OOP and mixed it together with .NET.  That's why I was so afraid when they started to ship jQuery with Visual Studio - I thought they'll try something similar again.
Douglas! Could you help me!?
 I'm learning HTML5, CSS and JavaScript. In this way, I found a free course from Microsoft ( ) but I'm having  problems to understand the part that cover JavaScript. Sometimes, it (JS) drives me crazy because it puts functions inside functions, which is hard to understand.
I'd like to ask you if you know other resource that I could use to learn JS. I'd like to find some resource with exercises in order to practise what I've learn. Thank you!
Sometimes, it (JS) drives me crazy because it puts functions inside functions, which is hard to understand
+Fabio Camatti - in fact it's one of the most important and powerful features of JavaScript - functions are first class objects, meaning they could be treated as data, passed through parameters, returned, etc. This is one of major characteristics of a functional language. I suggest you to search and read about functional programming (It's in no way an easy concept, it takes time and efforts to grasp).
That is a very elegant style which gradually becomes mainstream. By the way, Java lacks functional features, which makes it much less elegant, while C# enjoys functional style. On JVM platform the most powerful mixed (OOP + Functional) language is, no doubt, Scala
+Nodir Turakulov 
If only someone had written a book about JavaScript.

FWIW, I think it's simplest to look at function(){} as a procedure constructor, the same way [] is an array constructor. Each time you evaluate either you (may) get a fresh result.
Excellent and good information to every one.iam very much thankful to you that it was very useful to me.
+john doe seriously. Java can't hold a candle to JavaScript. You have to jump through crazy hoops to do anything like true functional pcogramming, object composition, or dynamic object extension. Every time I try to write something in Java it's like waiting for a rotary dial.