back to article Google shoots Dart at JavaScript

Google has previewed what could be a JavaScript killer while denying the new language is designed to rid the internet of JavaScript. Two of the Google engineers behind Dart unveiled the search giant's new language at the opening of the Goto Conference in Denmark on Monday. Dart has been built by Google's language experts to …

COMMENTS

This topic is closed for new posts.
  1. Anonymous Coward
    Anonymous Coward

    Thanks Google

    Just what the world needed, one more incompatible language.

    Good luck for the phase 3 of that Embrace, Extend, Extinguish plan.

    1. Ru
      Coat

      No thanks needed.

      Another eminently forgettable attempt to replace a nasty yet pervasive language? I just don't see it happening. A nice new scripting language supported by all the major vendors would be great, but...

      - its a whole new and exciting attack surface, because javascript just isn't enough.

      - its a whole new language for everyone to learn.

      - its a whole new standard for all the vendors to support, because they've already harmonised CSS and javascript.

      Seems slightly more likely to take the world by storm than, say, Go... but only slightly. I for one am unconcerned about my existing language skills becoming obsolete overnight.

      1. Code Monkey

        Also

        It's another thing for IE to implement atrociously, another load of client-side code to fork.

        I'll not contradict anyone saying JS sucks but it sucks a lot less than it did 10 years ago.

        1. jgsacris

          "I'll not contradict anyone saying JS sucks but it sucks a lot less than it did 10 years ago."

          Part of the problem is that JS hasn't really changed in the last 10 years.

  2. JDX Gold badge

    New language === dumb

    If JS is no good, take a well-used existing language and create a browser-safe implementation and/or browser-safe standard library/framework. So we can write client code in Java or whatever (not Java applets)...

    1. David Dawson

      http://code.google.com/webtoolkit/

  3. Anonymous Coward
    Anonymous Coward

    Great!

    One more thing to disable in my browser settings to keep my system clean - that's all we need.

  4. David Dawson

    sounds like gwt

    But a new language instead of java.

    Maybe the start if them weaning themselves off java?

    1. Anonymous Coward
      Anonymous Coward

      Java != JavaScript

      Oh dear :(

      1. Kubla Cant
        Stop

        GWT == Java

        Re-read the post.

        It's not saying Java == JavaScript, it's talking about GWT, which is written in Java and compiled to JavaScript.

        The suggestion is that Google may be hoping to get GWT apps written in Dart (which is then compiled to JavaScript). Personally, I think it unlikely. One of the attractions of GWT is using the same language on client and server.

        1. David Dawson

          I've used GWT extensively, and I would certainly agree with the advantage being the same language on client and server.

          It just struck me how similar the description of the way Dart is supposed to run is to the way GWT works.

          Maybe its just that they know how to do the whole compilation to JS thing (and quite well), so they are doing it again with this newcomer.

          And yes, Mr Anon, 4/10 for observation ;-)

  5. Astropos

    all your Javascripts are belong to us

  6. download
    WTF?

    I don't get it

    Just to say so before I start this rant: I was really excited when I saw the news a while ago about Google coming out with a new language that would make it easier to build web applications, but now that I've seen it, I don't think Dart is that language. I just ran through the basics over on the site, and it basically looks like an odd conglomeration of Java and JavaScript.

    What I can't figure out is how this is supposed to be an improvement over JavaScript. The only thing that JS might benefit from here is optional typing, which would allow for more interpreter optimizations, but for the most part it looks like a step backwards.

    It almost looks like they're trying to forgo JS's event-driven nature to build more linear programs. Just what the web needs, more UI code that looks like it came out of Visual Studio.

    Not to mention their choice to go back to class-based inheritance, which I can only assume was a move born out of programmer familiarity rather than functionality. There is nothing inherently wrong with prototypal inheritance such that it needs to be replaced with a class-based solution. Sure, it takes a little getting used to, but it's perfectly usable (and quite powerful) once you get the hang of it.

    The only explanation I can think of for this is that it was written by the same sort of people who came up with GWT. Programmers who really want to be web developers but refuse to let go of Java.

    PS: If anyone really wants a good way to make development of web apps easier, try Backbone. I just found out about it the other day and have been geekgasming over it ever since.

    1. BlueGreen

      "Not to mention their choice to go back to class-based inheritance"

      I agree that prototype inheritance is fine, but it does potentially bugger optimisations because, by constructing classes on the fly, you effectively have program behaviour modified at run-time. Static classes are a lot easier to analyse - you don't need whole program analysis to work out what's going on.

      Also, jscript's eval must die for the same reason. I understand the next version is tying down it's behaviour so you can't do absolutely anything in it, but still.

      From my quick glance at dart, what I'd really like which I can't see is capabilities. That would be a mega step forward for controlling languages-that-run-in-browsers (or on your desktop for that matter).

      Though I'd be happier if web sites really didn't put sweet F.A. into their pages unless they absolutely, totally needed it. The browser is mutating under the evil radiations of what big biz selfishly wants[*], not real end user requirements.

      Sux, does it not?

      [*] mind, firefox is mutating horribly under what clueless devs/GUI designers want, and in a way that's even worse. When 3.6 is EOL I doubt I'll continue with it unless they've managed to grow up by then.

      1. download

        Pretty much all interpreted languages have some equivalent of eval, and there are legitimate uses for it, but way too many devs use it as an excuse to be lazy.

        I'm not sure I get what you mean by "capabilities" though. Are you saying there should be more APIs? Or that you like the native data manipulation allowed by Types like Queue and StringBuffer?

        Also, what's wrong with FF's UI? They're getting rid of all the crap in the chrome so we can actually see webpages. What do you think that browser users really need, design-wise, and how does it differ from the minimalist approach that's come into vogue recently?

        Note: If you don't like it, it's pretty easy to switch the UI back to the old one. Just right-click the upper UI, check "Menu Bar" and uncheck "Tabs on Top".

        1. BlueGreen

          titless (no tittle)

          "Pretty much all interpreted languages have some equivalent of eval"

          I'm not sure this is true, but having it certainly makes it much harder to compile as the compiled code must ship with a compiler or interpreter to eval() your strings.

          Capabilities are simply a security approach, and to be fair I'd be happy with any fine-grained security approach built into the browser which the user could access, including ACLs.

          A capability is basically a proxy that is passed to the program so that program can access a resource through the proxy. No proxy, no access. It's actually a lot simpler than it sounds. Some reading:

          <http://en.wikipedia.org/wiki/Capability-based_security>

          <http://en.wikipedia.org/wiki/Capability-based_addressing>

          As for Firefox's interface, there are several problems. I don't like sudden changes to the interface which I've grown used to -- after all usability is also a function of the user's familiarity with that interface. But whereas I can adapt, however unwillingly, plonk a new Firefox plus interface in front of aged granny and watch her bafflement. You and I are not the real end user.

          Full-screen problems? Not for me and I've run it in 1024 x 768 for several years without too much hassle, and then there's always the full-screen magic of F11. So what exactly are they solving?

          For a more concrete example of where they are really beginning to fuck up, if you're running FX4 then try this -- using the mouse only, try to bookmark all your tabs using the "Bookmark All Tabs" entry under the Bookmark menu.

          Next stop, Google for why you can't find it. Find that a lot of people have been complaining it's disappeared, and also find that it is actually present. So why can't you see it? Because if you use the mouse to open the bookmark menu, some stupid prick decided that you didn't need to see it. Opening using the traditional Alt+B shortcuts and its visible.

          Which is why I dumped it within a few hours (not that this was the only problem I found).

          Un-fucking-believable. Utter, utter elementary GUI design fail.

          1. download

            RE: Dislikes new FF UI

            Interpreted languages always include their compiler because they are compiled at runtime. That's pretty much the definition of an interpreted language.

            I tried the experiment you mentioned in FF. That's stupid. I don't know who thought that up, but it's moronic. They might have thought it wasn't necessary since now you can just right-click on any tab and "Bookmark All Tabs", but having it in the bookmarks menu only under some circumstances is ridiculous.

            Though TBH I'm a little surprised that anyone even uses that feature now that we have tab groups.

    2. Fred Flintstone Gold badge

      Very easy..

      "What I can't figure out is how this is supposed to be an improvement over JavaScript"

      Easy: Google doesn't own JS. Or didn't you learn from Android?

    3. Hoagiebot
      Joke

      Just to say so before I start this rant: I was really excited when I saw the news a while ago about Google coming out with a new language that would make it easier to build web applications, but now that I've seen it, I don't think Dart is that language.

      ------------------------------

      That is because the language that is going to save us all by nearly miraculously making web application development easier is already in existence:

      http://en.wikipedia.org/wiki/VBScript

      I for one am going to start blowing the dust off of my old VBScript programming books and start preparing for the imminent arrival of VBScript's second golden age!

  7. John Styles

    Wasn't Go their language last week?

    1. download

      Yeah. That one actually looks useful though.

      The ease of Python with (almost) the speed of C++.

      It would be nice if they ever came out with an optimized compiler.

    2. Anonymous Coward
      Joke

      @Mr. Styles

      Dear Mr. Styles,

      We would like to inform you that we are preparing a patent which will protect our right to "discuss the art of Go programming in public electronic places which are usually inhabited, followed or streamed by people of a rather (sub)technical nature for purposes as (but not limited to) discussing theories, producing negative comments and/or to compare Go with other programming languages in such a way which could result in a profit decrease for companies actually using and/or exploiting Go.".

      Considering that you have now mentioned Go in a public forum which falls within the regions of our upcoming patent we're sorry to inform you that we see no other alternative but to charge you for a nominal fee of 2 million dollars in order to secure the future of Go and the businesses associated with it. This in order to protect your and our freedom and to ensure that Go won't be forgotten.

      We will have our attorney contact yours as soon as possible and hope that you'll comply with our request and have the money up next week.

      With kind regards, blah, blah, blah....

      "Now, if you'll type this all out and sent it over to our attorney and tell this "el reg board" that we demand the names of this Styles person? Thanks dear, appreciate it. Anything more on my agenda today? Good, good... Wait until I tell Larry about this one... Patent-to-Go, good one no? Get it? 'Patent. to. Go... ?'. Ha ha ha, wait... Darn, is this voice recorder still on?"

      <rumbling noises>

      <click>

      (sorry, couldn't resist ;-))

  8. Dopeysmith

    Just what the world needs....

    Another variation of C++/Java/C#/Javascript. The reason for this is pretty obvious, all these companies that are "embracing" open source really don't like it. HTML5 & javascript pose the biggest threat to companies like AppleGoogleSoft, I mean how can the poor dears make any money off of pure HTML5 Javascript apps? This is another cynical attempt to tie down the web, these Dart files would not be human readable & would remove the inherent "Openess" of Javascript, watch for more of this from AppleGoogleSoft going forward.

  9. Anonymous Coward
    Anonymous Coward

    I can come up with one reason for Dart..

    .. Google doesn't own Javascript..

  10. MrHorizontal
    FAIL

    What exactly...

    ...does Dart offer that JavaScript doesn't?

    It looks to me to be an almost exact replica of JavaScript with a few PHP-esque extensions to it. What needs to happen is to make ECMA-262, or the standard behind JavaScript a little bit stricter, especially with a little bit more emphasis on strong typing and classes and bobs your uncle. The browser DOM could do with a tweak here and there too, but that's not the language's problem.

    Anyway, Google have done the mistake of outing a language without going through the W3C or other recognised standards body - that is evil, Google. While too many lemmings do, not that many people who matter actually like or trust you.

    1. jgsacris

      For one JavaScript doesn't support Interfaces, and it never will. Which is a big problem when working with large applications. I know Interfaces can be faked, but as most fakes it is ugly, cumbersome, hard to maintain, hard to read and hard to test. And this is just one example.

  11. xchknfrmr

    Chocolate Factory?

    "Google believes JavaScript is problematic for the job of building the sorts of complex web apps that the Chocolate Factory likes."

    I don't get the reference and a search for "Chocolate Factory" doesn't return anything useful. What or Who is the "Chocolate Factory" and why is it relevant?

    1. Anonymous Coward
      Anonymous Coward

      Here. . .

      . . .let me. . .

      http://lmgtfy.com/?q=Google+Chocolate+Factory

This topic is closed for new posts.

Other stories you might like