Thanks Google
Just what the world needed, one more incompatible language.
Good luck for the phase 3 of that Embrace, Extend, Extinguish plan.
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 …
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.
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.
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 ;-)
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.
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.
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".
"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.
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.
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!
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 ;-))
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.
...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.
"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?