Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
"Future of JavaScript" doc from our internal "JavaScript Summit" (2010) (gist.github.com)
88 points by jalan on Nov 12, 2013 | hide | past | favorite | 55 comments


I remember reading this on HN almost three years ago. Is there anything about it that makes it interesting again now?


In summary, the way I see it: A lot of hipsters that hunt and jump on the latest tech bandwagon hated that AngularJS team ported their framework to Dart. So they started spewing hate and vitriol at Google and Dart developers. The underlying sentiment I read was -- "you mean I will be stuck unable to tell everyone I work with the latest bleeding edge tech because there is a newer, cooler faster hemorrhaging tech out there, after I spent nights online evangelizing about how awesome this last bandwagon I jumped on is"

It was rather amusing and sad. The amusing part is how the stereotype of immaturity and childishness was just re-enforcing itself. The sad part is that here is Google spending man months (and heck, if you know me, I don't like Google's privacy track record as anyone else here) of work and giving it back to the community and as a thank you they got spit in the face ("how dare you release open source projects, that you spend money developing, in a direction I don't agree with!").


> A lot of hipsters that hunt and jump on the latest tech bandwagon

> people who jumped on the Angular JS platform are quite fond of just that -- jumping on the latest technology .... They will be hipsters who are still drinking Pabst Blue Ribbon while all other cooler hipsters are drinking Tecate already. [1]

Ad hominem much?

Some people object to what can very well be interpreted as (whether true or not) an attempt by a large corporation to fragment a market to their own benefit.

You don't need hipsterism to explain some degree of antipathy towards this move.

[1] https://news.ycombinator.com/item?id=6679565


> Ad hominem much?

It is an analogy used to illustrate a point. I think it is funny, short, and explains the sentiment pretty well.

The point is how I perceive what is happening. No, I didn't collect statistical data on anyone confessing their true feelings.

> You don't need hipsterism to explain some degree of antipathy towards this move.

I disagree, one does need something like that explain the _level_ of vitriol.

Read cletus' comment in that thread. He perhaps explains it better than me and he uses less colorful metaphors (I can see you don't like those much, but that's fine).


I've read cletus' comment and while I respect and understand his world view; in mine this is about as good for the web as Internet Explorer's VBScript and ActiveX integration.

I'm a bit more civil about it than others but dragging accusations of hipsterism into this both ignores Occam's Razor and needlessly denigrates the (perfectly valid) world view that this is not a good development.


> You don't need hipsterism to explain some degree of antipathy towards this move.

See I disagree in the validity of that viewpoint but that is not as much of a problem. I disagree in _how_ that viewpoint was made. I felt Google was attacked unfairly in this case.

"Hipsterism" was an analogy I used to illustrate a point in fewer lines of text, I wouldn't get hung up on it too much rather the attitude and level of hate brought by Angular JS community should be discussed.


In this case I think hipsterism is used in the sense of complaining to complain, which is very apropos


>> "The underlying sentiment I read was -- "you mean I will be stuck unable to tell everyone I work with the latest bleeding edge tech because there is a newer, cooler faster hemorrhaging tech out there, after I spent nights online evangelizing about how awesome this last bandwagon I jumped on is""

Let me ask you a simple question: Do you trust the professional opinion of someone who would complain about this? And loudly, at that? Do you think this person is representative of a majority of front-end engineers?

>> "It was rather amusing and sad. The amusing part is how the stereotype of immaturity and childishness was just re-enforcing itself."

Which community of people have established a stereotype of immaturity and childishness that was just reinforced?

>> "The sad part is that here is Google spending man months ... of work and giving it back to the community and as a thank you they got spit in the face ("how dare you release open source projects, that you spend money developing, in a direction I don't agree with!").

"Giving it back to the community and getting spit on"... Google is a for-profit company. They're not doing this for charity. There are many facets to the idea of replacing javascript as the client-side language of the web. Would that we could all act like adults when discussing this on the merits. That doesn't always happen, as we are human beings. I agree that getting angry at the Dart team is irrational and non-productive.

Okay. So what are we talking about here again? I'm still confused. Perhaps the confusion is my fault and not your own. But if you could elaborate a bit, that might help.


> Do you trust the professional opinion of someone who would complain about this? And loudly, at that? Do you think this person is representative of a majority of front-end engineers?

No. Whatever community they are representative of, I don't want to be a part of, and I think their attitude certainly deserves ridicule, which I provided.

> Google is a for-profit company.

So is Oracle, Monsanto and others. Yet somehow Google has managed to release and support a lot more community projects. Google Summer of code. The same Angular JS project that people are supposedly following so closely was also built on Google's dime.

Of course they are for profit and water is wet, is there a point in saying that even. At no point did they say they will close source Angular or enforce trademarks on it. People use, love it, code is available for forking yet they still bring accusations and hate that is above and beyond what as reasonable.

> Perhaps the confusion is my fault and not your own. But if you could elaborate a bit, that might help.

Well, read the set of posts again from the beginning. The initial comment asked, how come this is in the news, this is quite old. And my response is because it probably relates to the previous post about Dart and Angular JS discussion. This was meant to somehow expose a deep seated conspiracy inside Google to prove some of those accusation right. In summary I was explaining why this is popular again when it was supposedly old news. Hopefully this makes it easier to understand.


I have no idea what you are talking about.


Well then perhaps instead of downvoting just do a quick search. It takes 10 seconds.

https://news.ycombinator.com/item?id=6677481


No, I'm talking about the substance of your comment. It's rambling and conflating seemingly completely unrelated topics. I do not recognize what you have described as any current reality I am a part of:

>> "...lot of hipsters that hunt and jump on the latest tech bandwagon..."

>> "The underlying sentiment I read was -- "you mean I will be stuck unable to tell everyone I work with the latest bleeding edge tech because there is a newer, cooler faster hemorrhaging tech out there, after I spent nights online evangelizing about how awesome this last bandwagon I jumped on is""

>> "The sad part is that here is Google spending man months of work and giving it back to the community and as a thank you they got spit in the face"

Who are we even talking about here? Which community? You seem to be taking a few anecdotes, apparently of HN posts, interpreting them in your own.. strange way and then using that information to paint with the broadest of brushes.

Hipsters? We're talking about software development here and programming language choices. -Your- reality might be some strange war where youth subcultures are duking it out for the future of the web based on childish ego fights and posing or something... That's not my reality.


> Hipsters? We're talking about software development here and programming language choices.

I am making a colorful analogy to illustrate a point. I think it is appropriate vis-a-vis the level of the original discussion. I already pointed out to cletus' comment in the original thread, read that if you want a more logical and clear explanation.

> You seem to be taking a few anecdotes, apparently of HN posts, interpreting them in your own..

You mean I am actually writing my own opinions on how I view a situation as opposed to pasting data tables, code or exact quotes I read some other place.

> I do not recognize what you have described as any current reality I am a part of:

That's fine. But when I don't recognize stuff that is not part of my reality I also don't usually go writing long comments about it. I just skip over. There is stuff about high frequency trading on front page. I don't understand how that works and am not interested, I skip over it. I don't upvote or flag, and certainly don't respond to every comment in there with "Hey everyone, this is not a part of my reality".


Yes, Dart 1.0 will get released soon, so I presume this is a way to get attention.


They just announced their portable native client. (http://thenextweb.com/google/2013/11/12/google-launches-port...)


Actually, they announced PNaCl many years ago. What they did is release PNaCl in a stable build of Chrome.


And has nothing to do with Dart.


They are related in that Dart and PNaCl are approaches to addressing the same problem domain, or at least problem domains with substantial overlap.


This was communicated already at Google IO 2013, that it was on their plans to make it so.

It was in one of the Chrome sessions if I am not mistaken.


I haven't had much experience with Dart, but from observation and brief casual use it strikes me as if Google looked at JavaScript and decided that the way to fix it is by removing the "Script" part.



A few of these differences are subtle or largely not drastic.

Terse main function -> why a main function in the first place?

The VM excluding the compilation into bytecode is a runtime difference, not a purely language one.

Pure OO is a natural consequence of having an optional typing system, thus removing the necessity for primitive data types.

Multiple classes, no mandatory class requirement, multiple inheritance and operator overloading are all fine. These are improvements to the Java model, allowing for more power.

String interpolation is fine, it removes the need for the bloated String.format() method or inelegant string concatenations in Java.

I never said that Dart was a complete Java clone, however. I implied that its design was largely motivated by a philosophy to apply a Java-esque model for the web. Of course they've made some improvements, but I don't find it that great in general.

I think the web would benefit from a client-side scripting language based on Dylan. The semantics of Lisp with the syntax of ALGOL. Since the web is becoming largely data-driven, having code as data would be a big advantage, while still retaining a familiar syntax.


I think it's actually the opposite; consider the ability to interpolate domain variables into string literals.


Even if this is old, I don't understand why they don't push an open Browser VM spec. This would be much more open and fruitful.


Yeah, a flexible bytecode VM seems like the ideal solution for browser scripting, rather than the awful kludge of "compiling" things to Javascript. I'm not quite sure why there hasn't been more effort towards that.



> The key argument in favor of a language VM is the development process.

> If you’re writing JavaScript, your “compile step” is just refreshing the browser.

This is not a really strong argument: the development process could be exactly the same if your development environment automate certain task, as syntax checking (like with jslint), recompile when the sources have changed (ie file watch functionality), reload when save (like with tincr)...


people will want to choose their own language forever. not building some low level spec like asm.js or a similar bytecode like language is just a marketing strategy.


Ok, what would you consider for a universal vm? It seems to me that it's much easier to put one in later than the fundamental problems with JS that need addressing now.


It should be a Spec that supports some generic operations and a spec for a standard library (interaction with dom etc.). Maybe bytecode is too low level, how about some kind of stackless 3-address intermediate representation like Soot uses for JVM bytecode (jimple has afair ~15 operations, see http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.58....). This would lead to a language one can wonderfully compile to. asm.js is probably already this idea in practice.


In short they wanted to make a new language called Dash/Dart that solved the problems around javascript.


Yes, death to javascript. I for some will not miss it and hope for its demise.


You are not alone :). Non-JS devs are just generally less vocal.


OP here, this post was originally titled - Google Dash/Dart: Leaked Internal Email

Edit: IMHO, I think the above title was better suited for this post. I respect the fact that HN moderators modified it to email subject, it refers to, but the title should have at least included keyword "Google".


It's such a pity that Google choose to create such a flawed language as Dart instead of promoting GWT or creating a better Java for the web (which Kotlin might become). Yes, it is better than JavaScript but, IMHO, optional types is not a language feature but a built-in language flaw.


Really? Java is absolutely horrible. Dart looks exciting and up to modern standards.


What are modern standards? Ruby, Python and JavaScript? No. Thanks.


I played around with Dart for a while. It is really great having a debugging console while you are working. The difficulty I had is that the popular frameworks do not target Dart so you'll always be a step behind when using Dart. I don't know if it's possible to port over a javascript framework, but I wonder what the benefit would really be. After all, you would still be using the framework's code structure. That kind of minimizes the benefit of using Dart.

If they can make a nice web framework (like angular, backbone, etc) they'll find the niche that they need to fill.


This article is (probably) posted in response to AngularDart being released recently [1], which was seen by some as an attempt by Google to push fragmented web standards.

[1] https://news.ycombinator.com/item?id=6677481


Thank you. The context makes a lot of sense to me now.


How does Dart compare to TypeScript? Dart never seemed to live up to performance expectations, from what I can tell. JS debugging is improving thanks to Mozilla and such. Where is the benefit?


AFAIK TypeScript is a language which is a super-set of Javascript so in a sense it contains the flaws of it. Dart is a more ambitious project as it contains a completely new language, a VM, a development browser called Dartium including the VM for fast development cycle and debugging, a modularity system (pub), a quite large client and server side library, a stand alone editor and a javascript trnaslator (dart2js). It also works in server side.


Well, at the performance level, Dart VM is much much more faster than Javascript ones. I dont think Google plans to kill Javascript.

But Dart makes sense on Chromebooks for instance, where Google could deploy the Dart VM.

So the benefit is for Google ecosystem.

Front end devs are afraid of fragmentation , I think competition and choice is good. It will force JS to evolve much more faster, And why not ,maybe some day we will have a NodeDart too since Dart VM is open source, it would be awesome.


They really should have just picked a better existing language... High risk did not get rewarded for them :(.


Anyone uses Dart on production?


I do, and it is awesome, I cannot back to JS after using Dart.


Dart looks pretty good to me actually. But it's from Google and that scares me at this point.

ES6 also gonna be pretty good but it's still not released and I think it'll be at year 2030 or something.


ECMA plans to sign-off on ES6 in December 2014: https://mail.mozilla.org/pipermail/es-discuss/2013-November/...

But browsers are already rolling out some ES6 features now: http://kangax.github.io/es5-compat-table/es6/


"For ES6, 2014 should be a year of cleanup and minor refinement."

A whole year. I'm not gonna pretend that I have any idea how this process works. Still, what kind of a cleanup takes a year? Cities recovered from natural disasters much faster.


ES6 is going to be awesome, but the advatange I see in Dart is its optional typing system and included libraries.


Cool! I've been looking at it for some projects. Can you link or maybe just explain what you use it for/with?


I'm using on intranet projects, making web 2.0 applications is a breeze with Dart, in pub.darlang.org you can get a list of projects and libraries using Dart.


Single page apps or more traditional approach with HTML generated on a server?


Single page apps.


What will happen with V8 engine and Node.js?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: