Linked by Thom Holwerda on Mon 10th Oct 2011 20:14 UTC, submitted by twitterfire
General Development "Google has released an early version of Dart, a new programming language designed to take some of the pain out of developing applications for the Web. But while it's an evolutionary improvement on JavaScript, Dart faces a hard uphill battle for acceptance."
Thread beginning with comment 492515
To read all comments associated with this story, please click here.
Interesting
by slashdev on Tue 11th Oct 2011 12:21 UTC
slashdev
Member since:
2006-05-14

There are a lot of issues with javascript/ECMAScript. Javascript was designed with scripting html elements in a single page in a single thread. We've now created full blown applications, detailed library APIs, graphed on asynchronous requests. When you start trying to create actual applications in javascript, you start seeing major issues, like packaging, there isnt a real namespace system in javascript, so external APIs can essentially overwrite functionally without notification. The early days of JQUERY/prototype/mootools was horrible, adding jquery and prototype to your site would have unexpected results, (prototype had features that overlapped jquery s) While javascript libraries are attempting to play nicer with each other (there are emerging coding standards and best practices that didnt exist 5 years ago)...but there is no language enforcement, which sits badly for some companies who create software at the "enterprise" level, that needs better assurances in stability and way more deterministic.

Threading and concurrency is another issue, though browsers are trying to fix this, firefox has webworkers...but again, its not a language thing.

The list goes on, javascript just isnt up to the task for the modern web. There IS a proposal out there to get javascript up to snuff (Harmony i think). Think of Google's Dart as a contingency plan just in case the ECMA process goes crazy again and everyone is held hostage for years (just look up javascript/ECMAScript 4 and why it was abandoned after years of work). Google is dependent on javascript/ECMAScript. Heck, Javascript is Google's lifeblood. It makes sense that they wont leave anything up to chance.

Edited 2011-10-11 12:23 UTC

Reply Score: 3

RE: Interesting
by Lennie on Wed 12th Oct 2011 17:25 in reply to "Interesting"
Lennie Member since:
2007-09-22

Yes, there is a small possibility of clashing at runtime of variables.

But most of them go away as long as you make everything private:

http://javascript.crockford.com/private.html

JavaScript doesn't really need concurrency as everything is already async./event based.

The existing real problems are probably things like support for decimals. Obviously Crockford explains it here:

http://www.livestream.com/etsy/video?clipId=pla_1463e546-47ed-4a93-...

And how adding extra features to browsers because of compatibility with old browsers. But that problem isn't solved by Dart either. Any mistakes that get introduced in Dart will probably be in that language forever (or atleast for a very long time) too.

It is really stupid from Google to want to introduce something new if the current ECMA process is working correctly. They are actually undermining that.

Reply Parent Score: 2