Slashdot Mirror


Will Google's Dart Language Replace Javascript? (Video)

Seth Ladd, Google Web engineer and Chrome Developer Advocate, is today's interviewee. He's talking about Dart, which Wikipedia says is 'an open-source Web programming language developed by Google.' The Wikipedia article goes on to say Dart was unveiled at the GOTO conference in Aarhus, October 10–12, 2011, and that the goal of Dart is 'ultimately to replace JavaScript as the lingua franca of web development on the open web platform.' A bold aim, indeed. Last month (June, 2014), InfoWorld ran an article by Paul Krill headlined, Google's Go language on the rise, but Dart is stalling. Seth Ladd, unlike Paul Krill, is obviously rah-rah about Dart -- which is as it should be, since that's his job -- and seems to think it has a growing community and a strong place in the future of Web programming. For more about Dart, scroll down to watch Tim Lord's video interview with Seth -- or read the transcript, if you prefer. (Alternate Video Link)

120 of 180 comments (clear)

  1. Here's what I think... by Anonymous Coward · · Score: 5, Insightful

    No.

    1. Re:Here's what I think... by Anonymous Coward · · Score: 1

      Yeah a rising success just like Google Plus..

    2. Re:Here's what I think... by Maury+Markowitz · · Score: 1

      And, closer to home, Gears.

  2. Can we get .... by PPH · · Score: 4, Insightful

    ... a 'Tower of Babel' icon for articles about yet another new programming language?

    --
    Have gnu, will travel.
    1. Re:Can we get .... by ArhcAngel · · Score: 2, Funny

      And clicking the icon takes you to 927

      --
      "A person is smart. People are dumb, panicky dangerous animals and you know it." - K
    2. Re:Can we get .... by Eunuchswear · · Score: 1

      ... a 'Tower of Babel' icon for articles about yet another new programming language?

      Jean Sammet used the "Tower of Babel" for articles about computer languages as early as 1960. Now Google are pumping out crappy new languages every week.

      When will the madness stop?

      --
      Watch this Heartland Institute video
  3. Just as soon as it does by Anonymous Coward · · Score: 1

    Google will announce the end of the project, and that we all have two months to rewrite our code into something else.

  4. atfer it does you will go to school for 2-4 years by Joe_Dragon · · Score: 1

    atfer it does you will go to school for 2-4 years to get a piece of paper that says you know it.

  5. Bertridge law of headlines by balaband · · Score: 4, Interesting

    No

    1. Re:Bertridge law of headlines by StripedCow · · Score: 1

      Next headline: Is Betteridge's law always correct?

      --
      If Pandora's box is destined to be opened, *I* want to be the one to open it.
  6. I call Betteridge on this one. by konaya · · Score: 1, Insightful

    I. e., no.

  7. Re:No by ShanghaiBill · · Score: 5, Informative

    Unless they can magically add Dart capabilities to all the web-capable devices already out there as well as current and future competitors devices, the answer is no.

    There is already a source-to-source compiler. So you can write in Dart, and then convert your Dart program to Javascript. Then your server can deliver either Dart or JS depending on the client browser's capability.

  8. It would need to be submitted to a standards body by nickmalthus · · Score: 1, Insightful

    Dart would need to be submitted to an independent standards body and be royalty and patent free in order for any other company to even contemplate embracing it. I don't see Microsoft, Apple, or IBM handing the wheel to google to be sole dictator of the future of a critical component of web technology . Dart may be a good idea but without community support like what has happened with the HTML 5 standards group it will continue to be a proprietary browser specific language like VBScript in Internet Explorer.

    --
    If a nation expects to be ignorant and free, in a state of civilization, it expects what never was and never will be-T J
  9. Re:Simple answer is by TFlan91 · · Score: 1

    Clearly you do not use or have heard of AngularJS

  10. Re:atfer it does you will go to school for 2-4 yea by ShanghaiBill · · Score: 1

    atfer it does you will go to school for 2-4 years to get a piece of paper that says you know it.

    If you already know JavaScript, and either Java or C++, then you can learn Dart in about 20 minutes.

  11. Not that much better than javascript by ewibble · · Score: 5, Insightful

    I really wanted to use dart, I liked the fact it had types, but once I tried using it found out types where optional, and there was no way to make them required. So knowing programmers/people in general are lazy it will degenerate into no types at all. I don't mind having untyped variables as long as you are explicit about it, but dart is the other way round.

    I think the web needs a statically typed language since webs apps are growing in size, having types allows for greater readability and ease of refactoring that untyped languages just don't provide. Dart is just not it.

  12. Last time I checked by Anonymous Coward · · Score: 1

    You needed a special IDE to write a Dart app, and it would only run in a modified version of Chromium unless you compiled it to Javascript...so I don't see any reason why it would replace Javascript. If you want your tool to catch on, you have to come out on the winning side of "useable vs technically superior".

    1. Re:Last time I checked by Anonymous Coward · · Score: 1

      You needed a special IDE

      That is a lie from Microsoft's talking points. Dart has always included command line tools so you can develop the standard way rather than having to run a Fisher-Price GUI on your dev system. You can even run Dart directly from Dartium (version of Chrome that runs Dart without converting it to JS) without using the IDE. The only thing the IDE is good for, like all uses of Eclipse, is wasting hours a day waiting on the IDE. I'm very productive with Dart and vi. Since I'm doing server-side development, most days I never have to start a GUI when doing Dart development must less ever using the IDE like you claim. It is absolutely not required, and I know several Dart devs that have never used it.

    2. Re:Last time I checked by MikeBabcock · · Score: 1

      Then maybe you should check again.

      --
      - Michael T. Babcock (Yes, I blog)
  13. Things like this rarely work out by raftpeople · · Score: 1

    There is too much momentum for what is being used today, it's almost impossible to dislodge a de facto standard.

    1. Re:Things like this rarely work out by gbjbaanb · · Score: 1

      it is, so there needs to be a compelling reason to get rid of javascript in favour of something else. A new language that is a bit like javascript anyway, and gets translated to javascript for most browsers anyway is really not it.

      Now, if they could get native performance standardised and included in the major browsers I think people would be interested.
      If they had a way to compile new controls into native binaries that could be dropped in a html form, maybe we'd be interested (I know,. ActiveX, but imagine it could be done right).

      Dart... is nothing particularly exciting at all. Its a waste of effort. Standardise NaCl and get it out there for all, and maybe you'll have something. Dart, na.

    2. Re:Things like this rarely work out by Anonymous Coward · · Score: 1

      They should really get together with Mozilla and mix NaCl and asm.js into one useful thing, perhaps a good solid bytecode spec LLVM can target. asm.js is doing things the right way by giving browser vendors a way to ease their existing VMs into something more performant. Google is just being needlessly demanding, and it will doom NaCl.

    3. Re:Things like this rarely work out by narcc · · Score: 1

      perhaps a good solid bytecode spec

      We did that before. It didn't work out.

  14. Re:No by Anonymous Coward · · Score: 2, Insightful

    If you can convert Dart to Javascript then I don't get the point of Dart.

  15. Re:atfer it does you will go to school for 2-4 yea by Oligonicella · · Score: 1

    Not according to HR.

  16. Re:No by Anonymous Coward · · Score: 1

    Why bother with that? Why not work on asm.js, and make that viable? Then all browsers could run ANY language we want to throw at the browser, and vendors wouldn't be pressured to implement an entire second VM (not like JS is going away anytime soon, so it's a waste of resources).

    But no, much easier to ask everyone to adopt another unnecessary JS language and hope they can displace it somehow. And heck, it's not exactly all that much better than ES6, which they could have more or less implemented by now if they weren't wasting time reinventing the wheel.

  17. Re:No by Lained · · Score: 2

    Simple, not causing disruption while people change the programming language (or start programming). If I had to wait for all browsers to support it, might as well not change at all. For change to happen needs to exist critical mass, Google just removed that from the equation.

  18. Re:It would need to be submitted to a standards bo by viperidaenz · · Score: 1

    Except VBScript wasn't designed from the ground up to be compiled to Javascript.

  19. Re:No by ShanghaiBill · · Score: 5, Insightful

    If you can convert Dart to Javascript then I don't get the point of Dart.

    You can convert A to B, where A and B are any Turing complete computer languages. So, for instance, JavaScript can be converted to PDP-11 assembly language which can be converted to Python which can be converted to C++. The main reasons to use one language over another are performance and the ability to express the algorithm clearly. Dart is (slightly) faster than JavaScript (since fewer type conversions and symbol lookups need to be done at runtime). But the main advantages are that it has better scoping and is more strongly typed, including structures and classes. This also means it is more reliable since more problems can be detected by static analysis tools, and runtime checks can be more rigorous.

  20. Re:It would need to be submitted to a standards bo by Anonymous Coward · · Score: 5, Informative

    Dart would need to be submitted to an independent standards body and be royalty and patent free

    standard: http://developers.slashdot.org/story/13/12/14/2047248/googles-dart-becomes-ecmas-dart
    royalties: http://www.ecma-international.org/memento/TC52.htm
    license: http://opensource.org/licenses/BSD-3-Clause

    STFU already

  21. Re:Depends on Microsoft by gbjbaanb · · Score: 1

    Microsoft has Typescript. Don't expect them to embrace Dart anytime soon.

  22. Re:No by jb_nizet · · Score: 2

    If you can convert C to assembler, I don't get the point of C. If you can convert assembler to machine code, I don't get the point of assembler. The point of Dart is to provide a better, more productive, safer way to develop code. And frankly, I have not written any line of Dart, but JavaScript is so badly designed that it really needs a replacement.

  23. Re:It would need to be submitted to a standards bo by jb_nizet · · Score: 2

    Dart is already being made an ECMA standard, just like JavaScript: http://www.ecma-international....

  24. Comment removed by account_deleted · · Score: 2

    Comment removed based on user account deletion

  25. Re:atfer it does you will go to school for 2-4 yea by znrt · · Score: 1

    If you already know JavaScript, and either Java or C++, then you can learn Dart *and write absolute crap* in about 20 minutes.

    please, folks. do get some real insight into the languages you use before doing serious stuff others will have to maintain. thank you.

    this is true in general, but regarding to javascript:
    if you come from Java, you *must* unlearn almost everything to start doing anything half decent in javascript.
    If you come from c++ not so much, but please, please ... read the manual first. javascript is *not* what you think it is.

    the problem with javascript isn't javascript, it's that 90% of people writing javascript hasn't a clue about javascript.

    as for dart, i don't know / don't care atm.

  26. Re:No by angel'o'sphere · · Score: 1

    Both JavaScript and Dart are strongly typed. A language either is, or it is not, there is no 'more strongly typed'.
    Perhaps you mean static typed verus dynamic typed?

    As dart is compiled down to JavaScript it certainly is 'not faster' than JavaScript ....

    --
    Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  27. Re:No by gbjbaanb · · Score: 1

    I think you're going to be a bit disappointed. Dart isn't a brand new language, its more like "better javascript". You might as well go Microsoft, and use their Typescript.

    In both cases its like more lipstick, same pig.

  28. option explicit... by turp182 · · Score: 1

    VB6 and all versions of the Office scripting language (VB6..., I'd much rather use C#) had this option. In the early 1990s.

    I hugely prefer static typing.

    And don't get me started on function redefinition in Javascript. It's more than a debugging nightmare, it is a debugging apocalypse.

    --
    BlameBillCosby.com
  29. Why would it have to!?! by Anonymous Coward · · Score: 1

    Dart can be compiled to JavaScript. So why would it have to replace JavaScript. Google's fight is not with JavaScript but with Oracle and Java. What Google needs to do is create a SDK for Android-Dart and let us use that for mobile development. Dart is perfect for the android and will alleviate a lot of the problems with Java. This would also allow mobile developers to do some web development and vice versa. And maybe...just maybe then we can see more quality app development for android.

  30. Re:No by turp182 · · Score: 1

    If Dart performance is better than Javascript on supported browsers then some will adopt it (surpassing JS performance should be pretty easy in my opinion, Google Maps suffers badly from JS lag and I would not expect that from Google).

    If a converter allows other browsers to be supported, then hell yes!

    Adoption will probably be mostly for new projects, I'm not sure how it would work with an existing JS heavy code base (I guess not well).

    I openly admit that I'm not a web UI developer. JS is one of the reasons. And it's not about learning syntax, it's about the things JS will allow, it is a different beast at its core from my experience. For the record, I'm a C# developer most of the time.

    --
    BlameBillCosby.com
  31. Re:Needs Java? by Shados · · Score: 1

    You don't need the IDE though. Sure, its nicer if you do, but when doing javascript its not rare to use Sublime or some other similar ones, if you're not using the holy war editors.

    Sublime has packages for Dart, so well...

  32. Re:No by BitZtream · · Score: 2, Informative

    Both JavaScript and Dart are strongly typed

    Someone has no idea what strongly typed means ...

    and by someone, I mean you.

    --
    Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
  33. Re:No by farble1670 · · Score: 1

    "if you can compile C to machine code, i don't get the point of C."

    understand now?

  34. Re:No by znrt · · Score: 2

    this also means it is more reliable since more problems can be detected by static analysis tools

    actually, it means you can employ unreliable programmers and think you can get away with it because your reports are green all over. odds are you won't.

    static analysis tells if code is wrong. it will never tell if code is right. it's just a tool to assist in early improvement and by no means a substitute for reviews and testing. review and testing do add reliability. static analysis doesn't. it's just convenient, but you could do perfectly without, provided you test and review.

  35. Re:atfer it does you will go to school for 2-4 yea by Shados · · Score: 1

    I agree with you on unlearning java before doing an anything meaningful in javascript...

    However, there's only one thing worse than C#/Java dev trying to apply what they know to Javascript, and its a C++ dev trying to do the same. I've had to deal with a few, and its completely deplorable. Overengineering and premature optimization (that actually slow things down in one place), underengineering and total lack of optimization where its easy and count.... try to do classes the same way without trying to understand the various inheritance patterns javascript can use... trying to reinvent the wheel everywhere...

    Its just painful.

  36. Re:No by rubycodez · · Score: 3, Insightful

    No, I think a bad car analogy would be more helpful.

    "If you can bore out the cylinders and hand fit bigger pistons and crank on the 1.4 Liter model to get a 1.6 Liter engine, why buy the 1.6L model"

  37. Re:No by Anonymous Coward · · Score: 1

    it's just a tool to assist in early improvement

    Don't underestimate this. Composing anything of quality takes many iterations. If you can reduce the time or effort it takes to iterate, you will have better output.

  38. God please... by aeschinesthesocratic · · Score: 2

    Anything that can rescue me from Javascript.

    1. Re:God please... by narcc · · Score: 2, Insightful

      A simple solution, which I'm sure you've overlooked, would be to try learning the language.

      It's amazing how few people bother, even after using the language for years.

    2. Re:God please... by aeschinesthesocratic · · Score: 1

      Sure, fine. I know javascript. I have for some time now. Too bad the people who wrote the mounds of code I have to maintain don't. Every feature of javascript is painful and can be abused easily.

    3. Re:God please... by narcc · · Score: 1

      Too bad the people who wrote the mounds of code I have to maintain don't.

      Indeed. It's very frustrating. I blame the glut of terrible books, though the tutorial websites are even worst.

      Every feature of javascript is painful and can be abused easily.

      I don't know about painful -- I found the language quite refreshing after years of Java and C# hell. It's very flexable, so abuse is easy; I can't deny that. A big part of the problem there, of course, is that it's so easy to make it act like a class-based language, which is a mistake all-too-frequently made by incompetent developers. The unnecessary new and constructor functions didn't help, and are likely responsible for the bulk of the confusion early-on.

      Unfortunately, it's about to get a whole lot worse, as ES6 is going to add "classes". They're little more than sugar, but will further the confusion.

    4. Re:God please... by aeschinesthesocratic · · Score: 1

      I feel javascript is broken because it doesn't even have an import statement (you'd have to use the awful require.js). Even the lowly C and many varieties of assemblers have in-line importation via preprocessor. Javascript's dependency model is fundamentally broken, especially if you have to use HTML script includes. Couple this with an awful object model, strange string behavior, and obscene variable abuse in a lisp-like language that wants to pretend it's C and you have a disaster language.

      Would you recommend any books for learning javascript at a deeper level? My frustrations mount with every javascript project that's thrown at me.

      Also, do you think Java is really hellish? It's got its quirks, but since I discovered Effective Java and made heavier use of interfaces, it's been way more delightful.

    5. Re:God please... by narcc · · Score: 2

      Yeah, fortunately that is being corrected in ES6. You don't really need to use require.js (it is awful!) though. I've been able to avoid it and similar solutions other ways, depending on the project.

      As for the object model, it's undeniably superior. Google "classical vs prototypal inheritance" for a bunch of articles and (informed) discussions. Once you get a handle on it, you'll be amazed at how much effort it ultimately saves you. (Believe it or not, it's significantly simpler than the classical approach, and far more flexible.)

      Would you recommend any books for learning javascript at a deeper level?

      Not really. Crockford's book is okay, but far from perfect -- same with Flanagan's JavaScript: The Definitive Guide. They're probably the best of a bad bunch.

      You really do have to toss out pretty much everything you know and start from scratch. If you try to use all those techniques you're used to from Java, you're going to pull your hair out. As an added bonus, you'll want to strangle Brendan Eich if you try to treat it like Lisp!

      It's a whole different animal. My advice? Avoid new and constructor functions to shake off some of those old classical OO habits. Spend some time reading about prototype-based programming and event driven design (a good start there is decoupling with events). Your ACM DL subscription will pay for itself in cash saved in therapy.

      Also, do you think Java is really hellish?

      That may be a bit of an exaggeration, but I really don't care for it. Maybe I've just suffered through too much bad Java code? Still, I find it tedious.

    6. Re:God please... by aeschinesthesocratic · · Score: 1

      Well thank you for your advice! I ordered Crockford's book and I'm going to approach javascript with a fresh new perspective for a lot of the new code I have to write at least.

      I think Java got a lot less hellish when I started using a proper IDE with code completion and a non-insane build system (maven). For all of Eclipse's instability, it makes writing java tolerable, even fun sometimes. Maven, though it can be hard to understand what all the XML in the pom is really doing, is such a relief compared to make or Ant.

  39. Re:No by bbn · · Score: 1

    Nobody knows what strongly typed means: http://en.wikipedia.org/wiki/S...

  40. Re:atfer it does you will go to school for 2-4 yea by exomondo · · Score: 1

    Absolutely right, too many developers blame the tools rather than becoming better developers, we see this every couple of years: "Every language is crap, we should all move to Language X!". Then a few years later Language Y will come along to save us from the abhorrent abortion that is Language X.

    By all means work on developing a new language if you feel it genuinely will be advantageous but unless that's your fulltime commitment in your capacity of coding then you should be focusing on becoming a more proficient developer with the tools you have because no language will save you from yourself. Ultimately in terms of speed, stability and maintainability it will be much more about your design choices than the design choices of the language, if you're not proficient in development with that language then you're likely to be making bad design choices so you're going to be the major problem.

  41. Re:No by Waffle+Iron · · Score: 2, Informative

    You might want to look in the mirror.

    Scripting languages usually feature dynamic, strong typing. (The runtime always knows exactly what type its dealing with.)

    Most compiled languages have static, strong typing. C is somewhat of an exception, being relatively weakly typed. (It's easy to make all sorts of bizarre type casts, sometimes implicitely.)

    A few languages are very weakly typed, such as Forth.

  42. Re:No by ShanghaiBill · · Score: 1

    Both JavaScript and Dart are strongly typed.

    Are you serious?

    As dart is compiled down to JavaScript it certainly is 'not faster' than JavaScript ....

    Dart can be translated to JavaScript. But it is intended to be directly interpreted by the browser, in which case it is 20-30% faster.

  43. Re:No by ShanghaiBill · · Score: 2

    review and testing do add reliability. static analysis doesn't.

    If you have 100 hours available for testing, you can use static analysis to find 90% of the bugs and spend the rest of your time on the 10% that require deeper insight. Or you can waste 90% of your time being a human compiler, manually cross-checking symbols. Which is going to result in more reliable software?

  44. Re:No by angel'o'sphere · · Score: 1

    Sorry ... it is very unlikely that with our days super good JavaScript jit compilers you find something that is even faster.

    --
    Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  45. Why not abstract the problem further? by scorp1us · · Score: 1

    Problem: browsers only run JS, which has it's virtues and warts.
    Solution: have a plug-in scripting engine where you can use any language, and let the developers choose their set of virtues and warts.

    There is no reason why we can't develop a plugin interface, and have other languages up and working in short order. Python would be great. Just include .py file instead of .js and have that in the interpreter. With a common shared DOM object, you can keep existing JS and transition to your language of choice.

    --
    Slashdot's rate-of-post filter: Preventing you from posting too many great ideas at once.
    1. Re:Why not abstract the problem further? by Anonymous Coward · · Score: 1

      Can we have COBOL please ??? :-)

    2. Re:Why not abstract the problem further? by Simon · · Score: 1

      1) The idea of choosing your language has already been tried. Microsoft tried it with VBScript.
      2) Plugins?!? seriously. You want to go back to a plugin world where nothing works reliably because people don't have the right plugins installed.

      If you want different languages, then compile to JS. It works today.

  46. Re:No by RabidReindeer · · Score: 1

    If you can convert C to assembler, I don't get the point of C. If you can convert assembler to machine code, I don't get the point of assembler.

    I presume you're speaking tongue-in-cheek. Modern C compilers do a lot more than "convert" C to assembler, they heavily optimise the resulting code. The first compiler I ever ran into that produced code so tightly optimized that it did a better job over an application's life than hand-coded assembler was IBM's Pascal/VS in 1986, but more recent compilers such as gcc blow the doors off even that. So the point is that if you want code that's well-optimized at the instruction level - and stays well-optimized at the instruction level, and you don't want to spend forever and huge amounts of money, use a compiler.

    Likewise, assemblers, despite being mostly literal translations of human-readable code are considerably faster for most people to code for, which is why assemblers have been the preference since the 1950's. The point being again, that there is time and money to be saved.

    I concur on JavaScript, though. It has all the earmarks of a successful software product. Meaning it's horrible and has aspects that cannot be credited to designers who were sane or sober.

  47. Re:No by narcc · · Score: 1

    Why do you think JavaScript is "badly designed"?

    I'll accept "I was just repeating the meme" as an answer.

  48. Re:No by Hewligan · · Score: 2

    If you have 100 hours available for testing, you can use static analysis to find 90% of the bugs and spend the rest of your time on the 10% that require deeper insight. Or you can waste 90% of your time being a human compiler, manually cross-checking symbols. Which is going to result in more reliable software?

    That assumes that:

    • 1) Static analysis will find enough problems to save 90% of your testing time
    • 2) There is no additional cost in development time in manually handling all type conversions

    And there are a lot of reasons to believe that neither of those are true.

    --

    "If God created us in his own image, we have more than reciprocated"

  49. Re:No by ShanghaiBill · · Score: 1

    Sorry ... it is very unlikely that with our days super good JavaScript jit compilers you find something that is even faster.

    Dart is close enough to JavaScript that much of the same JIT code can be used, and the people that designed Dart include some of the same people that work on JIT. One of the design motivations for Dart was removing some of the barriers to better JIT optimization. Dart is already faster than JavaScript, on a broad range of benchmarks, so it is silly to argue that it can't happen.

  50. Re:Simple answer is by irrational_design · · Score: 1

    Wait, I've heard of and used AngularJS. But what does that have to do with Dart?

  51. Comment removed by account_deleted · · Score: 4, Funny

    Comment removed based on user account deletion

  52. Re:No by angel'o'sphere · · Score: 1

    As long as it is only compiled to JavaScript and there is no wide adopted Dart VM in "real Browsers" it is not silly.
    my browsers certainly don't run Dart natively, so I can only use Dart code that was compiled to JavaScript, hence it is as fast or slower than JavaScript (and yes, I'm aware of the Dart project ... only arguing about the over simplifications some people do here).

    --
    Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  53. Comment removed by account_deleted · · Score: 2

    Comment removed based on user account deletion

  54. Dart is an ECMA standard by MochaMan · · Score: 3, Insightful

    Dart was submitted for ECMA standardization early this year and is now ECMA-408.
    [Disclaimer: I work on the Dart team]

    1. Re:Dart is an ECMA standard by MochaMan · · Score: 3, Insightful

      Also, to address the license/patent issues, Dart is provided under a BSD-like license and includes a patent grant.

  55. Fire and motion by Anonymous Coward · · Score: 1

    Google is playing the same game that has been routine from Microsoft any time the past 30 years.

    Google knows that millions of devs have got a lot of investment in Javascript. I don't know how many websites in the world use it, but I'm guessing, as a global percentage, the first digit would be a '9'. And a lot of work has already gone in to making it easier to use, in different ways and for different purposes: there's JQuery, ExtJS, Google's own AngularJS, and I don't know what else out there. JS, in a word, has inertia.

    If Dart is ever going to replace that, it has to build a comparable amount of inertia of its own. Now, 3 years after launch, what has it got?

    Pretty much zip. Why should I learn Dart, when JQuery does everything I need it to just fine? Particularly while Dart is platform-specific, so for debugging purposes - at least for the foreseeable future - I'm still going to have to know Javascript anyway,

    At this point, the name of the game is "fire and motion". Dart is a distraction. If you want to spend your time learning it and converting your apps to it - great, because that's time you're not spending building apps or platforms that might in any way worry Google.

  56. Fuck languages, Standarize a VM ! by goruka · · Score: 1

    How difficult it can it be to agree on this? This way anyone can use any language they wish. It's a win-win situation for Firefox and Google and probably for Microsoft because their underperforming new platforms will get loads of new applications. I seriously don't get corporations sometimes..

  57. Java, Python, Lisp... by iamacat · · Score: 1

    There should be no languages for "web development", only languages for quality development, with web being application delivery mechanism. Current dichotomy leads to loss of features and quality that was taken for granted decades ago.

    I should be able to tell a webmail site to cache all e-mails locally and then have full access to attachments and instant full body search while offline. This requires multithreading, fast access to large binary files, precompilation and static typing for performance. Javascript is just not going to cut it. Maybe Dart would be allright, but good luck getting experienced developers and ready to use software packages. This particular task likely needs a full blown database.

    Developers should be able to choose a language based on the problem they are trying to solve, not how the application will be delivered to the user.

    1. Re:Java, Python, Lisp... by Shados · · Score: 1

      Web workers, local storage, JIT is more than good enough, and there are typed arrays for anything that matters.

      Its good enough to make 3d game engines, its good enough for a mail client.

    2. Re:Java, Python, Lisp... by iamacat · · Score: 1

      Wrong! Once you invoke WebGL, you are relying on GPU much more than CPU. For comparison, try plain 2D WEBP decoding in pure Javascript.

    3. Re:Java, Python, Lisp... by Bite+The+Pillow · · Score: 1

      Developers should be able to choose a language based on the problem they are trying to solve, not how the application will be delivered to the user.

      So there should be no languages dedicated to the kinds of problems web coders have to solve? Or do you mean all languages should support web problems?

      Maybe you object to the term, and we just say development now?

      And which languages are no longer available so you can't use their features?

  58. Re:Depends on Microsoft by iamacat · · Score: 2

    More like the dinosaur in the room. Nobody cares about IE anymore. If Chrome, Safari and Firefox adopt a standard, it's a done deal.

  59. Re:Needs Java? by ChunderDownunder · · Score: 1

    Your loss.

    Much of Google's software tooling relies on a JVM.

  60. Re:Simple answer is by kiddygrinder · · Score: 1

    he was providing an example of something that didn't end up as "a pile of turds smothered in 3 year old rotten turdonnaise, on a turdseed bun". not that i can talk, i tried knockout.js and decided this style of programming wasn't for me in the short term so i haven't tried angular.

    --
    This is a joke. I am joking. Joke joke joke.
  61. Re:It would need to be submitted to a standards bo by kiddygrinder · · Score: 1

    the problem is that the standards body for ecmascript is so fucking slow and actually getting browsers to support the next version is even slower.
    this causes people to think that maybe they can create their own ecosystem and bypass all the bullshit, what really needs to happen is someone forces everyone to stop fucking around and do it one way, not that i have any hope or belief that this is even possible.

    --
    This is a joke. I am joking. Joke joke joke.
  62. Re:Depends on Microsoft by kiddygrinder · · Score: 2

    i wish that were true, IE still has enough marketshare to make it a pain in the arse for anyone developing web apps for businesses, hell i was pretty pumped when we stopped supporting IE7 *this year*

    --
    This is a joke. I am joking. Joke joke joke.
  63. Not that much better than javascript by doctor_subtilis · · Score: 1

    This is what turned me off on Dart as well. Carte blanche optional typing is about as useful as no types at all. Either add static typing that is enforced or don't add types at all.

    Also turned off by the arbitrary divergence from JS. Why?

    If they would've required typing there would've been a hell of a lot more people complaining about it than the few who can't handle a little developer freedom. Sometimes you just want to scaffold out some code. Then something starts messing up, go back and add some types and see how your data moves through your application. Or start entirely with typing, then as you run into some of the pitfalls of typing, remove some of that typing and boom, your code is smooth again. It's really the best of both worlds as it allows for both typing people and non-typing people to work together through typedefs and interfacing. Or you can live wholly in either world! You also have to keep in mind that (a) the code is probably going to be compiled down to JavaScript (for the time being) and (b) that the production dart engine doesn't typecheck at all and that's a part of how they get their performance (there is a checked production option though too). BTW, have you seen this?

  64. Re:No by MikeBabcock · · Score: 1

    "If you can convert C++ to Assembler, I don't get the point of C++ ..."

    So you can write your code in a nicer language, obviously.

    --
    - Michael T. Babcock (Yes, I blog)
  65. Re:No by MikeBabcock · · Score: 1

    What you meant to say was that "even though writing your own JavaScript identical to what Dart can be translated into would execute just as quickly, I doubt the capability of the Dart compiler to find speed benefits in JavaScript that I wouldn't find."

    See optimizing C++ compiler vs. ASM arguments.

    --
    - Michael T. Babcock (Yes, I blog)
  66. Re:No by exomondo · · Score: 1

    JavaScript is so badly designed that it really needs a replacement.

    What is so bad about it?

  67. Re:atfer it does you will go to school for 2-4 yea by bill_mcgonigle · · Score: 1

    Not according to HR.

    We're already hiring for somebody with 5-10 years of Dart programming experience. HR says we have to.

    --
    My God, it's Full of Source!
    OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
  68. Dart compiles to javascript. by JustNiz · · Score: 1

    Just what the internet needs...yet another layer of crap ontop of the already overbloated steaming pile.

  69. Re:Simple answer is by leptons · · Score: 1

    AngularJS is also a pile of turds smothered in 3 year old rotten turdonnaise, on a turdseed bun. When people say "it's the shit", they are being literal.

    Seriously though, AngularJS does kind of suck.

  70. Already a working alternate script language by ssufficool · · Score: 1

    <script type="text/vbscript">

    msgbox("ftw!")

    </script>

  71. JavaScript problem by Sudline · · Score: 1

    The main problem in JavaScript is not the language that could be improved, but how reluctant are browser makers to agree how to improve it. I imagine it would be even harder to reach with a langage made by one browser vendor!

  72. Re:No by UnknownSoldier · · Score: 1

    Have you even _used_ any other languages??

    JavaScript is a shitty language. There is even a book about it

    JavaScript: The Good Parts
    * http://www.amazon.com/gp/aw/d/...

  73. Re:No by UnknownSoldier · · Score: 1

    How the hell do you have a 5 digit id and are so smegging clueless about JavaScript ?!

    * http://www.codeproject.com/Art...

    JavaScript is a **weakly** typed language else you wouldn't have hacks like this:

    var f = 3.14158
    var i = f | 0; // convert double to int

  74. Re:No by UnknownSoldier · · Score: 1

    Hacks like this at the top of your JS file:

    "use strict";

    Retarded automatic semicolon insertion

    No way for one JS file to include another without resorting to manipulating the DOM

    Completely broken scope

    for( var i = 0; i < 10; ++i ) {
    }
     
    i = 11; // can use i outside scope!

    Try actually reading "JavaScript: The Good Parts" sometime.

  75. Re:Simple answer is by mwvdlee · · Score: 1

    I've tried knockout.js and I really like the style of programming; I just haven't found any practical use for it beyond very basic single-page web apps which would be just as easy to do without MVVM.

    --
    Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
  76. Re:No by mwvdlee · · Score: 1

    Name me any language without bad parts.
    I've used several dozen languages so far; every single one of them had bad parts.

    --
    Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
  77. Re:No by Draugo · · Score: 1

    Considering the clusterfuck Ecmascript 4 and 5 were I'm not holding out great hopes for 6. There's a reason language design by committee is a shitty approach (see html and javascript as perfect examples).

  78. first military avionics written in C++ by smash · · Score: 1

    Instead of some proper mil-spec language like Jovial or Ada. And it's delayed massively due to software problems. Co-incidence?

    --
    I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
    1. Re:first military avionics written in C++ by smash · · Score: 1

      damn it... wrong article....

      --
      I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
  79. Re:No by Dog-Cow · · Score: 1

    Is that actually using i outside the loop, or are you just implicitly defining i after the loop? I don't know the answer, but based on my knowledge of JS, either could be the case. The latter is not a scope issue.

  80. Dart is what the web needs, but ... by cyronix99 · · Score: 1

    It is made by google, other competitors won't accept Dart because of this. A standard for a new language needs to be determined by a comitee. Or not necessarily a language, maybe a VM where different languages can be compiled to. But dont see anything like this in the works right now ... everyone seems to think javascript is the way to go, although that language was just designed for simple functions in a webpage, not big web applications

  81. Java? by should_be_linear · · Score: 1

    They basically recreated Java language, minus all libraries already available for Java.

    --
    839*929
  82. Re:No by DrXym · · Score: 1
    Well JS sucks as a language to develop in so there is a benefit in developing in something else even if it ends up being machine generated into JS. However... it would be far more useful for browsers to support a low level bitcode (e.g. LLVM) with a set of APIs that tie into the gui, web, threading, local storage etc. than another high level language. Google has something already suitable for the job - PNaCl, but it should be standardized and simplified so any browser can implement it.

    Dart could compile to bitcode and then it would execute at near native speeds. Even stuff like asm.js that is an optimized usecase for machine generated js is still a workaround of the fundamental issue - the lack of a lower level alternative.

  83. Implement Javascript IN Dart! by gelfling · · Score: 1

    Because those 5 recursive layers of 30 or 40 different applets on every website known to man aren't going to crush your machine by themselves, you know.

  84. Re:Simple answer is by stephenmac7 · · Score: 1

    AngularJS was also created by Google.

    --
    "No man's life, liberty, or property are safe while the legislature is in session." -- Judge Gideon J. Tucker
  85. The DOM by Daniel+Hoffmann · · Score: 1

    So anyone trying to replace the DOM? You know, the thing that makes my life a living hell?

    Really, Javascript is not THAT bad, sure there are numerous things that suck about it and it seems dart does fix much of that, but the DOM is the real problem. So does dart at least make interacting with the DOM less painful?

    The problem with replacing the DOM is that all browsers would need to implement the alternative solution, any attempt to make a cross-compiler for the DOM is doomed to fail (like google GWT.) I don't know why google doesn't just push the android runtime into chrome and allow android apps to be used inside the browser and make plugins for the other browsers to do the same.

  86. Re:No by Eunuchswear · · Score: 1

    Javascript is terrible. Making global variables default, and local variables require a keyboard

    Yeah, you can do globals with a mouse, but for locals you need a keyboard(*)

    (* was scared I'd mistype this as cheeseboard).

    --
    Watch this Heartland Institute video
  87. Re: No by pchasco · · Score: 1

    While I haven't seen any compelling reason to use a source to source compiled language (still cant change js symantics and js is expressive enough) after experimenting with TypeScript, coffeescript and dart, I can tell you haven't experimented with any of them. These compilers generate map files, which are akin to Microsoft PDB files. The JavaScript debugger (in Chrome at lease, probably FireFox too) will use this file to enable debugging in the original source that was compiled to js. If you had actual experience with these compilers instead of making uninformed assumptions, you would know this.

  88. Re: No by pchasco · · Score: 1

    Mainly because nothing would be gained. Python and PHP are similar to JavaScript in that they are dynamic languages. The idea of dart and others is to bring static compilation and strict typing to the browser, enabling improved JIT code generation and to make code more maintainable. If you've ever worked on a large application in a dynamic language, you've experienced the pain of trying to change an API without the help of the compiler telling you what it breaks and which sources and lines have errors.

  89. Re:No by znrt · · Score: 1

    If you have 100 hours available for testing, you can use static analysis to find 90% of the bugs and spend the rest of your time on the 10% that require deeper insight. Or you can waste 90% of your time being a human compiler, manually cross-checking symbols. Which is going to result in more reliable software?

    obviously, the one where you skip static analysis and devote 100% of testing time to testing. it will be exactly 10% more reliable than both cases of your false dichotomy. :-P

    besides, your perspective is more about productivity than about quality. that's ok, but it depends on your particular environment. actually static analysis gives you a specific insight into a code body which is good. but it's often greatly overrated and i find statements like "static analysis adds reliability" alarming. that's simply not true. it assists you in assessing reliability but if you stop there you're screwed, the actual important step is testing and if you get *that* right, you're ok. reviews are a great plus, not just for reliability, but also for learning.

    and i like static typed languages, if anything just because refactor is a breeze with adecuate tools.

  90. Re:No by angel'o'sphere · · Score: 1

    No, I did not meant to say that. (Especially as I don't develop in JavaScript ;D)
    I ment that I'm watching the Dart development since it was first published, and I'm not aware that google developers once made the bold claim"we translate to javaScript and our code is faster". However I may have missed that note.

    --
    Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  91. Re:No by angel'o'sphere · · Score: 1

    And how can you not understand what "weakly typed" actually does mean?
    Go google for it ...

    --
    Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  92. Re:No by UnknownSoldier · · Score: 1

    Did you even read what Wikipedia has ??

    Some programmers refer to a language as "weakly typed" if simple operations do not behave in a way that they would expect. For example, consider the following program:

    x = "5" + 6

    Different languages will assign a different value to 'x':

    One language might convert 6 to a string, and concatenate the two arguments to produce the string "56" (e.g. JavaScript)

    A Strong Typed language does NOT automatically allow type conversion / coercion / type punning.

  93. Re:No by UnknownSoldier · · Score: 1

    > The latter is not a scope issue.

    It is a *design* issue.

    Other languages _respect_ block scope and would give you an error for trying to access a variable outside the block scope.

    Javascript does not. Ergo, it is a retarded design.

  94. Re:No by UnknownSoldier · · Score: 1

    I am quite well aware of block-scope: I've worked on a professional C++ compiler, and I HAVE read Javascript: The Good Parts.

    The point WAS that Javascript has a retarded design by NOT respecting block-scope like other languages that it was based upon. It is too easy to use variables when you don't mean to.

    Javascript is the Basic of the 2000's. It was designed by an idiot that failed to learn from the mistakes of previous languages; it encourages bad programming practices and bites you in the ass when you least expect it, i.e. just use any misspelt variable without declaration unless you resort to stupid hacks like "use strict", etc.

    Comprehending. Try it sometime.

  95. Re:No by UnknownSoldier · · Score: 1

    > There is no block level scope.

    . /sarcasm. DING! We got a winner.

    That WAS the point about the _shitty design_ of Javascript: The LACK of proper scope similar to other languages it was based upon.

  96. Re:No by angel'o'sphere · · Score: 2

    Of course it does. (... A Strong Typed language does ...)

    The point about "strong types" is that you can make hard assumptions about the data behind the variable when you access it.

    Type coercions are in fact a bit wild in JavaScript, but nevertheless it is strong typed. Or is there a way to crash the VM by abusing types? Certainly not ...

    Perhaps instead of insisting that JavaScript "is not strong typed" you should read up what the opposite is: weak typed. And then compare that with javaScripts type system ... just an idea.

    --
    Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  97. Ug.... by Psycho_Bunny · · Score: 1

    The last thing the Internet needs is MORE Google. They have the most disingenuous and nasty corporate culture I've ever seen on the customer-facing side of an enterprise business.