Google is developing programming techniques to simplify Web development
pixelstech.net
pixelstech.net
Other than not having a 'Class' keyword in javascript, this is mostly a useless statement. The beauty of javascript lies in the balance between object and functional style. The prototypical model with first class functions is what makes javascript so powerful. I don't see the need to change it, and if you get into a situation where you need easy access to object oriented style, coffeescript is a fine choice.
I'm not even going to go into why, it's been said a million times. Let's just agree that you've got an opinion that's not particularly compelling or common to a lot of experienced programmers. Your 'beauty' is many other people's bane. The very things you've picked out can cause such complexity and pain.
Having recently read "How We Decide", I can't help but think many of the traps described in that book are hit heavily by those trying to pick a programming language.
That may be true but is it really informative? Apples to apples: pick equivalent ultra-picky-with-membership team of talented programmers and then compare their artifacts' maintainability. C is a fine language but the point of Java is that it lowers the bar (by dealing with hard problems e.g. GC) and makes it more accessible (look ma, no pointers).
A possibly controversial (but arguably viable) measure of "Java and friends" success is the explosion of "complexity" in software written in these languages. My thesis is that IT league programmers would not have ventured to take spectacular architectural spacewalks in C or C++ but felt completely comfortable doing so in (say) Java.
I wonder if this portion of the Proposal is based on a thoughtful critique of javascript. Javascript's object-oriented paradigm, prototypal OOP, gives JS dynamic, class-free objects, and some would say that's a good thing--perhaps a great thing. In addition, the Prototypal paradigm was developed much later than Class-based OOP--nearly two decades later, and the developers of the former certainly knew of the latter, and learned from it. Given that, i wonder if this part of the Proposal isn't recommending retrograde techniques rather than improvements.
The lack of class keyword in JavaScript is not the problem, if you want that so badly, because you can't code in anything but classes then just write a preprocessor for it, it would probably take a few hours or just use CoffeeScript. Google is helping here though with source maps, but it's kind of disappointing that they make statements like this along the way.
Don't want preprocessor? Use something like this: http://ejohn.org/blog/simple-javascript-inheritance/ Or this: https://github.com/shichuan/javascript-patterns/blob/master/...
There are a lot of problems not even related to JavaScript that are way worse than the lack of the class macro, just look at CSS.
The main thing I see here is that Google has a lot of Java people that are reluctant to learn anything besides Java constructs and they want to make web programming accessible to them so they can zerg rush development, GWT pretty much proves this, but the funny thing is that I think they didn't use GWT in G+ because it sucked.
Google should learn from Facebook, Facebook's front end JavaScript is mostly "hand coded" and not generated from another language.
When you relise the fact that you use the most apropriate tool for the job is when you start to become a professional programmer.
If they want to make something to make new programmers write better programs, by all means!
Besides, if Google is developing programming techniques to simplify web development, then what the heck was Dart all about?