4 ms·
The purpose of a language isn't to divert effort away from a language it compiles to as a first-class concept. That's actually not a goal, that's just someones
by mythz 13y ago
The purpose of a language isn't to divert effort away from a language it compiles to as a first-class concept. That's actually not a goal, that's just someones cynical view of a potential side-effect when trying to invent a new more productive language for the web without JS deficiencies, with better language semantics, faster start-up and predictable run-time performance.
In Lars and Kasper Google I/O talk, they explain that V8 has become an extremely complex code-base, now weighing more than 500k LOC, with advanced compiler tricks to achieve the leading performance it currently has. The V8 designers think they're nearing the max performance ceiling possible with JS where it's unlikely they'll be able to get a further 2x perf improvement: http://www.youtube.com/watch?v=huawCRlo9H4 http://www.youtube.com/watch?v=huawCRlo9H4
Which is in contrast to Dart which was developed with the input of VM engineers, is a much smaller and simpler code-base that is able to support proper classes, real integers and SIMD support which is already capable of delivering 10x faster startup times (with snapshots) and 2x faster and more predictable runtime performance which is still in beta and has yet to receive anywhere near the engineering effort V8 has.
Google is big enough to attempt 2 competing strategies to improve web development and performance, i.e. a faster JavaScript being led by the Standards committee that's enhancing JavaScript at a comittees pace and by introducing a completely new language for the web built from the ground up to be faster, structured and more consistent: http://infrequently.org/2011/09/google-the-future-of-javascript/ http://infrequently.org/2011/09/google-the-future-of-javascr...
- embolism 13y agoOk these are fair technical reasons for them doing this. Nevertheless Google's strategy also happens to leave them in control of resulting language and platform.
- mythz 13y agoOnce its standardized anyone is free to safely implement it from the language specs, which they don't even have to do since they are free (and encouraged) to use the open-source implementation. Dart wouldn't exist or have anywhere near the technical excellence it has today if it wasn't a sponsored project. Its existence also doesn't prevent any other browser vendors from trying the same thing - it may even encourage it if it yields noticeable end-user improvements.
- embolism 13y ago'Once it's standardized' is a chicken and egg statement - since to be standardized can only happen if other parties get on board. If nobody does, Google can say 'well we tried', whether or not they made any serious attempt to involve others in the process (which thus far it would apper they have not). The fact that others could try to make their own competitors is an exact description of the situation where the web breaks down in favor of proprietary solutions and the strongest companies end up owning the web.
- mythz 13y agoYou can submit a language specification as a standard without outside buy in. It becomes an open specification that anyone is free to implement. You seem to interpret every open initiative Google tries to do with Dart as a bad thing. What else can they do? How much more open can they make the implementation to appease critics? What haven't they done yet to make it any more open? V8 was open sourced and its now powering node, running server side procs in PostgreSQL databases, creating rich cross-platform Desktop apps with node-webkit - what has Google done to stop it's pervasive use? Before V8, JS performance was orders of magnitudes slower than it is today, with little focus on performance - and now there's an arms race. The web doesn't have to worry about the strongest companies making too good compelling open-source solutions that people fear will end up owning it, we're in 2013 and web development is still fragmented, inconsistent and progressing at a glacial pace. The biggest threat is coming from proprietary native apps in walled garden mobile platforms being developed behind close doors without a standards body in sight and no desire for any open or interoperable initiatives. Without any attempts at any new initiatives trying to make web development better, in the next 5 years we'd still be building buggy web apps on a broken language running at similar to todays performance - but hey, at least we waited for the standard bodies to create all possible solutions. All other attempts that stray from the script be damned.
- embolism 13y agoThe web ending up being controlled by Google isn't 'saving' it from proprietary platforms at all. If standards bodies are as feeble as you suggest aren't going to be a serious custodian for Dart anyway. Ossified standards bodies or unilateral action are not the only options. Google could have engaged in cooperation with other interested parties throughout the development, so that it was a truly collaborative effort. Whilst I agree there are technical problems that Dart is solving, they have chosen an approach designed to maximize their control over the web.
- freshman19 13y agoYou can get snapshots in JS just by structuring the code in a certain way (ala asm.js). You can get the same performance benefits by having a more limited subset (like Dart, no eval or dynamic code loading). The real story is that Google wanted to go it alone rather than improve JS, and that's why there's Dart.