Now that we have sufficiently beaten Go into the ground, what about Dart?





  • @El_Heffe said:

     http://programming.oreilly.com/2013/05/dart-is-not-the-language-you-think-it-is.html

    I don't get it.  Why do we need this?

    Oh come now. Surely even somebody as jaded as you has to concede that a "source code VM" is way cooler than a mere interpreter.



  • "I like dartlang" - 58 results


    "I like golang" - 1950 results


    "I like c pound" - 5 6 results



  •  @Ben L. said:

    "I like dartlang" - 58 results

    "I like golang" - 1950 results

    "I like c pound" - 5 6 results

    Aside from showing your affinity for false correlations, what is this supposed to show?

     



  • I like c# - About 84,100,000 results (0.25 seconds)



  • @BC_Programmer said:

     @Ben L. said:

    "I like dartlang" - 58 results


    "I like golang" - 1950 results


    "I like c pound" - 5 6 results

    Aside from showing your affinity for false correlations, what is this supposed to show?

     


    The number of people who typed "I like c pound" on the internet.



  • I love this:

    @TFA said:

    Dart’s main function is terse

    No more public-static-void-main-String[]-args just to start a program! Dart’s simple top-level main() function is all you need.

    You have to admire a language that optimizes for something you do once-per-application!

    Oh, but then they had to erase all of those time savings by giving source files an extension with FOUR letters! What the fuck, Dart, I might as well be writing assembly.



  • @Ben L. said:

    The number of people who typed "I like c pound" on the internet.

    There are two results for "i like c octothorpe", although they're both over a decade old.



  • @morbiuswilters said:

    I love this:

    @TFA said:

    Dart’s main function is terse

    No more public-static-void-main-String[]]-args just to start a program! Dart’s simple top-level main() function is all you need.

    You have to admire a language that optimizes for something you do once-per-application!

    Wait, doesn't JavaScript's equivalent of that take ZERO CHARACTERS?

    @morbiuswilters said:

    Oh, but then they had to erase all of those time savings by giving source files an extension with FOUR letters! What the fuck, Dart, I might as well be writing assembly.

    java takes four characters, and I can't efficiently type java with one hand.



  • @morbiuswilters said:

    @Ben L. said:
    The number of people who typed "I like c pound" on the internet.

    There are two results for "i like c octothorpe", although they're both over a decade old.

    I count three. And one of them is a lot younger than ten years.



  • @Ben L. said:

    "I like dartlang" - 58 results


    "I like golang" - 1950 results


    "I like c pound" - 5 6 results


    "i like oracle" - about 382,000

    "i like lotus notes" - about 102,000

    "i like purple dildos" - 9

    "i like spectate swamp" - 0



  • @Ben L. said:

    java takes four characters, and I can't efficiently type java with one hand.

    Yes, but we already know Java is a failed language because its main function takes, like, 20 more characters to write.



  • First GWT, now Dart. What is Google's obsession with inventing niche languages that "compile" to Javascript? It makes me feel like somebody should write an essay "Why Google Can't Javascript."



  • @morbiuswilters said:

    First GWT, now Dart. What is Google's obsession with inventing niche languages that "compile" to Javascript? It makes me feel like somebody should write an essay "Why Google Can't Javascript."

    Don't forget the closure compiler, which compiles JavaScript to different JavaScript.



  • @Ben L. said:

    @morbiuswilters said:
    First GWT, now Dart. What is Google's obsession with inventing niche languages that "compile" to Javascript? It makes me feel like somebody should write an essay "Why Google Can't Javascript."

    Don't forget the closure compiler, which compiles JavaScript to different JavaScript.

    Just wait until they release Poot: it's a language for writing compilers that compile to Javascript.



  • I've never understood why anyone would make a new language just because it's "a bit cool".

    I can understand why people would go to great lengths to use something else than JavaScript for larger web applications, but why would you then make things like type safety optional? Having to design tons of IDE integration to make your new language palatable?

    For christ's sake, why not just make a Java2JS converter? Then you've already got proper development tools, tons of libraries and existing community support. But I guess that's not l33t enough, you want something new, some cool stuff only you and a few select buddies know.

    Seriously, what a wasted potential.



  • @arh said:

    I've never understood why anyone would make a new language just because it's "a bit cool".

    I understand the sort of mindset that goes into something like Brainfuck or Malboge, where you create a weird programming language as a sort of intellectual exercise. I don't get why you'd then assume people want to use it, though.

     



  • @morbiuswilters said:

    @Ben L. said:
    @morbiuswilters said:
    First GWT, now Dart. What is Google's obsession with inventing niche languages that "compile" to Javascript? It makes me feel like somebody should write an essay "Why Google Can't Javascript."

    Don't forget the closure compiler, which compiles JavaScript to different JavaScript.

    Just wait until they release Poot: it's a language for writing compilers that compile to Javascript.

    The obsession with fixing JavaScript is because it needs fixing: even Douglas Crockford knows it has some pretty serious flaws. It's doing a job it was never intended to do.

    Google does know JS, and it is probably one of the biggest drivers of current JS takeup: think Google Maps and the whole web 2.0 thing: they were one lead users (along with Microsoft and Outlook Web Access ironically enough) that push JavaScript back into the mainstream.

    That said I find CoffeeScript, Dart, ScriptSharp etc. are attempts to completely rewrite JS: I don't want to have to learn yet another language. I adopted TypeScript from MS: it's type-checked JavaScript with some of the flaws fixed. It means I can write clean, modular, error-checked code, in as close a language to the original as practical.


  • Discourse touched me in a no-no place

    @Ben L. said:

    @BC_Programmer said:

     @Ben L. said:

    "I like dartlang" - 58 results


    "I like golang" - 1950 results


    "I like c pound" - 5 6 results

    Aside from showing your affinity for false correlations, what is this supposed to show?

     


    The number of people who typed "I like c pound" on the internet.
    Rather surprisingly (or not):
    @Google said:
    No results found for "I like c hash".



    Results for I like c hash (without quotes):



  • @arh said:

    For christ's sake, why not just make a Java2JS converter?

    Google has one of those, too. It's called GWT. It's kind of a pain in the ass, though. Honestly, most of the "alternatives" to Javascript just end up being much worse.



  • @Quango said:

    The obsession with fixing JavaScript is because it needs fixing: even Douglas Crockford knows it has some pretty serious flaws.

    Eh, every language has some flaws. Javascript doesn't seem particularly egregious in this respect.

    @Quango said:

    It's doing a job it was never intended to do.

    I don't agree with that. Admittedly, nobody probably anticipated what it is doing now, but it was designed to be a general-purpose GUI language. I'd say HTML is a far better candidate for "doing a job it was never intended to do"--building full applications in a document markup language. Fantastic.

    @Quango said:

    Google does know JS, and it is probably one of the biggest drivers of current JS takeup: think Google Maps and the whole web 2.0 thing...

    People were using JS before Google. And I don't dispute that they once knew how to at least make interesting apps with it, but what have they done recently? Now they just piss away money trying to make lame alternatives.

    @Quango said:

    ...along with Microsoft and Outlook Web Access ironically enough...

    There's nothing ironic about that, unless you don't know anything about the history of the Web. M$ invented XHR and a lot of the concept of a "web app", although they seemed to pull back from the idea once they realized it was a less-than-ideal way of building applications. Then, whaddyaknow, it became trendy.

    @Quango said:

    I adopted TypeScript from MS: it's type-checked JavaScript with some of the flaws fixed.

    Of the problems with JS, type safety is low on my list. Especially since "type safety" usually just means "You have to write more code to convert strings to numbers and vice versa, derp."



  • If I could make one change to JavaScript, I'd make syntax like

    foo{
        bar();
    };

    as a shorthand for

    foo(function(){
        bar();
    });
    


  • @morbiuswilters said:

    First GWT, now Dart. What is Google's obsession with inventing niche languages that "compile" to Javascript? It makes me feel like somebody should write an essay "Why Google Can't Javascript."
     

    You misunderstand, it's all perfectly clear and sensible once you understand. JavaScript doesn't have a debugger, and even if you install one, all your objects are just one type. Also, your debugger doesn't run on both the frontend and backend. In order to debug the full stack, you need to run two debuggers in parallel! GWT and Dart solve this problem. You run the regular eclipse debugger and you can do a stack trace all the way from the click on the html button to the write() syscall in the database! Provided you wrote your own database, which you should - you can't do a full stack debug through eclipse otherwise.

    See, it's perfectly sensible, if you would just understand.



  • @Mo6eB said:

    JavaScript doesn't have a debugger, blah blah blah.

    Too incorrect; didn't read.



  • Seems like they made Javascript a bit more like Ruby or Python.  Javascript has its flaws, but you can work around some of them and IMO it's still better to learn actual Javascript than try to abstract it away with things like CoffeeScript, RJS (that went away, thankfull), Dart, TypeScript and the rest.  It's bad enough there so many Javascript frameworks that all do basically the same thing (e.g. BackboneJS, EmberJS, KnockoutJS, AngularJS, I'm sure there's a few more too) so it becomes very confusing trying to pick a good one and stick with it.





  • @aihtdikh said:

    "i like purple dildos" - 9

    "i like spectate swamp" - 0
    I count 10 and 1


  • Considered Harmful

    @Salamander said:

    @Mo6eB said:

    JavaScript doesn't have a debugger, blah blah blah.

    Too incorrect; didn't read.



  • Dart understands that sometimes you just don’t feel like appeasing a ceremonial type checker.

    Because it's not like improper use of types or conversion between types isn't a primary source of bugs, right?

    Organize your project’s files and contents the way you want to.

    And if the next guy has to wade through KLOC to find a routine, that's just his problem, right? Organization is for the anal.

    I can see where skipping the compile might be attractive if you are stuck with Notepad as your IDE. And, the performance penalty is small unless your source gets really big. (After all, we aren't using Apple ]['s anymore.) But most of the "features" he highlights seem to be a sop to the lazy or impatient. Skip all the planning and design! Run your half-baked idea NOW!

    If I'm reading a job posting, I'm stopping as soon as I get to "Dart" or "Go"



  • @aihtdikh said:


    "i like spectate swamp" - 0
     

    You have now created a googlewhack.

     



  • Dart Is Not the Language You Think It Is

    Especially if you think it's "good".

    The Dart VM runs on the command line and servers,

    Because... servers don't normally have command lines? What the hell is he implying here.

    Also: notice what it doesn't run on? IDEs. Or browsers with built-in debuggers.

    and can be embedded into browsers.

    Oh pardon me, it does run in browsers with built-in debuggers, you just can't use the debugger on your Dart code, only the Dart code interpreter/cross-compiler/whatever-the-fuck-this-is.

    Dart is optionally typed

    I kind of like this idea, as long as the interactions between typed and untyped variables is very strictly defined and consistently applied.

    Dart supports collection literals

    Ok you can't claim Dart features that are just passed-through to JavaScript. Red flag. 10 yard penalty.

    Dart is purely object oriented

    That's another red flag. 10 yard penalty.

    Dart supports top-level functions and variables

    And yet another red flag. 10 yard penalty. It is now 3rd down and 37 yards.

    Dart lets you put any number of public classes into a file

    The only programming language I'm aware of that doesn't have this feature is Ruby. And possibly Java? All sane programming languages do this.

    Dart has mixins

    Is "mixin" some demented terminology for "static function"?



  • @blakeyrat said:

    Is "mixin" some demented terminology for "static function"?
     

    No, that comes from another demented language: ruby.

    It's using, basically.


  • Considered Harmful

    Dart is purely object oriented
    Dart supports top-level functions and variables

    Dart is purely blue. Dart supports red.

    @blakeyrat said:

    Dart has mixins

    My understanding of "mixins" is that they are mini-classes you can inherit functionality from. Like if a C# interface also let you specify a default implementation. Basically, you can build a class by compositing a bunch of smaller classes. (They might mean something completely different, I've heard this term used in several ways.) Yes, this has all the normal problems of multiple inheritance.



  • @El_Heffe said:

    I don't get it.  Why do we need this?
     

     

    I don't get why we don't.



  • @MiffTheFox said:

    If I could make one change to JavaScript, I'd make syntax like

    foo{
        bar();
    };

    as a shorthand for

    foo(function(){
        bar();
    });
    
    I would just replace function with a shorter keyword.


  • @RonBeck62 said:

    Because it's not like improper use of types or conversion between types isn't a primary source of bugs, right?

    No, it's not. Why do people think this? I can count the number of bugs in weakly typed languages that would have been fixed by strong typing on one hand.



  • @morbiuswilters said:

    I can count the number of bugs in weakly typed languages that would have been fixed by string typing on zero hands.

    FTFY



  • @alphadogg said:

    @El_Heffe said:

    I don't get it.  Why do we need this?
     

    I don't get why we don't.

    Goddammit, first he defends Go and now Dart. So now we know you're some marketing flak from Google.



  • @morbiuswilters said:

    @alphadogg said:

    @El_Heffe said:

    I don't get it.  Why do we need this?
     

    I don't get why we don't.

    Goddammit, first he defends Go and now Dart. So now we know you're some marketing flak from Google.

    To be fair, the original question could have been about the article the way it was worded.


  • Considered Harmful

    @Ben L. said:

    @MiffTheFox said:

    If I could make one change to JavaScript, I'd make syntax like

    foo{
        bar();
    };

    as a shorthand for

    foo(function(){
        bar();
    });
    
    I would just replace function with a shorter keyword.

    I would just leave Javascript the hell alone and use it. Why do people fix stupid problems like "I have to type too many letters" with worse problems like "the code running in my debugger is not the code I wrote, so I can't directly trace it back to the original code without reverse engineering it somehow"? Because, really, I'm not losing much sleep over the "too much typing" non-problem.



  • @joe.edwards said:

    @Ben L. said:
    @MiffTheFox said:

    If I could make one change to JavaScript, I'd make syntax like

    foo{
        bar();
    };

    as a shorthand for

    foo(function(){
        bar();
    });
    
    I would just replace function with a shorter keyword.

    I would just leave Javascript the hell alone and use it. Why do people fix stupid problems like "I have to type too many letters" with worse problems like "the code running in my debugger is not the code I wrote, so I can't directly trace it back to the original code without reverse engineering it somehow"? Because, really, I'm not losing much sleep over the "too much typing" non-problem.

    But function is EIGHT WHOLE BYTES long. That's like half of my bandwidth for the month!


  • @joe.edwards said:

    Why do people fix stupid problems like "I have to type too many letters" with worse problems like "the code running in my debugger is not the code I wrote, so I can't directly trace it back to the original code without reverse engineering it somehow"?

    Because we work in an immature industry--driven by stupid fads evangelized by aspie nerds and billion-dollar companies who apparently feel the best uses of shareholder money are espresso machines, masseuses and making engineers feel like special little snowflakes--which is actually managing to regress from the tenuous advances its made over the last few decades.



  •  @morbiuswilters said:

    Goddammit, first he defends Go and now Dart. So now we know you're some marketing flak from Google.

     

    I didn't defend anything, except the idea that languages can and should be allowed todevelop, rather than sticking to one, you aspie.



  • @Snowyowl said:

    @arh said:

    I've never understood why anyone would make a new language just because it's "a bit cool".

    I understand the sort of mindset that goes into something like Brainfuck or Malboge, where you create a weird programming language as a sort of intellectual exercise. I don't get why you'd then assume people want to use it, though.

     

    There isn't a good reason other than intellectual curiosity or a learning exercise; or possibly research.



    Brainfuck is touring complete, you should be able to compile to it, or write a transpiler for it. The real strange one is INTERCAL, some masochistic motherfuckers have ported the INTERCAL compiler to just about every platform imaginable, INTERCAL rivals C as most ported language.



  • @morbiuswilters said:

    @joe.edwards said:
    Why do people fix stupid problems like "I have to type too many letters" with worse problems like "the code running in my debugger is not the code I wrote, so I can't directly trace it back to the original code without reverse engineering it somehow"?

    Because we work in an immature industry--driven by stupid fads evangelized by aspie nerds and billion-dollar companies who apparently feel the best uses of shareholder money are espresso machines, masseuses and making engineers feel like special little snowflakes--which is actually managing to regress from the tenuous advances its made over the last few decades.

     

     

    If the world was ruled by grognards, how horrible it would be. No evolution. No change. Simply because pissing on new things makes them feel better.

     

    I guess it's inevitable that for every fad, like Go, there has to be some guy who fear change at the peak of the backlash...


  • Discourse touched me in a no-no place

    @Ben L. said:

    I would just replace function with a shorter keyword.
    I'd use a smaller font so that I can fit more informative keywords in.



  • @dkf said:

    @Ben L. said:
    I would just replace function with a shorter keyword.
    I'd use a smaller font so that I can fit more informative keywords in.

    function_that_returns_an_object_and_takes_three_parameters


  • Considered Harmful

    @Ben L. said:

    @dkf said:
    @Ben L. said:
    I would just replace function with a shorter keyword.
    I'd use a smaller font so that I can fit more informative keywords in.

    function_that_returns_an_object_and_takes_three_parameters




    if( your_inventory.contains( 'crystal ball' ) ) turn_to_page( 61 );

    else if( you_want_to_enter_the_castle ) turn_to_page( 43 );

    else if( you_want_to_explore_the_haunted_woods ) turn_to_page( constants.GAMEOVER );



  • @morbiuswilters said:

    @joe.edwards said:
    Why do people fix stupid problems like "I have to type too many letters" with worse problems like "the code running in my debugger is not the code I wrote, so I can't directly trace it back to the original code without reverse engineering it somehow"?

    Because we work in an immature industry--driven by stupid fads evangelized by aspie nerds and billion-dollar companies who apparently feel the best uses of shareholder money are espresso machines, masseuses and making engineers feel like special little snowflakes--which is actually managing to regress from the tenuous advances its made over the last few decades.

    To be fair to Dart, Dartium (the only browser with an actual Dart VM) lets you debug Dart directly. For everything else that needs to run the compiled JS, the Dart compiler generates sourcemaps that debuggers can use to do the same thing.



  • @alphadogg said:

    I didn't defend anything, except the idea that languages can and should be allowed todevelop...

    We don't need more terrible languages. We already have enough terrible languages. Stop defending this bullshit, even though you get paid to spam forums with your fucking stupidity.

    @alphadogg said:

    ...you aspie.

    Hint: it really dulls the sting if you just copy the exact same insult I just used. Especially if you don't seem to know what it means.


Log in to reply