back to article Google brings out new programming language

Google has built a brand-new programming language for "structured web programming", one that appears to be suited to browser-based apps. Two of the search giant's engineers will discuss Dart, Google's new language, at the Goto international software development conference next month. News of the new language was posted to the …

COMMENTS

This topic is closed for new posts.
  1. handle

    "the bios of the two Googlers"

    Erm, were they Androids...?

    1. RightPaddock
      Thumb Up

      I wonder if they can run UEFI on top of their bios

    2. Ramazan
      Go

      @the bios of the two googlers

      Do they dream of electric sheep?

  2. Malcolm 1
    Go

    Anything has to be better than Javascript.

    I can't see it actually taking off, but a statically typed, compiled client side language of any description is far preferable to the vagaries of JS programming.

    Frankly the ideal solution would be something like Microsoft's CLR as everyone would then be free to pick the language syntax of their choice (including dynamically typed using the DLR). But despite being an ISO standard it's Microsoft originating technology so I can't exactly see Google/Mozilla/Opera signing up in a hurry.

    1. jai

      there's nothing wrong with javascript...

      ...that jQuery can't fix

      1. Malcolm 1
        Devil

        jQuery is an impressive toolkit and I wouldn't be without it, but it can't solve the fundamental problems. To steal blatantly from Doug Crockford's very slim tome "Javascript: the good parts", consider the following JS equality expressions:

        '' == '0' // false

        0 == '' // true

        0 == '0' // true

        false == 'false' // false

        false == '0' // true

        false == undefined // false

        false == null // false

        null == undefined // true

        It's a foul and error-prone language suited for simple scripting tasks at best.

        1. SimonC
          Flame

          Silly party trick

          Not sure where you got that list from, but if you learn javascript properly without assuming all languages with similar syntax work identically, it makes perfect sense.

          '' == '0' // string comparison, obviously false

          0 == '' // == ignores type and javascript attempts to convert them into the same type to do the comparison, hence true. === should be used and will return false as they are not the same type.

          0 == '0' // again, conversion occurs.

          The rest of the examples behave consistently with the rules of == and ===.

          Javascript is a brilliant language, unfortunately most people don't even know about === which is a fundamental part of the language.

          1. Anonymous Coward
            Anonymous Coward

            Re: Silly party trick

            "Javascript is a brilliant language, unfortunately most people don't even know about === which is a fundamental part of the language."

            But "most people" aren't programmers.

            I think the point the chap was making was that to a casual observer, it's rather inconsistent.

            The trouble is programming is, generally, taught so shallowly that lots of people think they have skills in this area which they do not. These 'script kiddies' then think they can do anything by copy-and-pasting fragments of code together, and we get left to pick up the pieces when it all goes horribly wrong.

            1. Anonymous Coward
              Anonymous Coward

              title? you know how i like titles!

              "But "most people" aren't programmers."

              Then they probably shouldn't be programming should they?

              Also, PHP (one of those other non-programmer programming languages) make exactly the same distinction between typed and non-typed comparisons.

              This difference is part of every loosely typed programming language. Personally I'd prefer that over having to learn programming with a typed language every time (both when learning to code years ago and as bloke who taught his fair share of programmers).

            2. Anonymous Coward
              Anonymous Coward

              errr

              Since when did script kiddies do anything beyond run scripts/others code already compiled for them.

              Think your getting mixed up with those that dont understand object oriented code and think that cutting and pasting one bit of code into another application is object oriented programming - which it is most certainly not in many levels.

              Some people can make paintings, come can make pictures out of bits of others (puzzels) and others just code. Alas there aint realy any good certs I'm aware of that would allow you to descriminate against white/yellow belt coders from the 5th dan black belts. Even if there was I doubt any of the black belts would trust said exams/certs. Which is why we have people who are in programming jobs and have the skill level of a photocopier. Are these script kiddies - NO. There far far worse and I dont think there is a term that you could label them with that would be printable - unless you copy and paste a label from say another comparable group of uselessness!

        2. Anonymous Coward
          Facepalm

          This is why it's often best to set your own false and true; Indeed any constant that ends up being architecturely set.

          realfalse = (1==0)

          realtrue = (1==1)

          It avoids the issues lower down in the cpu and makes life a little more portable as you dont care about true being anything from 1-255 and false being -1 or 0 or even the <0.

          But you realy shouldn't have to be worrying about that in a scripting language - should you.

      2. neek
        Trollface

        and there's nothing wrong with jQuery...

        that Dojo can't fix :P

      3. Michael Wojcik Silver badge

        The real problem with ECMAScript

        And there's nothing wrong with jQuery that not using bloated, bug-ridden, braindead, broken-by-design frameworks can't fix.

        All of the popular ECMAScript ("Javascript" is the name of the Mozilla implementation, not the language) frameworks - and no doubt the vast majority of the unpopular ones - are crap, but jQuery sets a new standard in crap all by itself. Most of the code was clearly written by people who haven't read or can't understand the spec, and Resig's primary design principle seems to be "whatever I do is right, and the spec and implementations that follow it are wrong".

        That's the real problem, and it's why introducing new client-side browser-hosted languages won't work. Most of the people writing software in them are lazy and sloppy, and are happy to take whatever shortcuts they find rather than doing it right.

        Now I would like you damn kids to get off my lawn. (The Reg needs an old-man-shaking-his-cane icon.)

  3. Graham Bartlett

    Just what the world needs

    Like there aren't enough half-assed programming languages around already...

    1. Anonymous Coward
      Devil

      No worries...

      ...it'll be added to Google's redundant project list in six months along with Wave, Labs and all the others.

    2. Ramazan
      Mushroom

      @Graham Bartlett

      Come on, bring more to the webspace! The worse, the better. Hopefully people will some day get tired of supporting many competing content/interactivity platforms (Flash/Java/Silverlight/ECMAScript/Dart) and resort to common denominator - HTML/plaintext + JPG/GIF.

  4. Eddie Edwards
    Facepalm

    News FTW

    "There aren't yet any technical details on Dart"

    Can someone wake me up when there are? Thx.

  5. Gary F

    Please no

    Not another language. Leave me alone, I'm quite happy with the several other languages I already know. Google, sometimes you have to know when to stop.

    1. Anonymous Coward
      Thumb Up

      In the end...

      +1 from me.

      I think developments like these may very well turn out to be more counter productive than some companies realize. Sure; the whole product might be far superior in comparison to others (I have no idea there btw) but that isn't always enough.

      Especially considering that Google operates in the OSS market makes this a rather weird move IMO. Because as many posters pointed out already; we already have so many languages available already...

      Although I somewhat question(ed?) their motivations I have to admit that Microsoft has recognized this by adapting well known languages and heavily expanding (and according to many other programmers:) /improving/ on them after which they became officially supported for their .NET framework.

      If you want to utilize .NET you can basically chose from a list between C to Java (C#) to the well known Basic (VB) as well as C++, Cobol, Javascript to Perl and PHP (do note; I don't speak fully from experience, only what I read online. My experience limits itself to Java (C#) and VB.NET)

      Its all the 'evil' Microsoft but still allowing you to use whatever you want without learning (too) much new tricks.

      I think you'll achieve much more by adapting to what your users want instead of trying to adapt your users to what you want. Some of us don't want to learn something new every day.

    2. Charles Manning

      I beat you to it.

      I said exactly the same thing in the 70s.

      Ya don't need anything more than Fortran, COBOL and Algol.

      1. Ramazan
        Pint

        @Charles Manning

        Actually, Algol was quite late to the market, so this should reed "Ya don't need anything more than Fortran, LISP and COBOL." And, of course, real programmers don't use Pascal, patch program image directly in core memory and use machine codes directly without need for even an Assembler.

  6. Jon Double Nice

    I await the job ads now

    "5 years+ DART experience required" - regardless of what the position is.

    1. Anonymous Coward
      Anonymous Coward

      Great staff retention

      Perhaps it is Google's way of retaining staff by getting them to use Dart. No other organisation uses it so they will stay at Google.

  7. A J Stiles
    Boffin

    New programming language

    As long as it uses different operators for different operations, I'll be happy.

    If it's another language that tries to use "+" both to concatenate strings and add numbers, and/or tries to use the same comparison operators to compare strings and numbers, then it's doomed to failure.

    1. Paul 172
      FAIL

      @ AJ Stiles

      "If it's another language that tries to use "+" both to concatenate strings and add numbers, and/or tries to use the same comparison operators to compare strings and numbers, then it's doomed to failure."

      oh yeah, exactly like how perl failed.....?

      1. Christopher Key.
        Trollface

        Optional

        >"If it's another language that tries to use "+" both to concatenate strings and add numbers, and/or tries to use the same comparison operators to compare strings and numbers, then it's doomed to failure."

        >oh yeah, exactly like how perl failed.....?

        You are trolling aren't you?

        "+" vs. "."

        "==" vs. "eq"

        ...

    2. Anonymous Coward
      Anonymous Coward

      also @AJ Stiles

      That's not a problem if you understand the two concepts of 'string' and 'number'. Which, presumably, includes everybody who is going to use Dart?

  8. BorkedAgain

    If they already have "Go" for server-side...

    ...wouldn't a better name have been "Ogle"?

    1. Anonymous Coward
      Thumb Up

      I agree. "Obfiscated Group Language Enviroment" is best I can come up with having run out of coffee.

    2. Anonymous Coward
      Anonymous Coward

      Go Go Hamsters

      would be easier to remember. I only mention it because I used to think they were guinea pigs. Which rather undermines my argument. Ignore this post.

    3. Dusty Wilson
      Holmes

      Ogle: http://golang.org/doc/go_faq.html#What_is_the_origin_of_the_name

  9. JDX Gold badge

    Message to Google....

    "Go" away and do something useful.

  10. semprance
    Meh

    @ A J Stiles

    You mean like C# and Javascript?

    Yeah, they seem like real big failures. Or maybe you just decide what languages to use based on minor details rather than, say, its strengths and your needs.

  11. PAT MCCLUNG

    Clerk

    Appalling!

  12. Anonymous Coward
    Anonymous Coward

    @Five years Dart Experience.

    Don't forget the keyword buzz jockeys.

    Linked In:

    Fred Bloggs

    Skills : Enterprise Dart Architect, Dart for the Cloud, ITIL3 (Dart), Dart (REST)

  13. All names Taken
    Trollface

    Might one suggest GoGo from the google at the GoTo by Go?

  14. Anonymous Coward
    Facepalm

    Stop. My brain is already full.

    Norra 'nuther one!

  15. Anonymous Coward
    Anonymous Coward

    Oh noes ...

    Not another useless language ...

    Please stop.

    Go was inadvertently funny. This is getting sad.

    It's really beginning to look like a bunch of CompSci grad students who can't snap out of their 2nd year PhD funk. The fastest Smalltalk VM? Who cares?

    How about writing something useful for a change? Here's an idea: an open source C++ front-end for C++2011. Compete with EDG, if you can.

    What's that? No? It's hard? Might be subject to scrutiny and peer review?

    Yeah, didn't think so.

    1. vic 4
      FAIL

      Usefulness is in the eye of the beholder

      > The fastest Smalltalk VM? Who cares

      People who use(d) it, actually there are still quite a lot people and businesses using smalltalk and rightly so.

      > How about writing something useful for a change? ... an open source C++ front-end for C++2011

      Useful for you I assume, can't see how that would be that useful for Google. Anyway, as there are not many details released how do you know it's not going to be useful to many people?

      > What's that? No? It's hard? Might be subject to scrutiny and peer review?

      Some how I doubt that the two engineers mentioned are likely to be scared of something hard or subject to peer review. To be honest you even suggesting that is insulting to two well respected developers who have contributed a lot to our industry.

      1. Anonymous Coward
        Anonymous Coward

        No offense, but ...

        ... I smell a Google Fanboi.

        You are hopelessly trying to argue that bug-fixing a VM for a dead programming language - Smalltalk, ahhh, those were the '80's - is somehow more useful than writing a compiler front-end for the newly ratified C++2011 Standard. Smalltalk passed away in the mid-90's; it was a painless death and no-one noticed. May it rest in peace. C++ and Java killed it, and rightly so. Oooops, I wrote the J-word. "Businesses using Smalltalk". Really? You mean "legacy code we can't get rid of because hiring someone to re-write it in C++ or Java isn't worth the money"?

        I don't believe for a second that C++2011 would be useful just for me. C++2011 isn't useful to Google, but Smalltalk is? Interesting.

        So yeah: how about writing something useful (unlike Go or Dart), releasing it under a FOSS license - preferably not invented by Google, we have enough FOSS licenses already, and making it available for peer review, instead of spinning wheels in the mud on useless projects involving dead languages? Google has never been an example of openness and collaborative development processes. Maybe they should have, it would have likely saved them from the Oracle lawsuit.

        1. Anonymous Coward
          Anonymous Coward

          Actually, Xerox killed Smalltalk. It just seems that it's quite dead and it's inspiring a lot of new languages as well as making fresh appearances in its own right. Java has reached the end of it's useful life and will fade away. C++'s big advantage - speed - is still there and will carry it on for years but it's not really the future, it's the best of the past. So, finding ways of implementing real OOP that runs at a decent lick *is* ultimately more important than worrying about C++2011. Not that the world has to settle for one or the other.

          As to Google - I couldn't care less what they do and look forward to the day when someone comes out with a decent search engine and consigns theirs to the bin of history.

          1. Ben Hanson 1

            C++ is a big subject, but certainly the bigger picture is that is will eventually be replaced by something 'better'. Herb Sutter himself has mentioned that he sees a place for a language with the same semantics as C++ but with an easier to parse syntax. That is certainly an important part of the jigsaw as far as modernisation goes, but to still be hankering after "real OOP" completely misses the point and (trust me on this) is completely out of date.

            As much as performance is the big selling point for C++ that is not the only advantage. Determinism in execution and the ability to mix (for example) OO (where appropriate) with generic programming are also just as important.

            What C++ really needs is a decent module system. In extreme cases builds can actually go on for days! As nice as C++2011 is, I agree that it is a mere side show in the bigger scheme of things.

            1. Anonymous Coward
              Anonymous Coward

              a few important details about C++

              1. You can safely mix C++ with C, and that is by design of the C++ Programming Language. Most modern compilers allow mixing C++ with at least one other Imperative Language other than C (assembler at a minimum).

              2. You can use C++ as an imperative Language, just like C. Again, by design. C++ was never designed with OO Purists in mind.

              3. Template-based meta-programming is actually one of C++'s strongest features. See BOOST.

              4. Determinism in execution (if I understand correctly what you mean) is a function of the Operating System, and not a function of a particular programming language choice. Eventually, any compiled Language becomes assembler (during compilation). A real-time Operating System should behave like a real-time Operating System regardless of the Language a certain piece of software might have been written in (C, assembler, C++, Objective-C, Fortran, etc).

              5. Parallelism is explicitly built in the C++2011 Standard. Many modern C++ compilers support OpenMP in C++ within the C++2003 Standard.

              5. Exceedingly long compilation times are positively correlated to code complexity.

        2. Anonymous Coward
          Gimp

          Smalltalk...

          ...most certainly is not dead. I work at a major engineering consultancy company with a multi-million pound turnover. A large fraction of that is from licensing and maintenance of our flagship software package, the vast majority of which is coded in a Smalltalk VM, with some of the heavy number crunching done in fortran. We have a dev team of about a dozen working on it full time, including some working on Smalltalk web apps. I have to say having worked in a lot of environments, Smalltalk really rocks.

    2. Anonymous Coward
      Anonymous Coward

      "The fastest Smalltalk VM? Who cares?"

      Smalltalk is having a bit of a resurgence at the moment, actually. Mostly due to the complete failure of "Smalltalk killers" to actually make improvements on it. Java is a sinking ship of good questions with bad answers and C++ is still claiming that its half-arsed object system is "good enough" when it is abundantly clear that they no longer are.

      Both languages are effectively dead and Smalltalk is as good a re-spawn point as anything else for asking "where *should* we have gone from here?"

      1. Ben Hanson 1

        The 1990s is a long time ago. Can we leave the OO rhetoric back there, where it belongs? It sounds like the last time you looked at C++ was about the same period, because *no-one* (interested in the state of the art) is discussing the finer points of object models these days. In case you hadn't noticed generic programming and meta programming is where the interest is now (amongst many other things, such as, oh, I don't know, parallelism..?)

        OK, no-one likes sarky comments and the bashing of their favourite language, but as unsubtle as the comment was he actually has a point. Banging on about Smalltalk these days really does smack of academics who really should get out more as was implied.

        1. Ramazan
          Pint

          @Ben Hanson 1

          "In case you hadn't noticed generic programming and meta programming is where the interest is now".

          Wow, how wrong I was thinking that Haskell is the hottest thing at the moment :)

          And, what do you mean by metaprogramming? LISP? lex/yacc? IDL/WSDL code generators (e.g. ZSI.generate.wsdl2python)? Since when have they become more interesting than ever before?

          I think you should just get the right tool to get the job done, regardless of where the interest is now. If you can solve a problem with Smalltalk, great. If you can't, then there's no sense in flagging the dead horse, better go find something else.

  16. Dusty Wilson
    Linux

    "Go has been something used only by Google, as far as we can tell..."

    I use Go and love it. And I don't work at Google. Lots of people use it. It's a language built for a certain type of developer. If you aren't one, you won't want it. If you are one, you will think it's the best thing out there. Thankfully we have a lot of language options.

    One of my favorite benefits of Go is that it carries its own runtime. No need for any of those pesky frameworks to be pre-installed on the customer's machine. And it works for Lin/Win/Mac and has been tested to work on Android (but not as a real Android app (yet?)). It's cross-platform without the .NET / Mono / Java baggage. No need to update your OS (.NET Framework) or reboot (ahem, .NET) or keep installing new updates every damned week (Java). It's all self-contained. Plus it compiles amazingly fast and has goroutines and channels. Yes, this is quite the way I want to code.

    I'm not sure why this new language "Dart" should exist. Why not just tack on some libraries to Go? Or is it so drastically different that it needs its own language? I'm skeptical about this one. I feel they did a great job with Go, so maybe they could do well on Dart, but why is a whole new language necessary? I wish to hear more.

    1. ~mico

      >One of my favorite benefits of Go is that it carries its own runtime.

      Like... C++? FreePascal? <insert your fav. compiled language here>

      1. Anonymous Coward
        Anonymous Coward

        I don't know if this is what the OP meant, but C++ is essentially unusable without standard libraries. If a language can do useful work without such dependencies then that is a good thing.

    2. This post has been deleted by its author

  17. Trainee grumpy old ****
    Joke

    Unfortunate choice of name

    Goto considered harmful?

  18. vic 4
    Megaphone

    Wait and see

    Given that there were no details I don't see why a lot of people are whinging about it all been a waste of time. Personally I've worked with large complex systems that have had web based interfaces for about 15 years and have probably used pretty much every web orientated technology going and while things have improved over the years they all have a lot lacking.

    Hey, even if it isn;t that useful to anyone outside google, as go appears to be from peoples comments it may be to them. Even if it saves 1 day more for google to develop solutions using it that it took to develop the language then it was worthwhile for them.

  19. M Gale

    So.. confusion perhaps?

    Well, between this Google Dart and that Google Dart, at least.

    http://www.google.com/doubleclick/publishers/dart.html

  20. Tom 7

    By the time it gets through standards approval

    it will have been borked by the same companies that got involved in javascript standards in the attempt to stop the browser becoming the desktop.

    In JavaScript's defence - you don’t HAVE to write shit code with it. People can write shit code in any language and generally do. If YOU cant write good JavaScript code that’s your fault. A new language is not going to replace the twenty years experience you need to become a good programmer.

  21. Stefan
    WTF?

    Copyrights?

    The English language will soon be awash with copyright words associated with some faceless multinational. If not Crapple, Microshit, blah blah need I go on... and now Google.

  22. This post has been deleted by its author

This topic is closed for new posts.

Other stories you might like