An unofficial blog that watches Google's attempts to move your operating system online since 2005. Not affiliated with Google.

Send your tips to gostips@gmail.com.

September 13, 2011

Dash, Google's Alternative to JavaScript

An internal Google document from October 2010 provides some information about Google's strategy for the future of JavaScript. Google will continue to work on improving JavaScript and adding new features to ECMAScript Harmony, but it will also develop a new language called Dash that will try to solve JavaScript's problems, while offering better performance, the ability "to be more easily tooled for large-scale projects" and better security features.
The goal of the Dash effort is ultimately to replace JavaScript as the lingua franca of web development on the open web platform. We will proactively evangelize Dash with web developers and all other browser vendors and actively push for its standardization and adoption across the board. This will be a difficult effort requiring finesse and determination, but we are committed to doing everything possible to help it succeed.

While Dash is catching on with other browsers, we will promote it as the language for serious web development on the web platform; the compiler allows such developers to target other browsers before those browsers implement Dash.

The Dash language effort will be driven by Lars Bak and his team in the Aarhus office.

Google also develops a cloud IDE called Brightly that will probably the first app written in Dash. The Dash VM and Dash Cross Compiler could be available later this year, according to the document.

"Our approach is to make an absolutely fantastic VM/Language and development environment and build great apps that fully leverage it in order to help other browsers see the wisdom in following. Once Dash has had a chance to prove its stability and feasibility, we are committed to making Dash an open standard with involvement from the broader web community," explains Google.

Update (October 10): The language is called Dart.

{ via Reddit }

29 comments:

  1. Oh, an alternative to Java script? That is bad. I thought I would be a language or technology similar to JSP or ASP.NET and avoid Java script coding.
    I wonder how other browser companies are going to take this.

    ReplyDelete
  2. So.. IF this gains acceptance, will GWT go away?

    ReplyDelete
  3. Hmm, what I would prefer: to have some "more low level" code, maybe even byte-code. JavaScript could be translated to that runtime by the browser, but page authors can provide the "compiled" version as well, for better performance (no need for the run-time compilation, more aggressive optimization which would be too heavy at run-time, etc). Later, maybe other languages can have compilers for this code, even python (just a wild idea) etc, if someone prefer that over JavaScript syntax/language. The source code is just source code: even python/javascript/php/java/etc can have compiler to got native code, this can be true for this topic too, just replace "native code" with "XYZ", which would be the name of this "byte code".

    ReplyDelete
  4. It's an interesting endeavor, but I believe that the web developers community is way too accostumed to javascript and the libraries built on top of it (jQuery, nodejs, prototype, mootools etc.)

    Anyway, I'm very curious to know how the language will solve javascript problems =)

    ReplyDelete
  5. It looks like it's been renamed Dart: http://gotocon.com/aarhus-2011/presentation/Opening%20Keynote:%20Dart,%20a%20new%20programming%20language%20for%20structured%20web%20programming

    ReplyDelete
  6. Being free from Javascript would be fantastic!
    I always thought that having a scripting language with a kind of "python-like" syntax instead of that mess which is js would have been like a dream for me to write code, because my mind rejects javascript syntax as I found it so unnatural... but if the presence of Gilad Bracha in the team involved in developing DART (Dash was name at the beginning) will bring us something resembling his Newspeak, well... for the way my mind is structured that is something totally alien... still worse than js...

    ReplyDelete
  7. Now that the Ruby-on-Rails people have announced support for CoffeeScript, an ECMAscript superset, I think Google should get on board with Coffee for optimisation and ease of authoring.

    ReplyDelete
  8. Seriously no one of you noticed a problem for the Open Web with this?

    Let me quote that document:
    "What will Google developers be using?
    We will strongly encourage Google developers start off targeting Chrome-only whenever possible as this gives us the best end user experience. However, for some apps this will not make sense, so we are building a compiler for Dash that targets Javascript (ES3)."

    ReplyDelete
  9. This is a move on Google's part to create lock-in. Sad.

    +1 for CoffeeScript - it is just fantastic.

    ReplyDelete
  10. More about Newspeak:
    actually my previous post was made just on a fast look to the syntax as I saw on slideshow on the web.
    However, digging a little more I found this:
    http://channel9.msdn.com/shows/Going+Deep/Gilad-Bracha-Inside-Newspeak/
    Well, it's dated April 2009 but if you listen well and you think about what Gilad says about the "blue sky vision"... wow, that's what's going on! and actually it can be the next Big Thing... or maybe the real Big Brother...
    It can make web programming in the cloud drammatically easier... but at a Big price...

    ReplyDelete
  11. Wow, I gave a look to CoffeeScript, that's really what I wanted!

    ReplyDelete
  12. Everybody is exited about Coffescript before he try really to start use it. After some silent and strange bugs in one place you code breaks in another. Prepare for hours and hours of debugging without a debugger.

    After programming during a week I want never to hear about it again.

    ReplyDelete
  13. Embrace and extend. Sound familiar?

    ReplyDelete
  14. More info about Dart at my post
    http://ajlopez.wordpress.com/

    ReplyDelete
  15. More info about Dart at my post
    http://ajlopez.wordpress.com/2011/09/10/dart-programming-language-the-new-kid-on-the-block/

    ReplyDelete
  16. For webmasters that is not accepted into the program, or unwilling to use Adsense ads, Google Adsense following alternatives will be worth.

    ReplyDelete
  17. this is the firs time i heard about dash, but i prefer the Java script..

    it have been a while for so long, and all website feature , game use it . SO, why change it?

    for a laymen people like me who don't know much about programming, i think java script still okay..

    ReplyDelete
  18. As a Java developer, I like the basic syntax of JavaScript simply because it is familiar. At the same time, the lack of structure makes it difficult to write robust apps. JS' simplicity is also its weakness. As far as Dart, Google has done a lot of good things so far. I'll be interested in what they come up with, but I'm not interested in an entirely new paradigm.

    ReplyDelete
  19. @LGB
    I like the idea, but one unified language has it's benefit as well. Also, a lot of man hours are wasted essentially replicating the same functionality in their language of choice, instead of focusing on new problems to solve.

    @G.D.
    What's the big deal...it's just syntax. A few curly braces scare you. Syntax alone is not a good reason to replace an existing language.

    @Steve11235
    A well written JS application has structure. Yes, JS does not have "packages," but objects can be used to form scope just as easily...and while JS is a simple language to pick up, it is also just as capable if not more than say Java, especially considering the support of first class functions. I can write my code in many paradigms, using this simple language.

    ReplyDelete
  20. @anonymous who said "What's the big deal...it's just syntax. A few curly braces scare you. Syntax alone is not a good reason to replace an existing language."

    Well, actually I do not agree: syntax is quite foundamental, if code is readable or not, easy to write and modify or not, it changes a lot in terms of producitivity and in terms of how easy is to solve a problem. So in my opinion syntax ALONE is already a GOOD reason for replacing JS.

    Nevertheless it's not only that. I do not know all languages in the world, I just used Java, PHP, Python and JS in my life and using JS has been always much painful, and the reason is the very nature of JS which is not "classical", that's the very mess in my view, that's alien mix of a prototypal nature but with Java-like new constructure and closures and the very mess of "this"... Of course there are many other reasons which can be argued on both sides of the debate but this is just what I directly experienced.

    ReplyDelete
  21. @G.D. We'll have to agree to disagree on syntax, as it's very subjective.

    I appreciate JS's prototypical nature, and do not use the typical function constructor syntax, as I agree that it does confuse JS's prototypical nature, and tries to make it appear as a classical language...which it is not. I prefer using Object.create, which I also feel is a poor name, but does make it feel more prototypical. I would have preferred Object.clone, or for every object to have a clone method built-in.

    I agree, the function constructor syntax was a mistake. When dealing with prototype languages (Io, Self, Lua, etc), it is much more clear to think of cloning existing objects.

    Prototype languages are not a mess, but actually becoming much more popular, as they can actually be much more powerful. It's peoples lack of understanding and training that makes it difficult to understand, and appear to be a confusing.

    For those who don't understand or like it, use a library, or roll your own for creating classical constructs (i.e. MooTools, etc). This shows the flexibility of the language. It can take on many paradigms very easily.

    Closures are also brilliant, and have been around as long as functional languages have been. Again, a lack of understanding makes them appear confusing. First-class functions are the reason they exist, and provide the language with the capability to be a full blown functional language.

    The issue with "this" is again not that big of an issue, and has an easy workaround. Again, a reason for a new language...I don't think so. I can pick on any language and find faults.

    ReplyDelete
  22. G.D: Do you know you already have a python-like alternative to Javascript?
    It's called Coffeescript, and it compiles down to highly readable, jslint compliant javascript code.
    Actually, it takes the best features of both, python and ruby, and it's being adopted by the Ruby community (it's included in Ruby on Rails 3).

    ReplyDelete
  23. @Luis: Yes, G.D., jump on the bandwagon, and use CoffeeScript because others are and JS sucks (even though I barely know it). Learn JS first, and learn it very well. Then go to the compile-to-js language of the day. I'm not saying CS is bad, but learning JS in-depth will help you with your career than CS.

    ReplyDelete
  24. None of them would prefer to use it because, it might be supported by only Google & what about other browsers or robots.

    ReplyDelete
  25. It's very rarely you need a programming language to do just one thing, maybe they go into specialty or research projects but anything commonly used has to be a swiss army knife.

    ReplyDelete
  26. Thats really interesting to know about the alternative for JavaScript.Its very informative :)
    web design company

    ReplyDelete
  27. For those who don't understand or like it, use a library, or roll your own for creating classical constructs (i.e. MooTools, etc). This shows the flexibility of the language. It can take on many paradigms very easily.

    ReplyDelete
  28. Why doesn't everything move to HTML5?

    ReplyDelete
  29. I have Pogo that I have had for 8 years and like to play the games but on this little chromebook only 2 of the games work without java. I don't understand why 2 games work and the rest don't.

    ReplyDelete

Note: Only a member of this blog may post a comment.