Hacker Read top | best | new | newcomments | leaders | about | bookmarklet login

When you put "Google" in a sentence with Dart, "Monopoly" starts to sound different. I read your sentence as :

"Google is changing the monopoly of JavaScript by implementing the Dart VM in their own browser."

As far as I know community doesn't care much about Dart [1] and they are concentrating on further enhancement on ECMAScript.

[1] : http://en.wikipedia.org/wiki/Dart_%28programming_language%29...



sort by: page size:

> Unless Google does actually use the language to the point a few well known companies think it is valuable to use in their own products and talk about it

https://www.dartlang.org/community/who-uses-dart


> Dart is Google's JavaScript. JavaScript was developed exclusively by Netscape and forced upon the web because of their dominance. Everyone agrees in hindsight that it was bad to do it that way.

This is true only for very limited values of "everyone".


Dart is Google's JavaScript. JavaScript was developed exclusively by Netscape and forced upon the web because of their dominance. Everyone agrees in hindsight that it was bad to do it that way. And now today Google is attempting the same thing.

> not usable in any other context

I'm using Dart for the web and on server side. Really loving the language.

> seems like Google is foisting this on us arbitrarily

It's been in the works for at least 2 years now.

> There better be something special about Dart

A good article on why Dart's a good fit for Flutter: https://hackernoon.com/why-flutter-uses-dart-dd635a054ebf

> no-community language

I think there's room to critique Dart with regard to how it's very much Google-driven vs community-driven. They mostly make decisions based on Google's internal customers. That's a problem if it wants to grow.


> proprietary Dart content

"proprietary" is unfair, and becomes more unfair all the time now that Dart is on its way to ECMA standardization: http://news.cnet.com/8301-1001_3-57615494-92/google-convince...

If Dart is "proprietary," then so is asm.js, Mozilla Persona, Rust, and many other cool things that Mozilla is doing.

For example, take Persona. Mozilla invented, on its own, a new identity protocol which is not based on any existing standards and which it solely controls, released some code that implements it, and is trying to convince people to adopt it. When Google does the same kind of thing, it is called out as "proprietary."

> and open the door to Google services serving exclusively Dart content. Imagine if YouTube only supported Chrome.

This is exactly the kind of bad faith presumption that troubles me. Google is trying to push the web forward but in your mind their end game is to break its web properties for every browser except Chrome? This is so far from reality that I don't know how to respond to that, except to lament that distrust of Google by people associated with Mozilla is so high.


> Secondly, Google is a big company and some teams within it wanted to use Dart, whereas otheres want to use vanila javascript and Angular, so now you have both.

Specifically who?


> The web should run on Dart right now but Google fumbled the ball.

It's clear you didn't see the fervor around this around a decade ago [0][1], as it was universally panned as a move that would only strengthen Google's browser monopoly (as if sites started using more Dart, other browsers would have no choice but to add in Dart support). Personally I am very glad that we don't have a built-in Dart compiler in the browser, compile to JS languages are more flexible and now we have an even more robust and even-handed solution in the form of WASM, as now any language can compile to an open standard, not just Dart (which also has WASM support now).

Another argument in favor of not having Dart in Chrome is allowing its development to be much more flexible, as this article shows, rather than being hampered by the standards committee [2].

[0] https://news.ycombinator.com/item?id=3600874

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

[2] https://news.ycombinator.com/item?id=40355071


DART? I guess, but is one side of Google at odds with another?

Google Will Not Integrate Its Dart Programming Language Into Chrome

http://techcrunch.com/2015/03/25/google-will-not-integrate-i...


> Google started their proprietary ... Dart project because they claimed you couldn't make JavaScript any faster than it currently is

No, they didn't. Google started Dart because they had a bunch of Java programmers who were having good success building JavaScript web apps such as Gmail with Google Web Toolkit. They thought to formalize it with Dart instead of using a hacked up Java dev environment. I have a client who needed a web app fast, so I took a chance on Dart and did it in half the time. The client doesn't even know I'm doing it in Dart. I'm shipping the minified js file which works on all modern browsers because the Dart team set out to bring jQuery up to a higher level. There's a bright side to all the dislike and misinformation about Dart though, because it gives me a competitive edge.


> Am I missing any point?

A few:

1. The production success stories are good - within google, and that's probably important factor here. 2. Dart is indeed transpiled to js, like many alternatives. Its no worse than any of them, however... 3. It is owned by google. This allows it to ensure that it does well all the things google needs: being better than js, having better stdlib, being integrated with google frameworks and work on platforms google needs to support.

So you could in theory pick another existing language and do the same thing with it. And each of them would have some problems - either it wouldn't do something, or would do in a way that doesn't align with google needs or is developed by someone who has different priorities. So having your own does have benefits (at least for Google).


> Dart's VM isn't Chrome-only

I meant that dart is chrome-only in practice. I don't know of any other browser vendor that bundles the dart vm, including the few browsers based on chromium like rockmelt or 360.

> However, I think that even if initial reaction might have been better with such a response, Google clearly did the right thing by being up front about their vision.

I can appreciate Google's directness regarding Dart's intention. However, from a web developer's perspective, Dart's multiple backends is very unappealing. I hesitate to adopt even a language like clojurescript or coffeescript because of debugging barriers and potential bugs in the language's crevices (though these problems are diminishing with things like source map support).


I understand the context and still disagree. If Dart is so much better than JavaScript on Chrome and if its Dart->JS engine does a good enough job of creating usable JS on other browsers that developers are willing to commit to using it to write apps then, well, that's too bad for everyone else, isn't it?

Why should Google put the brakes on improving client side development just because it puts other browsers in the uncomfortable position of having to license Dart (for free, since it is OSS and has a liberal patent grant)?

The same would be true if Microsoft created some sort of .NET->JS compiler with their own VM for IE, or if Mozilla did the same with some new language. As long as they bridge to JavaScript, more power to them. Client side web development could certainly use some of the tools that these different language environments could offer and if it kicks off another performance race to get browser-side languages even faster (especially on mobile devices), so much the better for everyone.

I really don't see how there is any downside (to anyone but maybe Brendan Eich) to widespread usage of Dart unless the Dart->JS code proves to be suboptimal, but in that case devs won't use it.


> I feel like Dart's emphasis on a fast but chrome-only vm has hindered it's adoption.

Dart's VM isn't Chrome-only, its open source, and available both standalone and bundled into Chromium.

> However, I think the initial community reaction would have been more positive if Dart was positioned first as a language that compiled to js, with the added benefit that it runs significantly faster on Chrome.

Reaction might have been more positive in the short run if it was sold as a on-top-of-JS language rather than part of a long-term plan to build something to replace (or complement) JS as a language for which browsers would have a a built-in, language-specific VM. However, I think that even if initial reaction might have been better with such a response, Google clearly did the right thing by being up front about their vision.


> Yet when Google spent only a few months developing the first Dart ... the same criticism was leveled at Google from Mozilla.

Yeah right. Dart was originally dash. Before that it was planned modifications to JS, but nobody wanted to turn JS into Java so you threatened JavaScript "would be replaced".

Dart/dash/google.js is just open-washing. Nobody outside of Google has any say in it, and that's why they don't take to it.


> Dart is not very popular within Google itself

I was under the impression that pretty much all the frontend work at google was compiled from Dart.


> Dart remains a Google-lead project tied to Google's goals rather than an actual open platform.

Right, I agree with you. I guess you didn't read my whole post. To quote myself from just above: "I guess how you feel about Dart may depend on how you feel about Google and big corporations more generally. Just because a big company that has a lot of mindshare/marketshare creates a great platform, does that necessarily mean we should be afraid of it? Maybe, but if you're frustrated by JavaScript, it's certainly worth a look."


> Furthermore, implementation of a compiler backend for the Dart VM is already quite advanced ...

Curious if this work is still fruitful, now that Google has abandoned its plans to integrate Dart VM into chrome. http://techcrunch.com/2015/03/25/google-will-not-integrate-i...


> their ability to make unilateral decisions about the language's future

So just like every language being developed today then?

At the moment the goal of the Dart language is to provide a structured language to help create large scale web applications with much faster Starup and runtime performance that's being developed by experienced language designers with input from skilled VM engineers who were on teams that's brought the worlds fastest language VMs: i.e. StrongTalk's VM (later acquired by Sun to form Java's fast Hotspot VM), V8 and are now working on Dart's VM. Google's goal for Dart is to provide a better language to develop, faster and richer web applications - I'm not sure which of their goals are harmed from being a Google Sponsored project.

Note the Dart team frequently asks for feedback on the Dart Mailing list and invites features and language enhancements on the projects issues list: https://code.google.com/p/dart/issues/list


> "proprietary" is unfair, and becomes more unfair all the time now that Dart is on its way to ECMA standardization

By "proprietary", I mean only executable by one client.

I had not read about Dart's ECMA standardization process (TC52). I think that's great news, but to be fair, that announcement was made just two days ago:

http://news.dartlang.org/2013/12/ecma-forms-tc52-for-dart-st...

> If Dart is "proprietary," then so is asm.js, Mozilla Persona, Rust, and many other cool things that Mozilla is doing.

I don't think asm.js, Rust, dart2js, or Go are "proprietary" because their implementations are open and their output can be executed by multiple platforms or clients. Dart source files is only executable by Google's Dart VM.

> This is exactly the kind of bad faith presumption that troubles me. Google is trying to push the web forward but in your mind their end game is to break its web properties for every browser except Chrome?

I do not think Google is plotting to create a walled garden (unlike Microsoft of the 1990s). But I think many people at Mozilla worry about future timelines where proprietary systems could be created, even if they are the inadvertent, cumulative result of different product teams' decisions.

Consider Google Hangouts. When Hangouts was launched in May of this year, it included an NPAPI plugin to support other browsers like Firefox. But now, only seven months later, the Hangouts service is very popular but is only accessible from as a Chrome extension. The Firefox NPAPI plugin is no longer supported or available for download.

Or consider Chrome's announcement to drop NPAPI itself. NPAPI is the source of much woe and instability for Firefox, but NPAPI is a de facto standard for browser-independent content. Pepper, the proposed replacement, is only implemented by Chrome. The only version of the Adobe Flash Player that uses Pepper is the Chrome port maintained by Google engineers. (Disclosure: I work at Mozilla and I used to work on Adobe's Flash Player team.) A co-worker at Mozilla told me that he asked a friend on the Chrome team "How much of the Pepper API does Chrome's Flash Player use?" and the half-joking response was "150%" because Chrome's Flash Player relied on Chrome internals that were not exposed in the Pepper API.

Or consider Google's 2011 promise to drop support for H.264 from Chrome. Google had the leverage with YouTube to migrate content and clients from H.264 to WebM, but that never happened. Even today, many YouTube videos are not encoded as WebM and content creators have a strong incentive to publish H.264 videos because Google Ads only support YouTube's Flash player.

next

Legal | privacy