Slashdot Mirror


Google To Introduce New Programming Language — Dart

An anonymous reader sends this excerpt from El Reg: "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 Goto website. There aren't yet any technical details on Dart but the bios of the two Googlers presenting at Goto strongly suggest a bent towards programming for the web and browser."

36 of 250 comments (clear)

  1. Re:Great, another fucking language to learn by bill_mcgonigle · · Score: 2

    Hey, this could finally be the web language that isn't a kludge or poorly designed. Those other 22 could all go away.

    Trouble is, we don't know - this article is a worthless waste of time until it's actually released or detailed.

    --
    My God, it's Full of Source!
    OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
  2. Standards by jaf1230 · · Score: 2, Interesting
    --
    SIG 666 - Signature stolen by the devil
  3. Re:Great, another fucking language to learn by knuthin · · Score: 5, Funny

    Those other 22 could all go away.

    https://www.xkcd.com/927/
    You think?

    --
    Some apps are WYSIWYG. Some others are WYSIWTF.
  4. Re:"There aren't yet any technical details on Dart by MightyMartian · · Score: 2

    Pretty much. What's there to say? Until there are details, all we know is that Google has a language called Dart.

    --
    The world's burning. Moped Jesus spotted on I50. Details at 11.
  5. Go by Idimmu+Xul · · Score: 2

    Did anyone really start using the last language they used, Go?

    --
    The problem with slashdot is that most of its users were bullied and stuffed into lockers as kids!
  6. Another programming language? by Tei · · Score: 3, Interesting

    A new programming language create a huge problem, before start solving anything. And its that you lose all the work done with libraries. Everything. A new language is like a natural disaster that wipe civilization to the caves again.

    People is doing a lot of cool stuff with Javascript. JS is starting to becoming a decent enough language to write code for the web!.
    http://jquerysbestfriends.com/#slide1

    --

    -Woof woof woof!

    1. Re:Another programming language? by jc42 · · Score: 4, Interesting

      So you wannabe coders keep saying, all of javascript is documented on google searches, its so easy to copy paste those functions and input your own field names and just seem them work.

      Well, I've lately been experimenting with HTML5 canvases, which involves a lot of JS, and I've found that it isn't always quite that easy. Yes, there are zillions of examples that do cute things in a canvas. But they all seem to be made up of lots of hard-coded numbers that aren't explained anywhere in any coherent fashion. So to use them to draw your figures, you spend long hours tweaking the numbers, trying to grok what the relation might be between the numbers and what appears on the screen.

      Similarly, there's lots of online HTML5 docs on zillions of sites, but it all seems to involve "handwaving", i.e., it describes what's going on in a "10-km view" fashion, using lots of undefined terms. When you try googling those terms, you find that you're searching through millions of ghits that are mostly about totally unrelated topics that happen to use the same words (with different meanings).

      So you try asking in a forum. And you find that there are zillions of HTML5 forums, each of which has maybe 2 or 5 messages per month, and the people (or person ;-) there are oh-so-friendly, but don't quite know how to answer your question. You try asking in multiple forums, and it takes forever, due to the fact that people don't like usenet any more; they prefer zillions of forums, each of which has its own GUI that takes days to learn to use effectively.

      The "cargo cult" (google it) approach to web programming is widespread. But it can be a recipe for a very long, slow, drawn-out process of coming to some partial understanding of WTF is going on in the code that doesn't quite do what you need, and responds bizarrely to tiny tweaks. Getting downloaded code to do what you need done can take up a rather large chunk of your lifespan. And you are forever plagued by bugs due to your lack of understanding what it does in cases that you haven't tested.

      The only way to produce code that actually works correctly is to understand (in every detail, to the bit level) all the things you're working with. Cut-and-paste sounds like a useful idea, but it's much of the reason for the widespread coding disasters that we're plagued with.

      Learning to use "New! Improved!" Web tools has a history of being a lot like swimming in molasses. The intro examples look cool, but doing anything even slightly different from the examples tends to lead you down a maze of twisted passages, all alike. So there are reasons to be skeptical of this one, until we've seen some evidence of what it's like, and how much of a time sinkhole learning it will be.

      --
      Those who do study history are doomed to stand helplessly by while everyone else repeats it.
    2. Re:Another programming language? by Synerg1y · · Score: 2

      See... that's the difference, so you have a bunch of hard coded numbers you don't know off the web, you just copy pasted your code... what now, it's useless. So... play with the numbers, alt + f5 is your best friend, and figure out what they do by changing them, I don't mean to give off the impression to copy paste code w/o understanding, but in the end all blocks of code are are inputs/outputs. I've used business tailored string parser functions off the web that probably took days to write and are illegible if only because of their formatting and the edge cases they take into account. I don't care to understand those, I'm just trying to go home lol, however if I know I have to revisit it, or modify the code, or expand on it, understanding the code becomes the standard (I almost never get this kind of code off the web, it's just too customized, thus the job of a coder). Write enough code and you won't care either, but then again I'm more interested in code theory than business functions so maybe thats the apathy. On that note about 90% of the web revolves around business (porn is a business ;)) and i have yet to see a single canvas deployment, if your an artist your in heaven, otherwise :( also jquery has done canvas for years in an extremely complex form (one of those code examples I don't care to figure out).

      I'll still stick to nobody with a decent/good understanding of code would consider jscript as any sort of replacement to any system bigger than a personal html site.

    3. Re:Another programming language? by Khazunga · · Score: 2

      I'll take a language that has strong support for subclassing, thanks.

      Given that javascript is a classless object-oriented language, your comment really makes it sound like you haven't yet reached that A-HA moment about javascript.

      Prototype-based inheritance is much much more powerful than any kind of subclassing I've seen on any class-based OO language.

      --
      If at first you don't succeed, skydiving is not for you
    4. Re:Another programming language? by whiteboy86 · · Score: 2

      Corporate languages like .NET, Java, ObjC and now Go are here to create barriers of exit and lockins, /. crowd remembers nothing.

  7. Re:Great, another fucking language to learn by bonch · · Score: 3, Interesting

    This is what happens when a tech company gets too big and doesn't know what to focus on. Just like Microsoft used to do, they're releasing pet project after pet project after project, hoping one of them sticks.

  8. Re:please please please by lynnae · · Score: 2

    I got this link from my twitter feed, based on the assumption that Dart is Dash renamed.

    http://markmail.org/message/uro3jtoitlmq6x7t

    So there's hope.

    As for why one wouldn't be estatic over javascript, there are many good reasons in that email, many others in The Good Parts book.

    There's always room for something better, while not denegrating the existing.

  9. It may be older than dart, but... by PSVMOrnot · · Score: 3

    It may be older than dart, but I think I'll stick with C. ;-)

    Admittedly, most of my programming these days is number crunching rather than web apps.

  10. Re:please please please by Bill_the_Engineer · · Score: 3, Insightful

    Because not liking JS makes you look cool?

    I take the Stephen Stills' approach to programming language: If you can't be with your dream programming language, just use the one you're with. :)

    --
    These comments are my own and do not necessarily reflect the views or opinions of my employer or colleagues...
  11. So what does this do different? by Evangelion · · Score: 5, Insightful

    I'm kind of confused as to where google is going these days.

    Is this just a side effect of hiring too many bored CS graduates -- put enough in a room together and they come up with their own languages?

    I just can't see this being used outside of google -- Web Programming is largely a solved problem, and there are already a plethora of options. Since MS and Apple won't touch anything that comes out of Google, it'll only ever be relevant on the server side -- which is where there are already too many options.

    Unless this does something radical -- and judging by what Go was, I doubt it -- this will probably be a niche thing they use internally.

    1. Re:So what does this do different? by yk4ever · · Score: 3, Insightful

      Web Programming is largely a solved problem, and there are already a plethora of options.

      Business programming was largely a solved problem, you could choose between COBOL and Ada.

      Even if the new language isn't used widely, its features might creep into existing ones and improve them (see MS Research, Haskell and C# 3.0+).

    2. Re:So what does this do different? by Anonymous Coward · · Score: 2, Insightful

      As someone who has had the misfortune of doing web programming for the past 5 years, after a decade of systems programming I can say that Web Programming is very much NOT a solved problem. At least not in the commercial world. The leading Java and .NET web frameworks are horrible to use.

      A new language may not be needed, but programming for the web is already enough of its own beast that using a new framework in an existing language is already basically like using a new language.

      I, for one, truly hope Dart is a radical improvement on Web Programming. Even if it doesn't succeed, hopefully it'll push the existing frameworks to be better.

  12. Simplicity is key by trcollinson · · Score: 2

    The problem with adding yet another language to the mix is engineers as a whole need to focus on simplicity and good standards and stay away from reinventing the wheel. Diluting the market with more languages to "make web development easier" or "help with web development performance" or even "fill the gaps of other languages" is ludicrous. The problem is most anything can be done very simply and effectively with the existing tools that are available, but really developers are always looking for the next language that's "easier to learn" or "fills my gap of boredom in my current language". We'd be far better off focusing on truly understanding and deep diving into the languages we have. If there are gaps or short comes (which inevitably there will be!) then we should work to fix those in the language, not reinvent the wheel again.

  13. Re:Great, another fucking language to learn by somersault · · Score: 4, Insightful

    I thought Google have been doing this the whole time, ie 20% projects. Nothing wrong with releasing the ones that come to fruition. It's not detracting from other parts of their business, and it's bringing cool stuff into the community - some of which might be really useful. Google are one of the companies that actually has a chance of making a replacement to JS "stick", though convincing MS would be a very tall order indeed.

    --
    which is totally what she said
  14. Any DART jobs listed yet? by SpacePunk · · Score: 3, Funny

    10+ years experience needed, of course.

    1. Re:Any DART jobs listed yet? by Bob+the+Super+Hamste · · Score: 3, Insightful

      After being in the programming field for a while now it seems that often companies that post those kind of job listings are looking for a reason to hire H1-B people. They can now legitimately go and say the couldn't find an American worker with that experience since obviously the job requires it and then hire some cheap labor. The other case is that it is a HR issue since they are told to find a senior programmer with experience with technology X. Technology x may only have been around for 2 or 3 years, but the HR drone immediately thinks they need someone with 10+ years of experience with technology x and then filter you out because you don't have that experience. I had that problem when I graduated college and companies were looking for people with 10 years of java experience even though the language had only been around for 5 years or so at that time

      --
      Time to offend someone
  15. Re:"There aren't yet any technical details on Dart by MightyMartian · · Score: 3, Funny

    So it's a PHP derivative then.

    --
    The world's burning. Moped Jesus spotted on I50. Details at 11.
  16. lets jump on a Google Wave and discuss it! by citizenr · · Score: 2

    oh wait ...

    --
    Who logs in to gdm? Not I, said the duck.
  17. Re:Great, another fucking language to learn by hedronist · · Score: 2

    Python is not a good example to make this point. Google did not start the Python project, and Python has lots of uses that have nothing to do with Google. If Google were to fold tomorrow, Python (and Guido) would survive just fine.

  18. Re:Great, another fucking language to learn by TheRaven64 · · Score: 2

    Not to mention the fact that Google has migrated a lot of their internal code away from Python over the last few years...

    --
    I am TheRaven on Soylent News
  19. Re:Great, another fucking language to learn by Fujisawa+Sensei · · Score: 2

    We already have a language like that, its called 'C'.

    --
    If someone is passing you on the right, you are an asshole for driving in the wrong lane.
  20. Re:please please please by TheRaven64 · · Score: 2

    A few things, off the top of my head:

    • Brace insertion.
    • Poor scoping rules.
    • Completely insane constructor semantics trying to look a bit like Java in a prototype-based language (new foo() calls foo() with this set to a new copy of foo.prototype. WTF?)
    • Lack of weak references (makes it really hard to write nontrivial code that doesn't leak)
    • Poor numerical support (everything is a double - no integer types)
    • Everything is an object... except that sometimes it isn't, although it pretends to be.
    • Arrays that look like dictionaries but aren't... except when they are (e.g. someArray[1] and someArray["foo"] do completely unrelated things)

    There are probably other reasons to dislike JavaScript. Putting Self in a browser would have been a lot better than this crappy cut-down Self clone with Java syntax that we ended up with.

    --
    I am TheRaven on Soylent News
  21. I'll give it a chance by gsgriffin · · Score: 2

    With the frustration of working with so many different languages and some that only work when you load in a bunch of code (jQuery...awesome, but JS should do all this natively) or a framework, I'm very curious to see if Google is in fact focusing on web development and can provide a platform that allows for simplified coding without lots of browser overhead. Why do we think that languages should stop and never evolve or change or die? I for one don't want to still be coding 20 years from now with JS and PHP the way they are. Would love to have something that works hand in hand between server, db, and browser in a more seamless way. I'll wait to see before passing judgment.

    --
    jsut athnoer menagiensls ltitle psrhae for you to dcoede. Why do we wtsae our tmie dnoig tihs?
  22. Re:Great, another fucking language to learn by Tumbleweed · · Score: 3, Funny

    We already have a language like that, its called 'C'.

    Yeah, but C is too C-like for most people's taste.

  23. Re:Great, another fucking language to learn by element-o.p. · · Score: 3, Interesting

    Yes, but no.

    I took a course that discussed personality profiles a little while back, and -- according to this class, at least -- the "creative" types tend to get really excited about a project, work on it for a little while, lose interest and abandon it in favor of the next project that comes to mind. This is a pretty good description of me, as my wife is fond of reminding me. I have a million things that I've started, gotten bored with and abandoned. A friend of mine once commented that techies seem to be borderline ADD; this theory could explain why. Whether you like Google or not, you have to admit they are pretty creative. If they have a culture that is lead by the creative, ADD types, you would kind of expect them to display this type of behaviour. The solution to this problem is to hire analytical/admin types who will drive the projects to completion rather than abandoning them when they get the next creative spark.

    --
    MCSE? No, sir...I don't do Windows. Yes, I am an idealist. What's your point?
  24. Re:Great, another fucking language to learn by Ash+Vince · · Score: 4, Interesting

    If the Dart language is intended to replace something like the buggy, slow and badly designed PHP language,

    I was rather hoping it was intended to replace the buggy, slow (although progress has been made), and badly designed ECMAScript language, which you may also know as JavaScript.

    JavaScript is not actually that bad compared to PHP. I know it can be used to create a complete mess, but in the hands of a competent developer it can be used to produce a decent end result.

    PHP on the other hand seems to have hit a wall recently. I have to admit though I am a little jaded at the moment after a recent project exposing an existing PHP web application via web services. PHP has truly awful WSDL support, even if you try using the Zend Framework addons. Since more and more projects seem to involve some level of interworking with other systems that fact that PHP fail so badly in this regard is pretty inexcusable.

    Just to explain why I am so jaded and not at all as a cathartic experience I am probably now going to rant about some of the issues :)

    Firstly, the SOAP functions built into the latest verion of PHP only support rpc/literal WSDL. Since every other platform (.NET, JAVA, Axis2) wants document/literal this makes PHP only useful for talking to PHP.

    Then you think Zend Framework might be better. Unfortunately although this lets you generate and expose WSDL2 files using document/literal, you cannot use them as a basis for your service. This means that you can't actually let anyone talk to the service without some awful compatibility layer that translates what a rpc/literal service would expect into document/literal by doing some crazy unravelling of arrays of parameters.

    And then when you finally think you are done you discover there is a bug that means booleans are just broken and always get returned as false. You file a bug report but it looks like the maintainer of this part of the Zend Framework has died as he hasn't been on their bug tracker for months.

    So I might have worked round all these issues and delivered a working service but it took far longer than expected and that costs money. For a server side language that is supposed to be an established heavy weight this is not acceptable. It's enough to make you learn .NET :)

    --
    I dont read /. to RTFA, I read /. to offend people in ignorance.
  25. Re:Great, another fucking language to learn by Anonymous Coward · · Score: 2, Insightful

    Is it sad that I don't even have to click that link to know what is behind it?

  26. Re:Great, another fucking language to learn by gv250 · · Score: 2

    This is what happens when a tech company gets too big and doesn't know what to focus on.

    It seems to me that 3M and Xerox, among other companies, made a decent living releasing pet project after pet project.

  27. Re:Great, another fucking language to learn by SteveFoerster · · Score: 2

    If it is, we're sad together.

    --
    Space game using normal deck of cards: http://BattleCards.org
  28. Re:please please please by shutdown+-p+now · · Score: 2

    Cause I like javascript and I wanna hear why others don't?

    Global-by-default-unless-declared for variables is a recipe of disaster.

    Scoping rules are fubar. If I declare a "var" inside a pair of curly braces, it should only be visible in those curly braces - not outside of them, and most certainly not before the line it is declared at! Every other curly brace family language which has explicit variable declaration does it that way, but not JS.

    Syntax for lambdas is overly verbose - not only there's no expression form, so you have to write "return"; but "function" itself is 5 chars longer than it should have been. This is annoying in any type of code where lambdas are heavily used, such as when using map/filter/... chains, or Node.js style async programming with explicit continuations.

    "new Boolean(false)" is considered true in a conditional expression. Yes I know it's just a corner case of a simple general rule, but it shows how silly the rule is in the first place - either make it "just work", or else forbid using object references in conditionals in the first place.

    While we're at it, what's up with the whole separation into primitives and objects? For Java it made a little sense because of perf concerns, but for JS it makes none. Python and Ruby have demonstrated how a dynamically typed language can have a true single-root hierarchy for all types, including primitives, without sacrificing perf (tagged pointers FTW). Coincidentally, that's why the previous point is not an issue in Python - there's no Boolean object type separate from the primitive type there because there's no need for it - the primitive is an object type.

    JS standard library is very limited. When you can do less that ANSI C standard library out of the box, that's sad.

  29. Re:please please please by bmuon · · Score: 2

    Global-by-default-unless-declared for variables is a recipe of disaster.

    ES5 strict mode already disallows that.

    If I declare a "var" inside a pair of curly braces, it should only be visible in those curly braces

    The "let" keyword will fix that. It has block scope. Eventually all variables should be declared with "let".

    Syntax for lambdas is overly verbose

    There is still no agreement in the ECMAScript comitee about which option to take, but there are two very good proposals:
    - Arrow function syntax taken from CoffeeScript: (x) -> x * x;
    - Block lambdas, which allow you to treat chunks of code as data
    Personally, I love arrow functions.

    "new Boolean(false)" is considered true in a conditional expression..

    I never heard of that particular example and trying "true == new Boolean(false)" always evaluates to false in a console. But yes, the == type coercing operand is the worst part of JavaScript. The === operator solves 99% of cases. For the 1% that it doesn't help with, ECMAScript 6 will have an "is" operator, and before that probably an Object.is() function.

    While we're at it, what's up with the whole separation into primitives and objects?

    I agree with you, everything should've been an object from the start. That's probably because of the Java legacy.