Slashdot Mirror


The Great JavaScript Debate: Improve It Or Kill It

snydeq writes "Recent announcements from Google and Intel appear to have JavaScript headed toward a crossroads, as Google seeks to replace the lingua franca of the client-side Web with Dart and Intel looks to extend it with River Trail. What seems clear, however, is that as 'developers continue to ask more and more of JavaScript, its limitations are thrown into sharp relief,' raising the question, 'Will the Web development community continue to work to make JavaScript a first-class development platform, despite its failings? Or will it take the "nuclear option" and abandon it for greener pastures? The answer seems to be a little of both.'"

482 comments

  1. In my opinion... by VGPowerlord · · Score: 3, Funny

    In my opinion... kill it! Kill it with fire!

    --
    GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
    1. Re:In my opinion... by statusbar · · Score: 2

      Everything they may replace it with is worse...

      --
      ipv6 is my vpn
    2. Re:In my opinion... by Lisias · · Score: 1

      In my opinion... kill it! Kill it with fire!

      I second that. And do it slowly.

      --
      Lisias@Earth.SolarSystem.OrionArm.MilkyWay.Local.Virgo.Universe.org
    3. Re:In my opinion... by hjf · · Score: 4, Funny

      Why? This is not 1999. We don't "hate" javascript anymore, like we did years ago.

      Now we hate flash. Get on the wave, man.

    4. Re:In my opinion... by Anonymous Coward · · Score: 1, Funny

      This.
      Especially now that Oracle has its claws in it.

    5. Re:In my opinion... by smagruder · · Score: 1

      Exactly. JavaScript performs well now (generally) and it gives us programming goodies like Ajax, transitions, flat dialogs, etc. I'm actually in like (not love yet) with the language.

      --
      Steve Magruder, Metro Foodist
    6. Re:In my opinion... by Anonymous Coward · · Score: 0

      In my opinion... kill it! Kill it with fire!

      ^^^^^^^^ a billion times this. Javascript needs to die, it is a disastrous language for web development, at least for the kind of applications that everybody is claiming will be in the future of the web.
      Large scale development in Javascript is akin to programming in assembler. Its a generational regression.
      Bring in a clean, well designed language to web development, its not like I'm asking for a miracle or am I ? ^_^

    7. Re:In my opinion... by sneakyimp · · Score: 1

      Yes but does Javascript provide access to hardware (camera, microphone) and sockets? Flash does. The sockets in particular (and the new 3d features just added) should make it considerably better for games.

      Now don't get me wrong, I'm not flash evangelist. I'm just wondering whether to invest my time in Actionscript or Javascript. One can now develop mobile apps with MXML and Actionscript or one can develop them using Javascript and various new (i.e., experimental) frameworks.

      I do find it odd that everyone is trying to kill both Flash/Actionscript and also Javascript. Client-side scripting languages provide tremendous advantages over plain old HTML.

    8. Re:In my opinion... by Anonymous Coward · · Score: 0

      the correct answer is probably to agree on a language that abstracts the underlying javascript and makes it more concise to write for web frameworks but when a corporation creates an "alternative" .. translation = developers will have more work to do for each platform they want to target, thus cancelling out any benefit of a better language.

    9. Re:In my opinion... by smagruder · · Score: 2, Insightful

      I think both should be kept around. They both have their strengths and weaknesses. As a programmer, I like picking the best tool for the implementation.

      --
      Steve Magruder, Metro Foodist
    10. Re:In my opinion... by aztracker1 · · Score: 5, Insightful

      What you are talking about isn't the responsibility of the language, but the underlying API provided by the browser. And yes, there is some movement towards exposing those hardware elements to the JS API. Though not formally part of the DOM... The language itself is in my opinion a very elegant functional prototype based language. Though recent movements are to avoid use of the prototype aspects of the language.

      It seriously bugs me when people confuse the DOM/JS API for a given platform and the language itself. One is not intrinsically tied to the other. JS has been a favorite language of mine for a very long time (since around 1996). It gets a bad rep. mainly because of the browsers' DOM implementations in the v4 browser war... Don't hate the player, hate the game.

      --
      Michael J. Ryan - tracker1.info
    11. Re:In my opinion... by FictionPimp · · Score: 1

      Ummmm what?

    12. Re:In my opinion... by syousef · · Score: 1

      Why? This is not 1999. We don't "hate" javascript anymore, like we did years ago.

      Now we hate flash. Get on the wave, man.

      We hate everything you young wiper snapper. Get off my lawn!!!!

      --
      These posts express my own personal views, not those of my employer
    13. Re:In my opinion... by Anonymous Coward · · Score: 0

      I completely agree! Javascript is by far the worst part of web development.

    14. Re:In my opinion... by Anonymous Coward · · Score: 0

      Yes Javascript DOES provide hardware access (see node.js), it is just embedded on the browser that it doesn't.

      But time will make it possible. Wait and see.

    15. Re:In my opinion... by Anonymous Coward · · Score: 0

      Yes! Kill it with fire, slowly make it suffer...
      Just like it made me suffer with all its inconsistencies, glitches, idiosyncratic behavior, global vars, etc, etc...

    16. Re:In my opinion... by Dunbal · · Score: 0, Offtopic

      Nothing can be worse than Oracle. Seriously, you want to talk evil companies...

      --
      Seven puppies were harmed during the making of this post.
    17. Re:In my opinion... by Toonol · · Score: 2

      Yes but does Javascript provide access to hardware (camera, microphone) and sockets? Flash does. The sockets in particular (and the new 3d features just added) should make it considerably better for games.

      Javascript easily could. The browser doesn't. That's the limiting factor. People mistake the limitations that the browser enforces as limitations of Javascript.

    18. Re:In my opinion... by Lanteran · · Score: 1

      Oracle controls javascript? Since when?

      --
      "People don't want to learn linux" hasn't been a valid excuse since '03.
    19. Re:In my opinion... by hedwards · · Score: 2

      I agree, death to Flash. The last thing we need is more and better security vulnerabilities.

    20. Re:In my opinion... by Lanteran · · Score: 1

      ... seriously? It's been 15 goddamn years.

      --
      "People don't want to learn linux" hasn't been a valid excuse since '03.
    21. Re:In my opinion... by Anonymous Coward · · Score: 0

      Well in my opinion, the Jedi are evil!

    22. Re:In my opinion... by Pieroxy · · Score: 3, Insightful

      Nothing can be worse than Oracle. Seriously, you want to talk evil companies...

      You do know we're not talking about Java, right?

    23. Re:In my opinion... by chill · · Score: 4, Funny

      A beautiful rant killed by an ugly fact.

      --
      Learning HOW to think is more important than learning WHAT to think.
    24. Re:In my opinion... by Pieroxy · · Score: 2

      You know, Java, JavaScript, it's all the same crap. For some.

    25. Re:In my opinion... by the+eric+conspiracy · · Score: 1

      These are not goodies. These are nightmares. We hates it.

    26. Re:In my opinion... by QRDeNameland · · Score: 1

      Why? This is not 1999. We don't "hate" javascript anymore, like we did years ago.

      Now we hate flash. Get on the wave, man.

      This is not 2009, either. We've since hated Wave into oblivion. Gotta jump out in front of the Dart...ouch!!!

      --
      Momentarily, the need for the construction of new light will no longer exist.
    27. Re:In my opinion... by Pieroxy · · Score: 1

      Maybe you never learned the language properly? If you compare programming with JavaScript vs Assembler, it looks like you've never actually used the language. Now quit talking about it.

    28. Re:In my opinion... by ChatHuant · · Score: 1

      In my opinion... kill it! Kill it with fire!

      I'm sure reasonable people can reach a compromise that would satisfy everyone. Improve it, and then kill it.

    29. Re:In my opinion... by amicusNYCL · · Score: 1

      I'm just wondering whether to invest my time in Actionscript or Javascript.

      If you're asking that question in 2011, the answer is Javascript. 10 years ago the answer would have been different. I'm not sure which "experimental" frameworks you've looked at, but I would suggest using a mature framework like ExtJS version 4. You won't find better documentation in a Javascript framework, and it even has a version specifically for mobile devices (Sencha Touch).

      --
      "Our two-party system is like a bowl of shit looking at itself in a mirror." - Lewis Black
    30. Re:In my opinion... by sneakyimp · · Score: 2

      I understand what you are saying about the language vs. the browser API, but would also like to point out that the enormous variation in API implementations is still a very serious problem for Javascript. This is why you have things like JQuery and Mootools providing a buffer layer between the JS programmer and the browser in the often fruitless attempt to shield a JS programmer from some peculiar browser implementation. One also encounters peculiar browser behavior in flash every now and then when trying to sniff out screen sizes and such. The browser APIs could use some standardization methinks.

      I also tend to disagree that Javascript is particularly elegant. Working with Objects seems particularly primitive to me. I believe someone else pointed out the lack of strong typing and inheritance, among other things. Actionscript 3 does provide strong typing and inheritance and, for better or worse, the Flash player serves as an abstraction layer to more completely shelter the developer from the quirks of the browser.

      What I really do like about Javascript is that all the major browsers support it without the need for any plug-in or player and that it does its job reasonably well.

      Personally, I wish that hardware manufacturers, browser develoeprs, and web standards groups, etc. would normalize and standardize languages and hardware access so that it wasn't necessary to learn Java, HTML, Javascript, Objective C, and god knows what else to write an application for delivery to desktops, tablets, phones, etc. Sure would be nice if we had one language to rule them all and well-defined APIs and security features to gain access to hardware or whatever. Currently, it's a total Babel situation.

    31. Re:In my opinion... by smagruder · · Score: 1

      Your nightmare is my beautiful dream, insofar as I use JavaScript for the needs it best fits.

      --
      Steve Magruder, Metro Foodist
    32. Re:In my opinion... by sneakyimp · · Score: 1

      I'm not talking about 'web apps', I'm talking about mobile phone apps that do not require server access to function.

      Granted, I haven't read all the documentation, but I don't see anything in ExtJs that would help you to write a native mobile application for iPhone/iPad, Android, and Blackberry with a single code base that:
      * lets you access hardware (microphone, camera, gps, accelerometer)
      * lets you manipulate a client-side database
      * lets you establish a socket connection to a server

      I'm still looking into it, but I believe that Flash Builder 4.5 does in fact make this possible.

    33. Re:In my opinion... by Anonymous Coward · · Score: 0

      We already killed wave. What else we got?

    34. Re:In my opinion... by SiMac · · Score: 1

      Flash (ActionScript) is JavaScript with a few non-standard extensions. It exposes very different APIs, but the APIs are not part of the language.

      Virtually everyone agrees that the DOM (the set of APIs available to JavaScript running on a webpage) sucks. The debate is about whether JavaScript itself should be replaced with a different programming language.

    35. Re:In my opinion... by Anonymous Coward · · Score: 0

      ...and js has rather a lot of vulnerabilities, lets face it.

      What a lot of the comments here point to is that these vulnerabilities can't be plugged by evolving the language, and that's exactly what google and other browser vendors are beginning to realize.

      If you're teaching yourself javascript or html5 then the truth is that you are probably wasting your time.

    36. Re:In my opinion... by Anonymous Coward · · Score: 0

      Javascript, not Java.

    37. Re:In my opinion... by ZeroExistenZ · · Score: 1

      In android you can hook up javascript functions and have them call Android code. see addJavascriptInterface

      --
      I think we can keep recursing like this until someone returns 1
    38. Re:In my opinion... by sneakyimp · · Score: 1

      Replacing Javascript sounds like a recipe for complete fucking disaster that would make previous browser wars look easy by comparison. Evolution sounds much more reasonable to me.

    39. Re:In my opinion... by ZeroExistenZ · · Score: 1

      People aren't talking about ECMAScript anymore? Helloooo..?

      --
      I think we can keep recursing like this until someone returns 1
    40. Re:In my opinion... by sneakyimp · · Score: 1

      I'm aware that Javascript can be used on the Android platform to build full-blown apps but must admit that I don't know much about how this is accomplished. This does not, however, help at all if I want to create an app for Android, iOS, and Blackberry and maintain only one code base. Flash Builder 4.5 purports to provide just that capability.

    41. Re:In my opinion... by hedwards · · Score: 1

      What I'm saying is that it's incredibly dangerous to give a web application direct access to the hardware in that fashion. There will always be bugs and there will always be exploits, which is why web apps are supposed to be separated from the hardware in their own sandbox.

      This is a lesson that people should have learned years ago. Sure, with a sandbox bad things can still happen, but suggesting that it's as big of a deal for a javascript exploit as one that accesses the hardware is odd.

    42. Re:In my opinion... by ZeroExistenZ · · Score: 1

      Bring in a clean, well designed language to web development

      What generation of programmers do you belong to? For the C, C++, .NET and even Java programmers JavaScript is very intuitive.

      TOo complex? Get on the JQuery band. Still too complex? well, sorry buddy but ...

      What exactly is a "clean well designed language" ? Is it more like one you know well ? And which one would that be?

      --
      I think we can keep recursing like this until someone returns 1
    43. Re:In my opinion... by amicusNYCL · · Score: 1

      Granted, I haven't read all the documentation, but I don't see anything in ExtJs that would help you to write a native mobile application for iPhone/iPad, Android, and Blackberry with a single code base that:

      Right on the front page of the Sencha Touch section is a paragraph about how it integrates with PhoneGap to provide a single code base that allows access to native APIs on 6 platforms (iOS, Android, BlackBerry, WebOS, Symbian, Bada).

      http://www.phonegap.com/about/features

      --
      "Our two-party system is like a bowl of shit looking at itself in a mirror." - Lewis Black
    44. Re:In my opinion... by Pieroxy · · Score: 1

      A beautiful rant killed by an ugly fact.

      My social skills are just like that, yes, thank you.

    45. Re:In my opinion... by Oligonicella · · Score: 1

      "Working with Objects seems particularly primitive to me."

      I like the supportive evidence for that statement.

      Why is it "particularly" primitive?

    46. Re:In my opinion... by Anonymous Coward · · Score: 0

      what the hell are you talking about? there's a million cross platform android/ios/blackberry code builders these days. Maybe you should try google, as they'll be in your first or second results or so.

    47. Re:In my opinion... by Anonymous Coward · · Score: 0

      Lua, Smalltalk, Scheme, Clojure, Haskell and many other languages are properly designed. JavaScript has way too many serious flaws and retarded corner cases to be considered a well designed language. Brendan Eich has even apologized for it...

    48. Re:In my opinion... by maraist · · Score: 1

      You do realize WHY javascript in browsers don't provide native access don't you? Any why node.js does..
      How many emergency flash updates have been pushed in the last year? And see if you can find any that were related to javascript security holes.

      --
      -Michael
    49. Re:In my opinion... by maraist · · Score: 1

      "If you're teaching yourself javascript or html5 then the truth is that you are probably wasting your time."
      Cause you know, the marketing end of a web-site doesn't need to access the 99.9% of customers or anything.

      --
      -Michael
    50. Re:In my opinion... by maraist · · Score: 1

      "* lets you manipulate a client-side database"
      HTML 5 has SQL databases for client-side storage.

      "* lets you establish a socket connection to a server"
      So long as it's http, you can do a lot of advanced async RPC operations, including poll-based message notifications.

      --
      -Michael
    51. Re:In my opinion... by Terrasque · · Score: 1

      I'm not talking about 'web apps', I'm talking about mobile phone apps that do not require server access to function.

      http://diveintohtml5.org/offline.html

      * lets you access hardware (microphone, camera, gps, accelerometer)
      > Not all of them, quite yet (geolocation yes, camera .. probably in the near future)
        > http://www.w3.org/TR/2010/WD-media-capture-api-20100928/ - Camera API - Google have said it will arrive in future Android versions
        > http://diveintohtml5.org/geolocation.html

      * lets you manipulate a client-side database
        > http://diveintohtml5.org/storage.html - WebSQL

      * lets you establish a socket connection to a server
        > websockets, ajax calls :)

      --
      It's The Golden Rule: "He who has the gold makes the rules."
    52. Re:In my opinion... by Anonymous Coward · · Score: 0

      Yes but does Javascript provide access to hardware (camera, microphone) and sockets? Flash does. The sockets in particular (and the new 3d features just added) should make it considerably better for games.

      Now don't get me wrong, I'm not flash evangelist. I'm just wondering whether to invest my time in Actionscript or Javascript. One can now develop mobile apps with MXML and Actionscript or one can develop them using Javascript and various new (i.e., experimental) frameworks.

      I do find it odd that everyone is trying to kill both Flash/Actionscript and also Javascript. Client-side scripting languages provide tremendous advantages over plain old HTML.

      There is http://www.phonegap.com/about/features (commercial) and http://en.wikipedia.org/wiki/WebSocket (not)

    53. Re:In my opinion... by moorster · · Score: 1

      Kill it. Every other language has evolved quite a bit since Javascript came on the scene. I want strong typing, OOP, properties, reflection, LINQ, parallel support, threads, powerful collections (including concurrent collections) lambda expressions, dynamic language features. Admittedly it has some of these, but I want them all.

    54. Re:In my opinion... by Grishnakh · · Score: 0

      Yes but does Javascript provide access to hardware (camera, microphone)

      Given all the problems we've seen with remote parties snooping on unsuspecting computer users (some of them children) with webcams and microphones, I'd say it's a good thing that Javascript doesn't provide access to those things.

    55. Re:In my opinion... by Grishnakh · · Score: 0

      What I really do like about Javascript is that all the major browsers support it without the need for any plug-in or player and that it does its job reasonably well.

      Yes, and this is exactly what I don't like about Flash: it requires a plug-in, the official Adobe plug-in sometimes is behind on Linux vs other platforms, the official plug-in has terrible performance problems, gets hung sometimes and has to be killed manually, and in general is a nightmare. Worse than that, there's been not 1, not 2, but 3 different OSS attempts to make a Flash alternative (that's compatible with .swf, as the spec is openly published after all); only gnash seems to still be in development, and it has even worse problems than the official one! You just never see any real problems with Javascript on any browser these days.

    56. Re:In my opinion... by Anonymous Coward · · Score: 0

      Yes but does Javascript provide access to hardware (camera, microphone) and sockets? Flash does. The sockets in particular (and the new 3d features just added) should make it considerably better for games.

      http://nodejs.org/

    57. Re:In my opinion... by Sloppy · · Score: 1

      It seriously bugs me when people confuse the DOM/JS API for a given platform and the language itself. One is not intrinsically tied to the other.

      Yeah, and printf() isn't technically part of C.

      I don't think most programmers learn languages separately from their "standard" libraries. They have a project they need to do, so they're learning the library that they're going to use; they don't learn languages in academic isolation where the language all by itself is all they see. As much as javascript is a language in its own, it originated in the web browser and that's where people use it and why people use it.

      If you extract javascript from that environment (and yes, I know some people have) it's just another language, with nothing special or particularly nice about it, even if it is capable.

      Yeah, I know them's fightin' words. I read this part..

      JS has been a favorite language of mine for a very long time

      ..and I don't mean to spit on your baby, but it really looks to me just like any other baby, except for the cute ones, which your baby ain't. ;-)

      --
      As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
    58. Re:In my opinion... by somersault · · Score: 1

      Working with Objects seems particularly primitive to me. I believe someone else pointed out the lack of strong typing and inheritance, among other things.

      How do you expect to do inheritance without objects??????

      Sure would be nice if we had one language to rule them all

      Sure would be nice if I could build this car engine with a hammer! Except, that's not how the real world works. It's nice to use tools appropriate for the job. Have you ever learned any programming languages? It doesn't sound like it.

      I agree about the DOM though, and I wouldn't complain about having other scripting options besides JavaScript. HTML was designed to allow different scripting languages of course. If I ever have to do anything in JavaScript beyond basic UI stuff then I'll have a look at CoffeeScript..

      --
      which is totally what she said
    59. Re:In my opinion... by somersault · · Score: 1

      Having a job and eating is just a waste of your time dude. Accept the truth.

      --
      which is totally what she said
    60. Re:In my opinion... by Anonymous Coward · · Score: 0

      Nuke it from orbit... It's the only way to be sure.

    61. Re:In my opinion... by somersault · · Score: 1

      Not CHILDREN?! My gods, that makes your argument 1 bazillion times more powerful!

      --
      which is totally what she said
    62. Re:In my opinion... by shish · · Score: 1

      JavaScript performs well now (generally)

      Javascript quake on my quad-core 3GHz box runs slower than native quake on my pentium 133. I would say "I guess it performs well enough for web page interaction", except slashdot, gmail and facebook frequently take up a core each and still feel noticably slower than native apps...

      --
      I mod down anyone who says "I will be modded down for this", regardless of the rest of their comment
    63. Re:In my opinion... by sneakyimp · · Score: 1

      Thanks for the links. Very interesting stuff.

    64. Re:In my opinion... by sneakyimp · · Score: 1

      Polling sucks. I was referring to full-duplex sockets which are much more responsive for games and such and don't require polling. Apparently there's a spec being developed for websockets, which i did not know.

    65. Re:In my opinion... by murdocj · · Score: 1

      No please, do it quickly. Programming in javascript is like being dragged over fishhooks and broken glass.

    66. Re:In my opinion... by sneakyimp · · Score: 1

      I didn't realize that an opinion required supporting evidence.

      By 'primitive' I guess I mean that AFAIK (and I'm no Javascript master) the concept of a class doesn't exist in Javascript and that you define objects like so:

      MyNS.MyObject = function(p1, p2) {
          this.prop1 = "foo";
          this.prop2 = "bar";
      }

      You can then add methods and such like so:

      MyNS.MyObject.prototype.baseValue = 1000;
      MyNS.MyObject.prototype.method1 = function() { // blah blah
      }

      How does one establish whether methods/vars are public/private/protected? Or inheritance? To me, the weird misappropriation of the function keyword to build objects, the verbosity of the code to express objects, and the lack of inheritance, etc. are primitive compared to Actionscript 3, to Java, to PHP5, to C++, and a variety of other languages I've dealt with.

    67. Re:In my opinion... by sneakyimp · · Score: 1

      Ooooh nice. TYVM for the info.

      So would that be something like ExtJs -> Javascript -> PhoneGap -> Device API ?

      It sounds promising but I wonder if there's some kind of redistributable or virtual machine type thing involved?

    68. Re:In my opinion... by sproketboy · · Score: 1

      You don't deserve to be on slashdot if you don't know the difference between Java and Javascript.

    69. Re:In my opinion... by Requiem18th · · Score: 1

      Please no. Javascript is a horrible language. Ok not MUMPS horrible but still pretty wicked.

      It is both dynamic typed AND weak typed, and it ignores it's exception facilities in favour of weird behaviour, such that the sum of two variables can be a number, string, NaN, or fucking Infinity. Let alone that properties can return `null` or `undefined`. It lacks a true hash/dictionary type and abusing the object type for similar effects ends up causing weird bugs with inheritance. Its half assed attempt at bringing Java syntax to a classless OOP language means it neither has the elegance of Self or Io, neither it has anything resembling Java semantics or syntax except for the more superficial aspects.

      Its scoping and "execution context" rules are messy and the only thing that saves it is the generous abuse of in-lined functions to contain them in closures. And of course it lacks many of the niceties of scripting languages like Python or Ruby. Like unpacking assignment, list comprehensions, iterators and generators.

      And I write this as someone who writes AJAX applications for a living. Switching to Python or the like sounds like a great idea.

      Coffeescript is in fact an impressively elegant and featured language but I'm afraid of getting bitten by bugs hidden in the translation.

      --
      But... the future refused to change.
    70. Re:In my opinion... by hjf · · Score: 1

      For that matter, your pentium 133 runs SNES games much slower, on an emulator, than native on a real SNES...

    71. Re:In my opinion... by anonymov · · Score: 2

      You sound like you don't know what you're talking about. Probably, you moved to write AJAX application from writing PHP or something and didn't even bother to learn JS better.

      Yes, + can yield either string or number (I don't get your grudge against Infinity and NaN, do you think it's something unheard of and JS specific?), but this behaviour is not uncommon not only for dynamic typed languages, but for static typing with operator overloading. But it doesn't work by some random rules - it's pretty clearly specified. I, for one, never had this bite me.

      Properties don't return null or undefined randomly. null is an explicit value that can be used for "search yielded no results" or similar meanings, and undefined is implicit value of - who'd have guessed - undefined properties. Yes, it's weird to have two NULL-like values, but, again, it's not like they are returned by some non-determinate process.

      Using plain objects created with literals as map type doesn't give you "weird bugs with inheritance" unless you mess up the Object prototype - which is not common thing to do.

      So your only valid complaints come down to the syntax - with those I agree, it would be nice (and destructuring binds/comprehensions/iterators/generators are indeed implemented in Mozilla's Javascript 1.8), but they're not crucial.

    72. Re:In my opinion... by anonymov · · Score: 1

      Oh, and apropos de "ignores it's exception facilities in favour of weird behaviour, such that the sum of two variables".

      Why the hell would you use exceptions for that?

      Exceptions are meant for exactly what they called - something exceptional and unexpected. They are not replacement for "I am too lazy to check the easily verified conditions"

    73. Re:In my opinion... by Anonymous Coward · · Score: 0

      I think that's pretty much the heart of it; however, the point people will vigorously disagree with is the "best tool" part. A great many programmers believe the "best tool" for browser coding does not exist; we have only one or two tools: the almost-common-denominator that is far, far from ideal, and the other one that is outright missing or unsupported on other browsers and devices.

      Or, to put it another way: if the only programming language in existence for a platform was visual basic, then, technically, by default, it would be the best tool for whatever job you had to do on that platform. Yet at the same time, anyone working on a task that visual basic is not particularly suited to would be begging for the sweet release of death. [If you like visual basic, replace it with something you don't like. If you can't think of something you don't like, then assume the task is writing World of Warcraft and the only available language is brainfuck.]

    74. Re:In my opinion... by MechaStreisand · · Score: 1

      Are you retarded? People actually run JS on modern computers and it's still slow. Nobody runs SNES emulators on a pentium 133.

      --
      Disclaimer: IANAL. This post is, however, legal advice, and creates an attorney-client relationship.
    75. Re:In my opinion... by anonymov · · Score: 1

      I'm pretty sure first version of ZSNES were contemporary with P133.

      But yeah, JS is not the language for writing game engines - although having bare game engine exposing bindings for implementing the actual game logic in JS is quite doable.

    76. Re:In my opinion... by Anonymous Coward · · Score: 0

      To me, the weird misappropriation of the function keyword to build objects

      You should read your SICP sometime, there's a thread throughout several chapters devoted to creating local state through lambda functions.

      Or inheritance?

      Your function to build an object calls the parent function that builds the parent object, decorates it, and returns the decorated object.

    77. Re:In my opinion... by badkarmadayaccount · · Score: 1

      Qt can do that for you. Though I'm not sure of the hardware.

      --
      I know tobacco is bad for you, so I smoke weed with crack.
    78. Re:In my opinion... by squiggleslash · · Score: 1

      My take: Javascript's a language, not an API. The "limitations" people keep droning on about in regard to Javascript are actually limitations of the API provided by standard browsers. Simply allowing developers to enter things like <script type="text/actionscript"> are not going to help because ActionScript, Python, Perl, DOS Batch, and VBScript are all going to be limited by the API the browser gives them, and there's no reason to suppose it's going to be better by virtue of being supported by a different language.

      The issue right now is the W3C, who quite honestly seem to never quite know what they're doing. I hate to say it, but if Netscape had survived, was still the standard browser, and was continuing the "Add one feature every minor release" policy, then while there'd be a hell of a lot of kludges in Netscape 57, we'd probably have a more capable platform overall. I'm not sure we'd need Flash.

      --
      You are not alone. This is not normal. None of this is normal.
    79. Re:In my opinion... by thePowerOfGrayskull · · Score: 1

      The problem with this is that it leaves you - by necessity - with the lowest common denominator across platforms. You can't take advantage of each platform's features; so you end end up with something that looks and behaves "ok" on all platforms but doesn't truly integrate as a native app with *any* platform.

    80. Re:In my opinion... by kdemetter · · Score: 1

      If it's easy enough to learn , and as flexible as javascript , but better , then go for it.
      However, please make it 1 language , and make sure all browsers use exactly the same interfaces.

      It's bad enough that i have to write different code for FF and IE , I don't want to have to check on Chrome's and Intel's javascript generation either.

    81. Re:In my opinion... by Anonymous Coward · · Score: 0

      No, wave was already killed by Google.

    82. Re:In my opinion... by Requiem18th · · Score: 1

      You understimate me.

      No, I'm not baffled that + is used for both, number addition and string concatenation. I know about operator overloading, but I'm against weak typing, number+string without explicit casting should always raise an exception, not doing so exposes you to code that passes the predictable tests but produces hard to track bugs in unpredicted cases.

      No, NaN and Infinity are not sane responses, and yes this is JS specific, any other language that does it doesn't exist for me, in any case you say this as if being JS specific is the only wrong thing with returning a useless singletons whose only purpose is to not raise an exception which *is* the sane thing to do when dividing by zero or doing other invalid math operations.

      No, returning undefined is not a sane response when asking for non-existing properties. For starters, the fact that it is a value that can be passed around means that undefined doesn't mean "this property is not defined" but "this property maybe isn't defined or maybe it was, but it was assigned undefined elsewhere". It is crazy that you have to test for false and null AND undefined, and it's crazy that you have to wait until you operate on the undefined result to discover the thing you have been carrying all along didn't exist.

      And surely you mean messing up the Object prototype is not UNcommon thing to do, did you? Messed up Object is a fairly common thing to encounter if you work with multiple applications, built with multiple libraries by multiple persons. The fact is that map-like iteration in JS is a LBYL thing.

      And you didn't comment on the scoping rules, like the fact that dropping local declarations inserts names in the global namespace, which following your pattern of response will probably be responded with "but it's predictable behaviour!" but that's not a sane default. And actually it's not locally predictable, it's the complete opposite in fact. It's only globally predictable, meaning you have to know the entire program to know from where this global name is getting injected.

      And then we have "this"... well that's a huge subject by itself, There are good and bad points that could be made about it and I can conclude that it should behave differently, you can ask me about it if you are interested.

      And then you finish with, "yeah the syntax could be better but it's not crucial" I'm not talking about crucial, you are completely misunderstanding me. JS is workable, but the list of things that I would change in it is large enough that I would rather drop it for any other of the major scripting languages out there, except Perl.

      --
      But... the future refused to change.
    83. Re:In my opinion... by TheRaven64 · · Score: 1

      Don't replace it with another language, replace it with a well-defined bytecode. Something like the Smalltalk-80 or Self bytecode, for example, which is well understood and can be the target for a whole family of languages. As long as it has late binding / dynamic dispatch and doesn't allow pointer arithmetic, it should be fine.

      I bet Adobe would be very happy if they adopted Flash's ActionScript byecode as the standard, since they have a lot of tools for creating it, and there are also open source ones, so it wouldn't even be a terrible choice. Flash's bytecode has the nice property that it already supports class and prototype-based object orientation.

      --
      I am TheRaven on Soylent News
    84. Re:In my opinion... by TheRaven64 · · Score: 2

      How does one establish whether methods/vars are public/private/protected?

      One doesn't, but that's fairly common in object oriented languages. Very few actually provide this kind of functionality, and generally they're the ones that don't fully support object orientation.

      Or inheritance?

      JavaScript provides a single chain of prototype inheritance. Any slot lookup is checked along the prototype chain. So, for example, you can set a method in an object, use it as a prototype, and every object will see that method, unless it has its own set. You can then use one of these objects as a prototype and build a longer chain.

      To me, the weird misappropriation of the function keyword to build objects,

      Actually, the problem is the new keyword, which has just plain crazy semantics. JavaScript is very Self-like, but provides Java-like syntax, which is confusing. When you use the new keyword, it calls the function with its this variable set to a new clone of the function object's prototype field.

      If you want to implement something like a class, then you should not do anything in the constructor at all. You should generate a prototype for the class, which has the methods defined and the instance variables set to default values, and set it as the constructor's prototype. When you invoke the constructor (using new ), you'll get a new object that is an instance of your 'class'. You can then add methods to the 'class' and have them appear in the instance, just like in any other object oriented language.

      the verbosity of the code to express objects,

      It's actually not that verbose when used correctly, but you seem to be doing it a slightly strange way.

      and the lack of inheritance, etc.

      As I said, JavaScript does have inheritance and uses it extensively. You seem to be confused because it has inheritance between objects, not just between classes.

      are primitive compared to Actionscript 3, to Java, to PHP5, to C++, and a variety of other languages I've dealt with.

      Wow, you really go out of your way to pick horrible languages. In comparison to that list, JavaScript doesn't seem so bad...

      --
      I am TheRaven on Soylent News
    85. Re:In my opinion... by Requiem18th · · Score: 1

      For 4 reasons. Though this is a Python thing, this is valid in every language:
      1) Exceptions are consistent and unified way of checking for errors, otherwise you end up with lot's of ad hoc error checking code.
      == 0, != 0, !== null, type(foo) != 'undefined', if ('property' in foo), hasOwnProperty and any application specific isValid, hasThis, hasThat are bunch of different ways to test for the same sort of things.
      EFAP offers a consistent interface instead of a disparate API.
      2) EFAP code looks like what it is trying to do, not like what it's trying not to do.
      3) There really is no end to LFYL. If desired, you could make a language where all errors --including for amusement syntax errors-- return undefined. It's predictable! Also good luck trying to debug any code. It's your damn fault for not checking each one of dozens of easily verified conditions.

      Except not even JS is that diabolical. You do get error messages for almost any mistake, NaN, Infinity and undefined being the glaring (un)exceptions. There is no reason for treating these cases differently, you are just defending JS for arguing sake.
      4) Your VM/Interpreter is already guarding against exceptions. It's not like you are actually avoiding guarding against exceptions. No matter many times you call ('property' in foo) the browser still braces for impact in case foo.property doesn't exist. You are not optimising anything avoiding exceptions.

      --
      But... the future refused to change.
    86. Re:In my opinion... by TheRaven64 · · Score: 1

      Yeah, and printf() isn't technically part of C.

      Yes it is. It is part of the C specification, which defines the language and the standard library. The JavaScript specification also defines a standard library, containing Object, Array, String, and a few other things. DOM, however, is not part of the standard JavaScript language, it just happens to be the most popular API used with JavaScript. You can find V8 or SpiderMonkey in a lot of different applications without DOM, but with the core JavaScript APIs.

      --
      I am TheRaven on Soylent News
    87. Re:In my opinion... by marcosdumay · · Score: 1

      I wish I still had the modpoints I had yesterday... Somebody mod the parent up.

    88. Re:In my opinion... by Anonymous Coward · · Score: 0

      You just aren't that good of programmer, that's all. Don't feel bad tho, there's millions of you out there, fucking shit up for the rest of us.

    89. Re:In my opinion... by narcc · · Score: 1

      There's PhoneGap, among many others...

    90. Re:In my opinion... by Anonymous Coward · · Score: 0

      Why? This is not 1999. We don't "hate" javascript anymore, like we did years ago.

      Now we hate flash. Get on the wave, man.

      But Wave died years ago...now I think they're pushing Google+

    91. Re:In my opinion... by LingNoi · · Score: 1

      You sound like you don't know what you're talking about. Probably, you moved to write AJAX application from writing PHP or something and didn't even bother to learn JS better.

      Look everybody, an elitist douchebag that thinks treating people as inferiors leads to a valid arguement. Let me guess, you you're a hipster that uses opera and ruby on rails exclusively while shitting on GPL because it's not as free as BSD..

      Crawl back to your cave neckbeard.

    92. Re:In my opinion... by LingNoi · · Score: 1

      because flash is one entity that exists on many browsers. It's one codebase, one implementation which means there is more gain from exploiting it then if there were multiple implementations in different browsers.

    93. Re:In my opinion... by xouumalperxe · · Score: 1

      Here's how you can make private/privileged methods and fields, and also how to make getters/setters in javascript: MyNS.MyObject = function(p1, p2) { var privateProp1, privateProp2; function privateMethod1(pa) { privateProp1 = pa } this.privilegedMethod = function() { privateMethod(1); } this.__defineSetter__("prop2", function(a) {privateProp2 = a;}); this.__defineGetter__("prop2", function() {return privateProp2;}); this.prop1 = "foo"; this.prop2 = "bar"; }

    94. Re:In my opinion... by xouumalperxe · · Score: 1

      And now in a readable format:

      MyNS.MyObject = function(p1, p2) {
      var privateProp1, privateProp2;
      function privateMethod1(pa) {
      privateProp1 = pa
      };
      this.privilegedMethod = function() { privateMethod(1); };

      this.__defineSetter__("prop2", function(a) {
      privateProp2 = a;
      });
      this.__defineGetter__("prop2", function() {
      return privateProp2;
      });

      this.prop1 = "foo";
      this.prop2 = "bar";
      }

  2. Lua by Anonymous Coward · · Score: 1

    Because it's awesome.

    1. Re:Lua by Lisias · · Score: 1

      Please mod parent up.

      (I second that too!)

      --
      Lisias@Earth.SolarSystem.OrionArm.MilkyWay.Local.Virgo.Universe.org
    2. Re:Lua by shakesoda! · · Score: 2

      I can't support this idea enough. Lua would be just about the best possible thing that could happen to the web.

  3. How about neither? by Hatta · · Score: 4, Insightful

    Leave the web for documents. Run applications natively. Why is this so hard?

    --
    Give me Classic Slashdot or give me death!
    1. Re:How about neither? by hjf · · Score: 5, Informative

      Because Google needs you to run everything in their cloud so the NSA,FBI,CIA, and even the DMV can get easy access to all your documents.

    2. Re:How about neither? by Anonymous Coward · · Score: 0

      because javascript isn't used just for web apps? many very, very basic behaviors cannot be done on the web without javascript (eg changing the style of an element, showing/hiding content). it (or something like it) is a necessary evil - for now.

    3. Re:How about neither? by amicusNYCL · · Score: 2, Insightful

      The web is not for documents, it is for storing and displaying data. Flexible and powerful interfaces to that data are a part of the web. A client-side scripting language is required for any interface that doesn't require a page refresh on every click.

      Leave the web for documents. Run applications natively. Why is this so hard?

      Yeah, and phones should only be used for making and receiving calls. And GPUs should only be used for rendering graphics.

      I'm sorry you're getting old, but things change whether you want them to or not.

      --
      "Our two-party system is like a bowl of shit looking at itself in a mirror." - Lewis Black
    4. Re:How about neither? by Lisias · · Score: 2

      Leave the web for documents. Run applications natively. Why is this so hard?

      Because native applications "are hard to make", and is run on an equipment not owned by the software maker.

      Web Applications, on the other hand, "are easy to make and deploy", and, most important, are run on software maker's owned (or rented) hardware.

      Had you ever tried to deleted your FaceBook account? ;-)

      --
      Lisias@Earth.SolarSystem.OrionArm.MilkyWay.Local.Virgo.Universe.org
    5. Re:How about neither? by PeanutButterBreath · · Score: 2

      very, very basic behaviors cannot be done on the web without javascript (eg changing the style of an element, showing/hiding content). it (or something like it) is a necessary evil - for now.

      Those are not necessary for consuming documents (or more generally, data).

    6. Re:How about neither? by Ragun · · Score: 0

      Yes, just stop innovating and making everything so complicated. Just do it the old way, I don't care what people want.

    7. Re:How about neither? by smagruder · · Score: 1

      I would add to this...

      The web as document-only is a ship that has sailed, and that trip was in the last century.

      --
      Steve Magruder, Metro Foodist
    8. Re:How about neither? by aztracker1 · · Score: 1

      The browser is today's equivalent of an old terminal based system. Just has room for more logic to run at the terminal to minimize bandwidth and latency. In order to apply the latter aspects, JS or another client-side scripting language is necessary. I feel that JS is a nice fit. Browser differences in API implementations aside.

      --
      Michael J. Ryan - tracker1.info
    9. Re:How about neither? by Hooya · · Score: 3, Insightful

      > Why is this so hard?

      Two reasons, from my experience:

      1. we have large corporate clients (think multinational). They use our services exactly once every year. Over 1,000,000 people in total. Imagine the logistics involved to get a desktop/native application deployed - for that one time use? What if we need to tweak something halfway. How do we re-deploy?

      2. That application is "distributed". Everyone does a little bit that is then accumulated. Sure, we could write a client-server app. Then we'd need to figure out threading issues on the server side, work out the communication protocols, work out locking issues. Or we could let, say, Apache handle the threading (we're good but i'd rather trust software that has undergone years and years of usage - there are other web servers that do this better, i know.) Let HTTP be the communication protocol. Let the backend database handle data locking issues (at least using standard SQL concepts allows everyone to be able to wrap their heads around the issues involved). You could argue that we could use a native app that then uses HTTP. For that, see #1.

      Native apps were great. Far richer experience in terms of UI. But far, far, poorer in terms of distributed-ness and ease of deployment. Or, looking at it another way, the current state of things are due to the evolution of one native app - the browser. It's just that it comes with an established integrated communication protocol and a UI that's flexible/extendable and the guarantee that the shell/runtime is multi-vendor - but largely compatible and available on most computers shielding you from deployment hassles. So it IS a native app that comes with the pieces you need (comm protocol, extension language, widespread availability).

    10. Re:How about neither? by aztracker1 · · Score: 2

      And that is a recipe for failure.

      --
      Michael J. Ryan - tracker1.info
    11. Re:How about neither? by 91degrees · · Score: 1

      Because the web is interactive, and native applications have a cumbersome install process. Google would be less convenient as a native application, but without javascript wouldn't pop up those helpful suggestions.

    12. Re:How about neither? by mikeg22 · · Score: 1

      Their are native application platforms that are easy to distribute. Flash and Silverlight are 99% as easy to distribute/update as html/js apps (at least to desktop boxes).

    13. Re:How about neither? by ickleberry · · Score: 2

      If there is one thing the browser hasn't done is minimise bandwidth.

      A SSH session uses about the same amount of bandwidth as it did in the 90's. Now you need a 3mbit pipe just to load an ordinary web page in a decent amount of time. If they just fucking killed off JavaShit the web would be fast once again, and its not just bandwidth thats being wasted; 10 years ago new releases of MS Office bloatware was driving the PC upgrade cycle, now its Web Apps and ordinary websites that have been unnecessarily 'appified'

    14. Re:How about neither? by grumbel · · Score: 1

      A large part of the problem with "running applications natively" is that the native programming interfaces aren't really build to handle the kind of applications that run on the web. How would Wikipedia look as a native Gtk+ app? How would Facebook? It's kind of hard to imagine that type of applications stuffed into a classic GUI toolkit. Of course it could be done, but you would probably end up doing it by embedding a HTML widget and then you are basically back at square one.

      That of course doesn't mean that there aren't some web apps that would work much better natively, but overall the native GUI interfaces haven't really evolved much in the last few decades and the freedom that HTML gives has allowed a lot of applications that would have never evolved in a normal GUI landscape constrained with menus, toolbars, listboxes and other basic widgets.

    15. Re:How about neither? by Archangel+Michael · · Score: 1

      Seems silly at this point. They will have access to your Medical Records under ObamaCare.

      --
      Agent K: A *person* is smart. People are dumb, stupid, panicky animals, and you know it.
    16. Re:How about neither? by chill · · Score: 1

      But the pinch of sarcasm in there changes the recipe from one of failure to one of WOOOSH!

      --
      Learning HOW to think is more important than learning WHAT to think.
    17. Re:How about neither? by Riceballsan · · Score: 2

      Comparitively google seems far more interested in keeping your data to themselves for their advertising cash cow. Historically google has flat out refused law enforcement access to peoples accounts without a court order (vs similar situations in which police pretty much just ask and get instant access to peoples facebook). This dosn't Make them angels by any stretch, they still horde all your data like crazy, but in terms of corporations of massive size, google seems to be one that gives the least amount of fucks as to what branches of any government want, and do the least they possibly can get away with to still opperate in their countries.

    18. Re:How about neither? by Anonymous Coward · · Score: 0

      Because Google needs you to run everything in their cloud so the NSA,FBI,CIA, and even the DMV can get easy access to all your documents.

      Oh, hey, great, glad I finally caught up with you. I'm having my parents over for the weekend, and I'm planning this great turkey recipe I found. It uses an outdoor oven arrangement surrounded with tinfoil, and since you're such a legendary expert on the many uses of tinfoil (like, say, your amazingly extensive homemade headgear collection), I was wondering if you had any suggestions.

    19. Re:How about neither? by Tablizer · · Score: 2, Funny

      Leave the web for documents. Run applications natively. Why is this so hard?

      I hereby sentence you to two years of corporate desktop support.

    20. Re:How about neither? by Anonymous Coward · · Score: 0

      Because people would like to write an application once and not a version for every platform out there?

    21. Re:How about neither? by smagruder · · Score: 4, Insightful

      Please keep the politics out. Can't we have a haven for tech-only discussion please?

      --
      Steve Magruder, Metro Foodist
    22. Re:How about neither? by Anonymous Coward · · Score: 0

      A SSH session uses about the same amount of bandwidth as it did in the 90's. Now you need a 3mbit pipe just to load an ordinary web page in a decent amount of time.

      An SSH session isn't graphical. Pre-WWW, for your graphical needs, you would have been using X11, I guess, and you would have needed a pipe much faster than 3 megabits.

      If they just fucking killed off JavaShit the web would be fast once again, and its not just bandwidth thats being wasted; 10 years ago new releases of MS Office bloatware was driving the PC upgrade cycle, now its Web Apps and ordinary websites that have been unnecessarily 'appified'

      Citation needed?

    23. Re:How about neither? by Hatta · · Score: 2

      That's actually a large part of the benefit of native applications. Consistent look and feel, remember that? If Facebook were a local application, it would look a lot like our email and usenet clients. That's all facebook is anyway. A poor reimplementation of email, usenet, IRC and finger.

      --
      Give me Classic Slashdot or give me death!
    24. Re:How about neither? by paxcoder · · Score: 1

      Leave the web for documents. Run applications natively. Why is this so hard?

      Viewing multimedia on the web without [a client-side programming language|JavaScript] would be an [unenjoyable|frustrating|non-interactive] experience. My honest opinion is that you should deal with the fact that web is another (domain-specific) software platform, and I'll tell you why in a second. Really, to oppose the idea is somewhat irrational; even if you don't use the extra power - why remove it? Granted, unsolicited use of / dependence on JS is a bad practice and security are problems to address, but I'd like to think they aren't ultimately insurmountable.

      I wanted to suggest that you try differentiating sites with articles (blogs,news, etc sites) and those that require interaction, but on the second thought, that's really not the right thing to do. You'd probably call the latter "apps" but a lot of the "social" stuff today needs asynchronous loading, or could use local storage, etc because the web is and should be R/W aka "Web 2.0".
      That is to say, there are useful things that require a real programming(scripting) language. And not only on the server side - alleviating load from server to clients is generally a good idea: The server-client model is not economic. Your PC sits unused, while your computing is being done somewhere else. I hope I'm not making a spin here - that's not my intention. Eg. I would very much like a facility for p2p - browser-to-browser communication (UDP WebSockets? Browser-integrated servers?)

      Not that I don't see where you're coming from. Certainly you may prefer to do your computing disassociated from the web. But it (the web) will still remain a convenient way to develop cross-platform networking software as far as the world is concerned (including me too, I'm a realist, perhaps because I'm familiar with it).
      Finally, getting back to the topic: I would appreciate a cleaner client-side language, one more convenient for the web than JavaScript. In fact, problems with compiled code aside, I would appreciate browsers integrating compatible language-agnostic VMs.

    25. Re:How about neither? by Anonymous Coward · · Score: 0

      No no no! Flash and Silverlight are 10^20 times worse than "web apps"!

    26. Re:How about neither? by ZeroExistenZ · · Score: 1
      Nah, you are new in the jobmarket.
      • Step one:something cool and new you want to do
      • Step two: convince someone to pay you to do it (or hire someone to do it)
      • Step three: Do it and justify why you do it (by reports, metrics, meetings and seminars)
      • Step four: do it for a while but realize obvious flaws
      • Step five: Try to meet expectations made in two and three.
      • Step Six: find something else, or train someone else to do that what was cool and seemed a good idea but now has been breaking your balls.
      • Step seven: once nobody wants to do or pay to do anymore, it will cease to exist as justifyable service OR claim expertise and keep doing three and five
      • Step eight: next justifiable activity which gets you money

      We loved to play with HTML and JavaScript, but then it didn't need to be profitable and everything was sortof a proof of concept or an vague idea. Implementations get progressively more complex and "creative".

      --
      I think we can keep recursing like this until someone returns 1
    27. Re:How about neither? by Urza9814 · · Score: 1

      Here's just one example: Show me a native word processor that can allow multiple people to edit a single file as easily as Google docs. No service fees, just a name or email address or link to share. I mean I always thought Google Docs was a stupid gimmick at first...then I used it in this class last semester, and it was absolutely astounding how smoothly things went. We worked better writing a single report collaboratively on Google docs than we did when we were all actually in the same room together.

    28. Re:How about neither? by grumbel · · Score: 1

      That's actually a large part of the benefit of native applications.

      That would only be a real benefit when the available native widgets would be more advanced, but they are not, they stopped developing new stuff 20 years ago, thus you are stuck with list boxes, menus and a few buttons. Take an email or usenet client for example, most follow the three pane view, threads on top, group view on left and a message view on the bottom. Sounds nice in theory, in practice that interface however is pretty bad and the way webpages like Slashdot or Gmail present threaded discussions, with all the posts fully visible in the tree itself is far more readable and requires far less clicks then having tree and messages separated into different panes. Native GUIs also have a lot of issues with basic things such as selecting text, which is almost always limited to a single widget, tough luck if you want to select subject and body of an email and the subject happens to be in a separate widget. Even worse, a lot of text in non-user editable fields is often not selectable at all.

      Consistency is of course a nice goal to have, but with current day native GUI widget it just means that you are incredible restricted in what you can do with the app and how you can present information. There is of course the easy way around that in native apps by using custom widgets, but then you lose all consistency and are back to what webpages do.

      Now don't get me wrong, the way webpages do GUI isn't pretty either, far from it, but native GUI widget really aren't the solution, not even close.

    29. Re:How about neither? by izomiac · · Score: 3, Interesting

      Apparently, someone thought the concept of files, folders, applications, and menus was too complicated for the 'average person'. Over the years, this idea has spawned countless variations of these concepts in an attempt to make them 'easier' for this hypothetical user. Ironically, the inconsistency and countless layers of abstraction made everything much harder.

      Today, users aren't expected to know what any of that stuff is. The modern user isn't expected to understand what application they're using, or the difference between open or closed. Instead of discrete applications, the web browser is used for everything. Files fall way to the "cloud", the internet is the new OS, the address bar your command line. Javascript has become the new assembly language.

      It's a marketer's dream, and an engineer's nightmare. Constantly changing everything breeds ignorance rather than increasing experience and sophistication. The tremendous complexity means we can see the web start to have the processing power of a 8086, and about a dozen abstracted layers from hardware, each with their own bugs. It probably won't be too much longer before computer science starts resembling biology, i.e. the dissecting and analysis of a complex system from the top down. Amusingly enough, Windows Vista contains about fourteen times more digital data than human DNA. OTOH, only 98% of DNA is 'junk', so it's probably not a fair comparison.

    30. Re:How about neither? by Anonymous Coward · · Score: 0

      Well, I quite fail to see the distinction between a local application coded in JS and pushed through my web browser and a local application coded in C and pushed through whatever store as seems to become the norm. Well, except that one sit on my hard drive between usage and the other one needs an extra and quite uneffective couch to access my material. But, when it comes to usage its basically the same as long as the data are on the server. Actually, phones work with local applications and that doesn't seem to bother anyone.

      Nowadays, most of the so-called novelties of web browser are just old windows manager and OS functionalities poorly implemented. Well, my web browser gives access to my GPU to web pages now. It won't be long before it feels the need to do schedulding between them...

      Eadem sed aliter...

    31. Re:How about neither? by Anonymous Coward · · Score: 0

      What's "a cumbersome install process"?

      I hate those helpful suggestions Google wants to pop up. I disable them by changing the user agent string.

    32. Re:How about neither? by modmans2ndcoming · · Score: 0

      How the FUCK is that even close to insightful?

      That statement is like saying "why not leave roads to horse traffic and run mechanical transportation on rails"

    33. Re:How about neither? by modmans2ndcoming · · Score: 1

      they have access to your health records if you are under medicare... and your insurance company, hospitals, etc have access to it as well... and your doctor likely claims to OWN the information in your medical chart.

    34. Re:How about neither? by modmans2ndcoming · · Score: 1

      native is hard to make? have you ever attempted to write a web application that was worth a damn? Web development is possibly the most complex type of consumer oriented development that someone can engage in.

    35. Re:How about neither? by theArtificial · · Score: 4, Insightful

      A SSH session uses about the same amount of bandwidth as it did in the 90's. Now you need a 3mbit pipe just to load an ordinary web page in a decent amount of time.

      You know what else uses the same bandwidth of the 90s? 90s webpages. The websites of today are doing more than ever (streaming video, multimedia rich) and file sizes and screen resolutions have increased. Compare the file size of the average game released today to that of 1999. Why don't you fire up Lynx and save yourself the aggravation?

      You imply that the delays are due to JavaScript yet majority of the data on the wire isn't JavaScript. The delays you're referring to are mostly due to DNS lookups (and subsequent downloads) of byte heavy multimedia like images, video, and other goodies like Flash and data. As sites have grown in complexity a bottleneck occurs with the number of HTTP requests which a browser may make. The CSS file is parsed and the assets are downloaded the user must wait. The wait may be reduced employing a thoughtful design and clever use of domains (and subdomains). CDN (Content Delivery Networks) are popular for this very reason. At the server level on-the-fly compression may be enabled for various mime types (JS, html pages, smaller images etc.) to increase speed even further without requiring application level changes.

      JavaScript may be used in many ways to improve performance on sites, for example: instead of downloading all the map data one only needs what's in the view port. Additionally images which a user never views may not be requested, saving bandwidth. Like any tool it can be misused. Sites which use several ad scripts, analytics, 3rd party widgets etc. are the exception. What about interactive sites (powered by cobbled together server side scripts, made with multiple frameworks) which operate in an underpowered, over provisioned VM, on a shitty pipe with oodles of other sites located on the other side of the world? JavaScript indeed. To see stuff done right look at Amazon.

      So with JavaScript gone you have Flash, video, and data. I'm sure these will all be faster now... (since we're using less of these now than in the 90s, right?)

      10 years ago new releases of MS Office bloatware was driving the PC upgrade cycle, now its Web Apps and ordinary websites that have been unnecessarily 'appified'

      You're leaving out a big one: entertainment, specifically games. In addition new technology such as DVD, Bluray, data interfaces (USB 3.0) factors in too. I however agree with you, plenty of sites are one trick ponies that in the days past would've been a small program are now a web 2.0 site... which will generate insults seemingly using as many technologies and 3rd party service mashups as possible.

      --
      Man blir trött av att gå och göra ingenting.
    36. Re:How about neither? by steelfood · · Score: 1

      I'm sorry you're getting old, but things change whether you want them to or not.

      Things change, but nobody says it's always for the better.

      And then, there's the paperless office. Remember that? Thirty-five years later, and I don't know a single office (outside of some "home office" or what might pass as one) that doesn't have a printer, copier, or both. Even that this rate of technological progression, I'm doubtful I'll see it in my lifetime (even assuming a life expectancy of 100 years).

      Anyway, I digress. Today, it might be a great idea to put everything into the cloud. Who knows if that'll hold true for tomorrow? But then again, who says your JS engine of today is limited to displaying information streamed to you from a central server? It can also be used to write a GUI for a local OS-agnostic application.

      --
      "If a nation expects to be ignorant and free in a state of civilization, it expects what never was and never will be."
    37. Re:How about neither? by Anonymous Coward · · Score: 0

      God damn you must be one hell of a retarded linux muppet.

      How can you be this stupid?

      Ever heard about deployment? Not even once?

    38. Re:How about neither? by Anonymous Coward · · Score: 0

      Sorry, but: the web is 'by design' for documents. If storing and displaying data its the intention design something for that... don't shoehorn badly implemented imitations of the 70s graphic terminals on buggy document viewers. To latter be crying because of stupid cross site scripted bugs and sql injections, that can append only because of unclear thinking driven by commercial interest and proper engineering be dammed. Custom Qt Quick clients (js enabled and https traffic), are much better than any amount of ajax over any webbrowser (and the ugly stack behind)

    39. Re:How about neither? by arth1 · · Score: 1

      You have obviously never seen gwt (google web toolkit).
      You get one humongous javascript app per supported browser per language.
      Welcome to bandwidth and debugging nightmare.

    40. Re:How about neither? by kestasjk · · Score: 1

      I agree totally. For example instead of having discussions on websites we should have separate applications and protocols for them.

      e.g. for news and news discussions I'm working on an application-based alternative to these websites; it'll even have it's own protocol which I'm calling "network news transfer protocol". It's the way of the future I think.

      --
      // MD_Update(&m,buf,j);
    41. Re:How about neither? by Anonymous Coward · · Score: 0

      Whit proper engineering?

      1.- Portable (xcopy install) component based executables that download plug-in updates (your app is the plug-in) done to death. easy (i did it in the 90s with atl and vb6)
      2.- You know it all ready. (native app using https) sure see #1

      Native apps are better, but distributed runtime support wasn't turnkey... so only teams with some architecture and brains did it properly. Wasn't out of the box and wasn't expected so almost nobody did it. Now is expected, and current web solutions are not that great... actually native apps have better roi and give less problems to keep running. Does not exist "the webbrowser" like some magical universal client, what exist is a bunch of bug prone and in several ways incompatible consumers of documents in ugly formats (css,xml,js,html) that should be wrestled by interpreted code. The usual back end stack isn't better. Sorry if i am not impressed

    42. Re:How about neither? by moonbender · · Score: 2

      No. The two aren't as separable as some geeks would like them to be. Politics/law shape technology; technology shapes politics/law. And in both directions, the influence is significant. Of course there are segments of technology (and politics) where this is less important than for others.

      --
      Switch back to Slashdot's D1 system.
    43. Re:How about neither? by murdocj · · Score: 1

      And yet, when you go to a decently designed web page that isn't crawling with video, popups, images, javascript, and other crap, you enjoy the experience, unlike the typical experience where everything your cursor happens to hover over goes off and fetches something off the web. There's value in using the web properly instead of thinking that javascript / video / images / etc are the end all and be all of the web.

    44. Re:How about neither? by syockit · · Score: 1

      You know how many media players these days have built-in "libraries", where they'd store their own redundant copy of the media in their own folder for easy organization? Other softwares can imitate that too. Imagine, no more file browsing in your Office app! Only "document" browsing

      --
      Democracy is for the people; you only vote once per season and we'll do the rest of the work for you don't have to.
    45. Re:How about neither? by FlyingGuy · · Score: 2

      Because HTML / CSS are the hugest kludge ever. Get it, EVER!!!!!

      The controls suck ditch water, the implementation is without a doubt completely sophomoric and having to contain divs with divs within spans within divs and having to have just the right CSS reset file to make fucking CSS work right, having to jump through insane hoops with CSS which has the most ASS syntax imaginable just to make a pull down menu work correctly completely exposes the utter stupidity of its designers.

      The DOM is the worst bit of cruft I have seen in 25 years of software work, the tools for debugging it are atrocious to non existent and the fact that asshats like the idiots in Redmond still wont go along with what everyone else is trying to do so that the whole fucking steaming pile might actually one day make sense simply spells out that it is completely and utterly broken.

      Applications need to be broken away the whole html/css/js and a program needs to be written that will actually make applications work. It needs data aware controls that are an exact match to the OS they are running on and it is completely doable, today.

      --
      Hey KID! Yeah you, get the fuck off my lawn!
    46. Re:How about neither? by Anonymous Coward · · Score: 0

      So... what does Oracle have to do with Obamacare and accessing Flash on my iPhone?

    47. Re:How about neither? by 91degrees · · Score: 1

      What's "a cumbersome install process"?

      Download, save, run, select location, run, configure. It's a bit of a faff considering I want results now.

      I hate those helpful suggestions Google wants to pop up. I disable them by changing the user agent string.

      Most people like them. Eliminating javascript for the small minority who don't would be a little perverse.

    48. Re:How about neither? by Anonymous Coward · · Score: 0

      The web is reasonably cross-platform and easy to deploy, and for simple stuff, often easier to develop as well.

    49. Re:How about neither? by Max_W · · Score: 1

      I agree. I used to work with native application. It was a nightmare. It could be installed on 99 PCs, and then on one it could not. It asked for an another version of DLL, reported a missing DLL, or just gave a cryptic error message.

      Let alone thin clients. Installing native applications on thin clients is just a swan song.

      We moved to HTTP server application and never looked back.

    50. Re:How about neither? by Max_W · · Score: 1

      This is really funny!!!

    51. Re:How about neither? by Anonymous Coward · · Score: 0

      http://www.google.com/transparencyreport/governmentrequests/US/

      Check out the 'User Data Requests' section. Notice no terms such as 'court order required', only 'as part of criminal investigations'.

      Notice 4,601 requests were made by US law enforcement and government officials between July - December 2010. Google complied with 94% of those requests.

      This seems to me like police are pretty much just asking for user data, and Google is pretty much giving it to them.

    52. Re:How about neither? by DarwinSurvivor · · Score: 1

      Viewing multimedia on the web without [a client-side programming language|JavaScript] would be an [unenjoyable|frustrating|non-interactive] experience.

      Really? Because the html video/audio tags along with good old img seem to work BEAUTIFULLY without javascript.

    53. Re:How about neither? by Anonymous Coward · · Score: 0

      You tend to mix two different problems (deployement vs native) : Native apps where stateful by their own, while web apps are stateless, and statelessness is PITA. You could have (in fact you already have, Flash beeing an example) the best of both worlds it you put back the statefulness of the apps in the client side instead of the server side. And this can be done without losing ease of deployment.

      A stateful, rich client, running locally, using remote resources but deployed easily, this is what Flash is.

      But Flash grounded up from the graphic world, this is why it's a really bad solution (plus it is closed source). W3C and others should have normalized a rich statefull client protocol/api/encrypted language, you named it FOR AGES. Instead they still push ecmascript, html, css as the sole solution. Of course you can put the statefullness on the client side with Javascript. But how do you protect your code for closed applications ? What is the available tools (visual design, debugging, remote debugging) ? How to you deal with differents javascript runtimes / browsers ? Of course you deploy easily, but do you deploy easily thousands of browsers in a big company ? To be clear, where is the added value of the runtime environment ? None. From 1997 to 2011 to get a solution (jquery) to erase the differences.

      Another way beeing the Cytrix way, native apps running on servers but beeing real native apps, and deployed widely throught a browser plugin.

      And this is why I used to program complex multiclient business applications with very rich forms generators (Macintosh, 1990, 4th Dimension) 20 years ago, and now I spend my whole life to code nightmares of html/jquery forms with text editors. Is this the future ? Fuck.

      Native apps were the key, they were good, but the hype forced me to make a giant step back. And the story is not finished, they still have a lot of money to do with wrong solutions (the last one putting the previous in the trash - do you coffee ?).

    54. Re:How about neither? by Anonymous Coward · · Score: 0

      How you got a score of 3 beats me. I'd give you -99.
      You seem to start by mistaking the implementation with the standard and then still hate Redmond for bad implementation.
      You having 25 years of software experience makes me think you haven't grown a lot in those 25 years and also that you hate it that people don't program with a soldering iron anymore.
      Unless you give us some arguments, your discourse seems to the be in the "get those pesky kids of my lawn" category, so shut up and pack for the retirement home.

    55. Re:How about neither? by paxcoder · · Score: 1

      Multimedia isn't simply video. But consider "just" video, and client-side scripting gives you: Better control in the form of chapters for example, interactivity with annotations (though their untasteful use can be annoying), subtitles, better buffering to save bandiwdth, filters - to attach CSS to events at least. There's really a whole range of things if you think about it.
      Granted, you can always build a desktop client to do this, but we're talking web. Cramming the above-said features into the markup language itself is just unnatural. Eventually, it'll become so complex you'd wish you've just had your scripting language (or you'll end up with and XML-based scripting language *frowns*).
      Having a real programming language pre-enables you to implement whatever new concept might appear in the future as well. For example, see this: http://news.stanford.edu/news/2011/june/classx-video-processing-062811.html

    56. Re:How about neither? by Anonymous Coward · · Score: 0

      Drop the "BEAUTIFULLY".

      As in "Good old img seem to work without javascript".

      And with javascript you've got a chance to, say, make good old img into a usable gallery with previews instead of squinting at thumbs and opening dozens of tabs to find the one you need or scrolling through megabytes of full-sized images loaded all at once.

      But you know what's most beatiful? You can have the old-style thumbs gallery for damn-them-kids-and-their-fancy-JS types and have JS transform it into BEATIFUL gallery for those who prefer comfort.

    57. Re:How about neither? by GameboyRMH · · Score: 1

      Yeah we'll just ditch the platform-independent web and lose all web applications. So what's your One True Platform of choice? iOS on ARM I assume?

      --
      "When information is power, privacy is freedom" - Jah-Wren Ryel
    58. Re:How about neither? by l0b0 · · Score: 1

      Seems to me this is why real OSes have a repository of third-party software, to be downloaded about as quickly as you can find the page within a government web site. What am I saying - Quicker.

    59. Re:How about neither? by Anonymous Coward · · Score: 0

      Leave the web for documents. Run applications natively. Why is this so hard?

      So what you're really saying is, leave the web for documents, run applications in native Win32. Fuck Linux. Fuck Macs. Fuck phones. Nobody should be using anything other than Windows.

      Because native apps, in the real world, means Windows apps.

    60. Re:How about neither? by Anonymous Coward · · Score: 0

      In case you missed it, the phones now have "apps" in large part because the web failed and only works on PCs.

    61. Re:How about neither? by master_p · · Score: 1

      Deployment of native apps could be just as easy as web apps if they used a lazy download component mechanism in the core executable. The executable, when run, it would check if the main applicaion's component is present, and if not, it would download it and install it in a specific position. Further components could be downloaded and updated in the exact same way.

    62. Re:How about neither? by irwiss · · Score: 1

      I'm on an iPad right now and when I have to remember which of the 300 apps I have opens a particular "optimized" site it's a pita, so let's leave the web for what it's been doing for a while now.

    63. Re:How about neither? by Lisias · · Score: 1

      please note the double-quotes. :-)

      I totally agree with you. The quoted text are the public excuse to disguise the real reason.

      --
      Lisias@Earth.SolarSystem.OrionArm.MilkyWay.Local.Virgo.Universe.org
    64. Re:How about neither? by Anonymous Coward · · Score: 0

      bullshit

      It's more like making me provide accomodation
      for a fleet of winebagos each with a jacuzzi,
      piano lounge, five thousand pounds of dingle balls,
      and five man crew when all I wanted was a letter
      delivered.

    65. Re:How about neither? by Archangel+Michael · · Score: 1

      HHS is just like the others you mentioned. You just want ObamaCare, so to lets not let the facts get in the way of your politics, right?

      --
      Agent K: A *person* is smart. People are dumb, stupid, panicky animals, and you know it.
    66. Re:How about neither? by mgiuca · · Score: 1

      Because developers all over the world are currently making a choice, hundreds of thousands of times over: do I write a) an application that will run in web browsers on every desktop and mobile device that has been manufactured in the past 5 years by every vendor, or b) an application that will require approval by Apple and run only on iOS devices, and now a separate application that will run only on Android devices?

      The majority of them, for various reasons, are choosing (b), despite that being seemingly far more expensive and with the potential to reach far fewer people. Some applications simply don't work in the web browser. But for those that do, why wouldn't you choose (a)?

      (Yes, I understand, the technologies HTML+CSS+JavaScript were not designed with this use case in mind, so it is "a hack" that that is what they are being used for. But does that really matter? Developing for this platform is pretty awkward, but it is so worth it, considering that you have a universal program interpreter on every device.)

    67. Re:How about neither? by Eponymous+Hero · · Score: 1

      they are necessary for consuming documents in a manner in which html was not designed, which happens to be what consumers have been demanding. for instance, viewing several different blocks of dynamic content in a page without changing the URL or making a synchronous page request. i sometimes wonder if i'm the only one who realizes that javascript, css, flash, and server-side languages are all just ways of hacking the browser to make web sites act more like desktop apps. people want web sites to behave in ways the browser was never intended to allow. it's all a hack. the smartphone app model is the only thing that actually resembles how people want to use the web, and yet it's only on the smallest personal computers we can buy. stupid stupid stupid. and no, html5 will not help, or replace flash, in its current state. wishful thinking.

      --
      insensitive clod overlords obligatory xkcd car analogy russian reversals whoosh pedant fanbois ftfy in 3...2...1..PROFIT
    68. Re:How about neither? by Anonymous Coward · · Score: 0

      Bingo.

  4. Oh Lord... by Anonymous Coward · · Score: 0

    Please, kill it with fire! And maybe some brimstone too.

  5. What failings? by Anonymous Coward · · Score: 1

    What failings? I believe that there are some, but why not mention what they are, instead of just throwing it out there as an abstract concept?

    Also, it's clearly a reasonable programming language. It's not logically broken and it's quite usable, so how can there be actual limitations? It can modify the DOM in any way a programmer could imagine. What's the problem? Performance?

    1. Re:What failings? by the+linux+geek · · Score: 1

      No block-level scope. No threads. No support for strong typing. No inheritance.

    2. Re:What failings? by Ibiwan · · Score: 1, Funny

      Lame.

      --
      -- //no comment
    3. Re:What failings? by blair1q · · Score: 1

      What we need, then, is interpreted C++.

    4. Re:What failings? by Suiggy · · Score: 1

      JavaScript emerged out of a process focusing on appeasing the masses of web developers with features without much regard for how the end result would turn out. It has some major problems regarding performance, scalability across multiple cores, ease of maintenance and debug-ability that can't really be overcome with better implementations and tools.

      People like to talk a lot about moving everything to the browser, replacing traditional applications development, but that's just not going to happen with JavaScript at the helm.

    5. Re:What failings? by Anonymous Coward · · Score: 2, Funny

      You shut your mouth! You shut your GODDAMNED MOUTH!

    6. Re:What failings? by larry+bagina · · Score: 2, Informative

      HTML5 has worker threads. Javascript does have prototype inheritance.

      --
      Do you even lift?

      These aren't the 'roids you're looking for.

    7. Re:What failings? by BZ · · Score: 1

      Scalability I'll grant you, though that's what Intel is working on.

      What are the major performance and debug-ability problems that cannot be overcome with better implementations and tools?

      What are the major ease of maintenance issues that are not being addressed by ongoing language evolution (e.g. addition of namespacing, modules, etc)?

    8. Re:What failings? by Synerg1y · · Score: 0

      Lol, you trying to build a web application with javascript or something? I hear mcdonalds is hiring.

    9. Re:What failings? by aztracker1 · · Score: 1

      Single threading is appropriate enough for most client-side applications, and web workers can be implemented across thread (processor) boundaries. As far as maintenance, this comes down to due dilligence, as with any interpreted environment (like Ruby or PHP, not that I favor either of them, there are good maintainable projects, and bad/difficult ones. Performance has been reasonable on modern hardware for some time... It's often the rendering engine itself that slows things down, or not stacking changes, and forcing re-flow too frequently, which some new events are helping to resolve. A lot of the issues are more with the DOM implementation over JS as a language. Beyond this, JS isn't really at the helm so much as a waiter/waitress taking and processing orders from the kitchen (server).

      The hardest part in terms of web application development has been the need for knowledge of HTML, CSS, JS, HTTP, Backend Language, Backend Platform, Data Source... That's seven differing and divergent technologies to have awareness of. I'm favoring JS on the backend via node, and MongoDB as a data source. This at least reduces some of the knowledge required, and makes interacting across the application Teirs more effective. Save for maybe Silverlight+.Net, no other language/platform comes nearly as close.

      It's not now, and never will be a panacea, but it could get better. Swimming against a wave usually doesn't work so well.

      --
      Michael J. Ryan - tracker1.info
    10. Re:What failings? by wsxyz · · Score: 1

      No block-level scope. No threads. No support for strong typing. No inheritance.

      Threads are evil. Function scope is better than block scope. Strong typing sucks. Class hierarchies suck.

      anything else?

    11. Re:What failings? by Pieroxy · · Score: 2

      Wrong on three counts (should I say two and a half?). Not bad.

      Support for threads is coming (already there in some browsers).
      There is block level scope since JavaScript 1.7
      There is inheritance, since day one.

      No strong typing, granted.

    12. Re:What failings? by modmans2ndcoming · · Score: 1

      Haven't had your software engineering class yet huh?

    13. Re:What failings? by modmans2ndcoming · · Score: 1

      Perhaps he should have said that JavaScript fails miserably at abstraction?

    14. Re:What failings? by wsxyz · · Score: 1

      In reverse time, I haven't had it yet 20 years from now.
      Closure solves the problems better.

    15. Re:What failings? by wsxyz · · Score: 1

      Perhaps you don't know what you are talking about.

    16. Re:What failings? by shutdown+-p+now · · Score: 1

      There is block level scope since JavaScript 1.7

      Only if by "JavaScript" you mean "Mozilla's dialect of EcmaScript" - which, arguably, is the correct definition, but in practice very pedantic and not used by pretty much anyone. Standard EcmaScript - the one portable between implementations such as browsers - does not have block scope. It will almost certainly get it in Harmony, but we aren't there yet.

    17. Re:What failings? by modmans2ndcoming · · Score: 1

      perhaps I do and you fail at understanding abstraction.

    18. Re:What failings? by Pieroxy · · Score: 1

      Perhaps you're just as ignorant in JavaScript as you are in abstraction.

      WTF do you mean by abstraction by the way? Do you even know how it relates to a programming language? ALL programming languages do abstraction. The higher level they are, the more they abstract. It seems that JavaScript is too low level for you? Is that really your claim?

    19. Re:What failings? by modmans2ndcoming · · Score: 1

      Please tell me how in Javascript I can separate the interface of an abstract data type from the implementation of the ADT.

    20. Re:What failings? by LingNoi · · Score: 1

      There are plenty of issues, if you think there are none then you simply haven't done enough javascript coding.

      The this object for a start doesn't always refer to the class you're in as it depends of what is calling it. The fact that a variable can be either null, undefined, etc which means you always need to annoyingly create large boilerplate if statements. The whole "var" keyword which gets complicated depending upon which scope you're in. All the backwards compatible crap that's been carried forward for a decade.

      Well those are my pet peeves. Yes, you can work around all these problems, the point is you shouldn't have to.

    21. Re:What failings? by LingNoi · · Score: 1

      JavaScript emerged out of a process focusing on appeasing the masses of web developers with features without much regard for how the end result would turn out.

      I don't think web developers have had any say in the process until recently. It seems like more a situation where the browser makes have just thought "this'll make a cool feature" and stuck it in the browser.

    22. Re:What failings? by Pieroxy · · Score: 1

      JavaScript being loosely typed, your concept of abstract data type doesn't even apply. You can consider any object as being of any types, and the "beauty" (or "horror" depending on your religion) is that you don't need abstract data types. Of course, being loosely typed, any error will show up at runtime instead of compile/parsing time.

      In Java, you define superclasses, abstract classes and interfaces. In Javascript, you don't need to declare them. Just go with it the instance, and consider it as whatever object you need.

      So, by your example, JavaScript is *much* more abstract than Java.

      Any other examples?

    23. Re:What failings? by modmans2ndcoming · · Score: 1

      Are you kidding me?

      More abstract? I think you fail at understanding the implications of that word in Software Engineering.

      You cannot be abstract and have your design be built into your implementation.

    24. Re:What failings? by Pieroxy · · Score: 1

      To have your design not built in your implementation means no implementation. Or no design. Or neither.

      There is a level of separation in most languages called interfaces, abstract classes or simply just inheritance (Java terminology here). It allows to separate design from implementation. But the implementation is still geared toward the specific design you're working with. Otherwise there is no sense. The abstraction just makes it more readable, and discard the need from boilerplate code by casting objects back and forth.

      JavaScript doesn't allow this separation, but by the very nature of JavaScript, it is not needed.

      Maybe I don't get it, but you don't either. So either provide an example of something you can't do in JavaScript (and feel the need to be able to do) or just shut up.

      Thanks.

    25. Re:What failings? by modmans2ndcoming · · Score: 1

      JavaScript, being Turing complete can IMPLIMENT anything you wish to, however we are talking about engineering here and as you just validated, design can not be seperated from implimentatin. You obviously do not care about that but it is vital to any modern complex development project if you want to come in on time and on budget. And while I am sure you will disagree, it still does not make mewrong.

  6. KILL by qbast · · Score: 1

    Kill it, bury it, salt the earth.

  7. JavaScript fulfills its mission pretty well by smagruder · · Score: 5, Insightful

    If someone wants to add to its mission, or write a client-side language with a different mission, go for it.

    But a lot of the web is running nicely with JavaScript, and pulling out the JavaScript rug from web developers and website owners is really not an option.

    Let's call for some pragmatism here, shall we?

    --
    Steve Magruder, Metro Foodist
    1. Re:JavaScript fulfills its mission pretty well by modmans2ndcoming · · Score: 1

      people that live in shit tend to be completely unaware of their conditions.

    2. Re:JavaScript fulfills its mission pretty well by Anonymous Coward · · Score: 0

      The pragmatic approach appears to involve adding features to the language that aren't necessarily consistent with the original language. This give people two options:
      1) ignore the bad parts - define a subset of Javascript as a decent language
      2) write another language that compiles into Javascript - the coffeescript approach will be much more interesting when javascript has new features like private fields and 'super' calls to 'parent' methods. The language sitting above Javascript won't have to have javascript-like limitations.

    3. Re:JavaScript fulfills its mission pretty well by wsxyz · · Score: 1

      How ironic that you are the one saying that...

    4. Re:JavaScript fulfills its mission pretty well by Anonymous Coward · · Score: 0

      > Let's call for some pragmatism here, shall we?

      You're right -- let's strangle AND stab it to death.

    5. Re:JavaScript fulfills its mission pretty well by Anonymous Coward · · Score: 0

      The problem is precisely that the web is NOT running "nicely" with Javascript, it regularly breaks in parts when you update your browser, is limited on what it can do (e.g., long-lived connections are a very poor replacement for sockets proper), can not be made to run much faster than it currently does (the type system, or lack thereof, limits the scope of possible machine-code optimizations) limiting the range and functionality of applications that can be cost-effectively deployed to the browser. Not to mention the questionable economics of investing a large chunk of cash to develop a product that then has to be supplied in its entirety in source-code form to the browser and without any viable mechanism to prevent unauthorized, piecemeal copying, appropriation and redistribution.
      Javascript does rather well for what is all around a quick, overgrown hack. But professional development and industrial-strength applications need a more solid foundation to enable full exploitation of the computer hardware from the browser. The way of the future is certainly not the way of the past.

    6. Re:JavaScript fulfills its mission pretty well by Travelsonic · · Score: 1

      Funny, he never gave indication of anything related to him that could be used to gather potential irony like that.

      --
      If you believe in privacy, and believe you have "nothing to hide" at the same time, you're a goddammed idiot
  8. We want some... by Anonymous Coward · · Score: 0

    B L O O D !

  9. here we go again by Captain+Arr+Morgan · · Score: 1

    This summery throws into sharp relief the typical misconception of Javascript. The language is not the limiting factor, its the browsers that implement it. Dart will do nothing more then fragment this even further.

    1. Re:here we go again by Anonymous Coward · · Score: 1

      This summery throws into sharp relief the typical misconception of Javascript. The language is not the limiting factor, its the browsers that implement it. Dart will do nothing more then fragment this even further.

      Oh please, assembly languages don't have limiting factors, except when you start designing programs with thousands or hundred of thousands or million of lines of code. Same thing with Javascript, it not an obscene language, but it doesn't scale at all for the kind of software projects that people are thinking of throwing on the web.
      Yes, doing some basic scripting in javascript is all good and dandy; developping complex applications in javascript is like standing on the edge of a 300 foot cliff. Not good, not good at all.

    2. Re:here we go again by Captain+Arr+Morgan · · Score: 1

      Welp, I don't know what I have been doing wrong for the last 5 years but I seem to have little problem making large scale, desktop quality applications in Javascript. With frameworks like ExtJS available it even easy now. Maybe you are just not a very good JS developer?

    3. Re:here we go again by modmans2ndcoming · · Score: 1

      mind if I see some of those UML documents you used to help engineer those programs?

    4. Re:here we go again by Captain+Arr+Morgan · · Score: 1

      Seriously? It is that hard to understand that large scale well written programs can be accomplished in JS? I guess you click the 'Load HTML version' link on gmail (or equivalent)? And on a side note, I program not engineer. Maybe thats the problem,... everyone is trying to engineer with JS.

    5. Re:here we go again by modmans2ndcoming · · Score: 1

      you are not writing large scale applications if you are not engineering... the complexity and need for maintenance of a serious large scale software systems requires Engineering.

      Also... Google used GWT to develop their applications which compiles Java to Javascript....they do that because Java (while I hate it with every breath) provides the language tools necessarily for proper engineering, where as Javascript does not.

      At best... Javascript is the assembly language of the web...at worst...it is the BASIC of the web.

    6. Re:here we go again by badkarmadayaccount · · Score: 1

      What does Java provide?

      --
      I know tobacco is bad for you, so I smoke weed with crack.
    7. Re:here we go again by modmans2ndcoming · · Score: 1

      proper modularization, Strong typing, separation of interface and implementation.... in short, Java gives the software engineer all the language features needed to support the principles of software engineering.

  10. Can you even kill an Internet standard? by pwileyii · · Score: 1

    Patching it is the easier route and the one that will happen, because it is what people will accept. Look at nearly all Internet standards that we will see that is the case. SSL/TLS, IPv4, HTML, SMTP, WEP (is still supported by nearly all wireless APs) etc. Has an Internet standard EVER been successfully killed?

    1. Re:Can you even kill an Internet standard? by Ragun · · Score: 1

      Sure standards can die, but it will take disuse for a longer period than the internet has been introduced.

    2. Re:Can you even kill an Internet standard? by smagruder · · Score: 1

      Is Gopher still around? :)

      --
      Steve Magruder, Metro Foodist
    3. Re:Can you even kill an Internet standard? by aztracker1 · · Score: 1

      Straight FTP use is pretty minimal as well. I believe there are still gopher sites out there... Though IIRC support has been removed in the last 5 years or so from most of the browsers.

      --
      Michael J. Ryan - tracker1.info
    4. Re:Can you even kill an Internet standard? by ickleberry · · Score: 1

      Indeed it is, about 200 servers run by mostly hobbyists and some universities

  11. Yay, Flash is Dead! by krotscheck · · Score: 2, Insightful

    Now we can all switch to using Javascri... oh. Crap.

    --
    This signature can save you $400 on your car insurance!
    1. Re:Yay, Flash is Dead! by sneakyimp · · Score: 2

      mod parent up. If all these cavemen want to go back to the days before reliable client-side scripting, let them all adopt IE 6!

  12. If there's a greener pasture by blair1q · · Score: 1

    If there's a greener pasture, someone with resources similar to those possessed by the original javascript developers would be seeding it.

    Now, knowing what we know about how fugly Javascript is, the question is: why hasn't anyone replaced it yet?

    1. Re:If there's a greener pasture by Anonymous Coward · · Score: 0

      Now, knowing what we know about how fugly Javascript is, the question is: why hasn't anyone replaced it yet?

      In order to replace JavaScript, you have to offer an alternative. For years, the browser vendors were limited to Netscape/Mozilla (responsible for introducing JavaScript to the client side) and Microsoft (who just didn't care.) Now, we finally have a browser vendor that actually does significant product development in web client-side languages.

      Basically, the "why now?" question comes down to Google having put in an unprecedented effort to make JavaScript actually work going forward and having figured out that it, basically, doesn't. If we still had the Microsoft/Mozilla duopoly, there would be no one to care about this with any power to change it and developers would be forced to endure the pain that is currently the norm.

    2. Re:If there's a greener pasture by Anonymous Coward · · Score: 0

      Although I don't have much ruby experience, I've always thought ruby would make a pretty good replacement for JS. It is still dynamic, which would allow you to cope with all the various browser differences. Gems would allow for package management, which is one of the most glaring shortcomings of JS these days. I think it would have to be somewhat smarter so that each application could use a different version of the gems, but this could be handled by publishing manifests with each package similar to the way .Net handles it (think GAC, strong named references, and binding redirects).

  13. Why kill it? by drobety · · Score: 2

    I like Javascript, it allowed me to code without having to install big fancy development platform. Given how widespread it has become, I fail to see how killing it make any sense. I don't care about dogma, I care about reality.

    1. Re:Why kill it? by betterunixthanunix · · Score: 1

      I like Javascript, it allowed me to code without having to install big fancy development platform.

      So would a number of other and largely better programming languages.

      --
      Palm trees and 8
    2. Re:Why kill it? by Anonymous Coward · · Score: 0

      JS is a Scripting language, not a Programming language.

    3. Re:Why kill it? by smagruder · · Score: 1

      Talk about splitting hairs. Jeez.

      --
      Steve Magruder, Metro Foodist
    4. Re:Why kill it? by Anonymous Coward · · Score: 0

      They're not killing it, just trying to provide a superior alternative. Javascript will hang around forever like ASCII or x86.

    5. Re:Why kill it? by Anonymous Coward · · Score: 0

      Turing says otherwise.

    6. Re:Why kill it? by LingNoi · · Score: 1

      A scripting language, script language, or extension language is a programming language that allows control of one or more applications.

      http://en.wikipedia.org/wiki/Scripting_language

  14. Standardize a VM. by Anonymous Coward · · Score: 0

    Replace it with some kind of VM. It's ridiculous that the entirity of the web should be forced to be written in some baroque monstrosity (or, in the "best" case, get compiled to that monstrosity).

  15. Why stop at Javascript? by Ragun · · Score: 2

    JavaScript was meant to manipulate documents, and is used to make those documents into applications.

    Lets just throw out HTML altogether and come up with a new language to make the client side section of web apps with. HTML was never envisioned to do this.

    1. Re:Why stop at Javascript? by Anonymous Coward · · Score: 2, Funny

      Great idea! Maybe some sort of an eXtendible Mark up Language....

    2. Re:Why stop at Javascript? by MichaelusWF · · Score: 2

      A good idea, but here's what that will accomplish: http://xkcd.com/927/

    3. Re:Why stop at Javascript? by Ragun · · Score: 1

      What? Nonsense. Thats just a more flexible document. I am talking about going to web based app/applet delivery.

    4. Re:Why stop at Javascript? by Anonymous Coward · · Score: 0

      XAML says, "Hi."

    5. Re:Why stop at Javascript? by Ragun · · Score: 1

      Closer, but this still looks like a way to give object descriptions. we need logic in the base language sent over http.

    6. Re:Why stop at Javascript? by reiisi · · Score: 1

      I've also wanted to do that for a long time.

      Been working on an engine for it, but I can't seem to break out the time to push it beyond a poor implementation of FORTH.

      Probably should spend less time on slashdot and groklaw.

      --
      Computer memory is just fancy paper, CPUs just fancy pens with fancy erasers; the 'net is just a fancy backyard fence.
    7. Re:Why stop at Javascript? by syockit · · Score: 1

      So what do you suggest to use for communicating data between client and server? JSON?

      --
      Democracy is for the people; you only vote once per season and we'll do the rest of the work for you don't have to.
  16. We hated flash then too. We've always hated flash by Anonymous Coward · · Score: 0

    Why back in my day when we discussing whether or not we should increase our websites standard aspect ratio from 640X480 to 800X600, we hated flash then too...but designers loved it cause it was pretty.

  17. The unpopular vote by gadzook33 · · Score: 3, Interesting

    I know I'm going to get banned from /. for all time, but can we talk about something like Silverlight please? It's a dream to program for and it does all the stuff that we wish javascript did. Ok, begin anti-M$ rhetoric.......now

    1. Re:The unpopular vote by Microlith · · Score: 4, Insightful

      Soon as Microsoft surrenders language and library development to a 3rd party that operates in an open manner and allows any and all uses without royalty requirements.

      As it stands? No way. That's just handing Microsoft what they've always wanted.

    2. Re:The unpopular vote by Ragun · · Score: 2

      I think you answered your own question.

      How on earth is a standard supposed to spread when everyone and their mother distrusts the people producing it? No one trusts them to contribute to the field without some kind of nasty lock-in, and their is a reason for that distrust.

    3. Re:The unpopular vote by Anonymous Coward · · Score: 0

      Try using something other than windows, like a serious solid secure OS. Then come back how you got on implementing Silvershite.

    4. Re:The unpopular vote by Anonymous Coward · · Score: 0

      It's not MS that we hate, it's their practices. We want it to be open source, they made it shared source. We want it to be patent-free, they made it patent-encumbered. We want it to be cross-platform, they made a UNIX proof-of-concept and then used their IP to prevent a full implementation from ever being made, so the Windows versions would always be better. Are you proposing that we adopt Silverlight in spite of these things, or are you proposing that MS cleans up its act and starts playing nicely? We're all on your side if you mean the latter. I really hope you don't mean "Let's start using it now and hope MS plays nicely in the future." We've all been burned too many times to believe that. Who do you think created this whole Javascript mess anyway? That's right, most Javascript implementations are very similar with one very notable exception by ...wait for it ...MS.

    5. Re:The unpopular vote by sensationull · · Score: 0

      Your right, Silverlight is very simple to code for and comparitivly very efficient but as it did not spring to 110% marketshare in the expected twenty seconds Balmer is refocusing away from it on everything but Windows Phone.

      I think a lot of the reason for this is that many of the web developers are either Apple followers or OSS fundementalists both of which have an irrational hatred of anything MS no matter how well it works.

    6. Re:The unpopular vote by lucm · · Score: 0

      Silverlight is awesome in a controlled environment, such as an intranet. But in the wild, there are still too many fashion victims buying overpriced white computers and using braindead browsers to make this an effective solution.

      --
      lucm, indeed.
    7. Re:The unpopular vote by Anonymous Coward · · Score: 0

      I have to (grudgingly) vote in favour of Silverlight. My first impression was wtf? yet another standard.

      But from the db (Linq) to the client its c# all the way baby. And yes, it runs on Linux via Mono.

    8. Re:The unpopular vote by drobety · · Score: 1

      which have an irrational hatred of anything MS

      Funny you say that, I've always felt it was rather MS who hated me tremendously (hence I stopped nurturing MS's hate toward me by keeping a healthy distance between me and its stuff, through which it was expressing its hate toward me)

    9. Re:The unpopular vote by Anonymous Coward · · Score: 0

      .. or the other thing-that-should-not-be-named: Flash/Flex

      Silverlight is just MS's embrace/extend version of Flash/Flex. Much like C# benefited from experienced gained in Java, Silverlight benefits from experience gained in Flash/Flex for improvements and refinements -- but at the end of the day it's essentially the same beast:

      * Runtime Sandbox with bytecode and JIT (Silverlight runtime and Flash runtime)
      * Imperative language for behavior (C#/VB for SL, Actionscript for Flex)
      * Declarative language for layout (XML for both)

      Essentially the same model as a java applet, except not epic fail like java applets.

    10. Re:The unpopular vote by smagruder · · Score: 1

      Perceived technical superiority is not the only reason to use a particular technology. Whether something is a true and wide standard is important. Whether a developer is locked into a vendor's clutches is important. Whether the open technology is "good enough" is important.

      --
      Steve Magruder, Metro Foodist
    11. Re:The unpopular vote by cyber-vandal · · Score: 1

      Can you run the full version of .NET on any platform but Windows? If the answer is no then perhaps the reason why Apple and OSS fundamentalists refuse to develop for Silverlight is because they don't feel like paying Microsoft for a Windows license that they otherwise don't want or need. By the way most of the Microsoft non-fundamentalists aren't using Silverlight either.

    12. Re:The unpopular vote by Anonymous Coward · · Score: 0

      So target Moonlight, then. Third party, open, libre and gratis, and no royalties. Plus, on occasion, they've even been ahead of the MS implementation...

    13. Re:The unpopular vote by Anonymous Coward · · Score: 0

      Golly gee, I wonder why so many web developers developed a deep-seated hatred for Microsoft?

      Must be a coincidence, or possibly a conspiracy.

    14. Re:The unpopular vote by Anonymous Coward · · Score: 0

      the depressing thing is no MSFT hates silverlight too :-(

    15. Re:The unpopular vote by Anonymous Coward · · Score: 0

      I'm right there with you. Having used silverlight, flash(action script), and javascript, I have to say that I really wish something as well built as silverlight was put into the hands of anyone but MS. It's like they have this crack team of developers cranking out languages and dev tools that make everything else look like banging rocks together, then upper management gets their hands on it and smears in in feces.

      Can some open source company just buy out Microsofts dev div and put them to work for the greater good?

    16. Re:The unpopular vote by sproketboy · · Score: 1

      I agree but it's dead now. Microsoft is basically a total fail.

    17. Re:The unpopular vote by shutdown+-p+now · · Score: 1

      Can you run the full version of .NET on any platform but Windows? If the answer is no then perhaps the reason why Apple and OSS fundamentalists refuse to develop for Silverlight

      These two are unrelated, since Silverlight does not run on full .NET even on Windows (hence why it also runs on OS X).

    18. Re:The unpopular vote by shutdown+-p+now · · Score: 1

      can we talk about something like Silverlight please?

      Given that it's effectively "legacy" for cross-browser, cross-platform Internet apps (which is the context of TFS) since BUILD announcements, what's there to talk about?

    19. Re:The unpopular vote by purpledinoz · · Score: 1

      It's curious why Microsoft chose to use HTML5/Javascript for Windows 8 apps instead of Silverlight. It makes me wonder if MS will drop Silverlight in a few years. It also makes me wonder if it's worth bothering with Silverlight if MS will just drop it in a few years.

    20. Re:The unpopular vote by cyber-vandal · · Score: 1

      All right let me put it another way. Is it easy to develop for Silverlight on non-Microsoft platforms? That of course includes being able to test on Internet Explorer.

    21. Re:The unpopular vote by KingMotley · · Score: 1

      Why would Microsoft need to surrender the language and library to a 3rd party?

      Granted, it *may* be useful that it operate in an open manner, to some.

      It already offers free use without royalty requirements.

    22. Re:The unpopular vote by Anonymous Coward · · Score: 0

      Serious solid secure OS? I don't see one that has less vulnerabilities and is vetted enough that more than 1% of the computers are running it.

    23. Re:The unpopular vote by KingMotley · · Score: 1

      And what else does?

    24. Re:The unpopular vote by Anonymous Coward · · Score: 0

      If you're going to suggest Silverlight then I would argue what's wrong with Flash? The thing I've never fully understood in the whole JavaScript vs Flash vs * is that surely it's better to have a browser plugin - a single common platform to base your code on as opposed to individual implementation of a spec where you end up with utter insanity, like there being no Array.forEach() in IE8...

    25. Re:The unpopular vote by shutdown+-p+now · · Score: 1

      Is it easy to develop for Silverlight on non-Microsoft platforms?

      No idea. Presumably Mono has something along these lines, but I've never tried.

      That of course includes being able to test on Internet Explorer.

      That's an interesting criterion, given that testing HTML5 on IE on a non-MS platform is just as hard. ~

      Hm. What about testing on Mobile Safari?

    26. Re:The unpopular vote by cyber-vandal · · Score: 1

      Can you or can you not develop for Silverlight on a non-MS platform? As far as I can tell you cannot. So it's not zealotry that stops people who don't own a copy of Windows from developing Silverlight applications, it's their unwillingness to pay for extra software for no advantage to them. Perhaps Microsoft should have tried to win over more than just ASP.NET developers.

    27. Re:The unpopular vote by Anonymous Coward · · Score: 0

      So, you are saying the option is for Microsoft to use open source solutions, which seem to be crippled by inefficiencies and a general lack of direction, over Microsoft's highly focused development platform which just seems to generate apps and web content more effectively then anything else I have ever seen.

      Its a dream to develop on the MS platform, its a nitemare of haphazard open "standards" and inefficient languages and IDE's for everything else, mostly because ignorant twits would rather mire themselves in sh*t then to accept Microsoft does something better then open source.

  18. Javascript is fine. The API is rotten. by Anonymous Coward · · Score: 0

    HTML with CSS is nice if you want formatted documents, but it's a horrible GUI kit.

    1. Re:Javascript is fine. The API is rotten. by Tablizer · · Score: 1

      Amen Brotha! Time to rethink GUI control and markup techniques from scratch. The Brochure-A-Tron origin of the HTML stack keeps byting us in the bits.

  19. IMHO by drolli · · Score: 1

    If you want to replace JS for the sake of its limitations, then use java or C#. Both are fully grown languages with all mechanisms and tools you would ask for, a huge programmer base, good JIT implementations and an awesome amount of code already written.

    If you have another agenda, i cant help you.

    1. Re:IMHO by jmorris42 · · Score: 1

      This! Except forget C#, too much political and patent frenzy to get a majority to come on board that disaster. But why can't a Java app be given access to the DOM of a page? Everyone already knows Java, plenty of tools exist, most browsers already support it and it just about HAS to run faster than compiled JS even with all the (rightful in my humble opinion) abuse we have heaped on Java over the years for performance issues. In this case though we are comparing Java to JS, not native C++ code. The security implications of Java are already well known and acceptable to most people. All this casting about for a new shiny when we have a well understood, capable solution just sitting there baffles me.

      Seriously, one small tweak to the HTML spec to allow loading an external Java app in place of a externally loaded JavaScript, mod the browser to expose the DOM to the applet and it's done. As good a performance as we are likely to ever see running untrusted apps in a browser, programmers can use Java which is a lot saner than JS, everybody wins. So why all this talk about reinventing the wheel? Who is set to gain? Why hasn't it happened years ago?

      --
      Democrat delenda est
    2. Re:IMHO by loufoque · · Score: 1

      Both languages are heavily patent encumbered (especially C#). Java is also already present on the web, but never took off.
      They're not even very good languages, Java in particular is very limited and mono-paradigm.

      Python might be a better idea.

    3. Re:IMHO by SiMac · · Score: 1

      What you are suggesting has existed since Netscape 4, and it's called LiveConnect. The problem is that the Java plug-in is slow as all fucking hell to start, which makes this approach very unpleasant. The other problem is that no one can make the Java plug-in any faster, because it's closed-source.

    4. Re:IMHO by smagruder · · Score: 1

      Oracle in control of Java might put a multi-level stopper to this approach. Hatred of Oracle in some quarters is even greater than that of Microsoft.

      --
      Steve Magruder, Metro Foodist
    5. Re:IMHO by drolli · · Score: 1

      dynamic typing is bad for jit performance.

      Any decent jit compiler for any language will step on the patents of others. One way to be exempt at least from oracle lawsuits is to use java.

    6. Re:IMHO by loufoque · · Score: 1

      Never heard of anyone having patent issues for C, C++, Python, Ruby, ML or Haskell.

      Java/C# are just as bad as dynamic languages. What's static in those languages is just the things that you're allowed to do with them (it only affects type checking), but actually running those functions requires a dynamic dispatch that depends on the type that is in the variable at runtime.

    7. Re:IMHO by Anonymous Coward · · Score: 0

      Fuck you and the horse you rode in on.

    8. Re:IMHO by kangsterizer · · Score: 1

      Google has another agenda. Plain and simple. Their stuff is good, but, they're driven by profit and market share, not whats good for users.
      It just happens to also be pretty good most of the time, and free (apart from the fact that you're the product being sold then), so it has quite a following.

      If everyone switched to Dart, for example, before other companies catch up, Google is going to have a say on everything that goes into Dart and it would probably stay that way a very long time.

      Right now with JS, they have to talk with Microsoft, Mozilla, Apple, the community, etc, before they add stuff (which IMO is better)

    9. Re:IMHO by shutdown+-p+now · · Score: 1

      Java is, in some respects, a language worse than JS - at least in sheer verbosity. The other annoying aspect of it is that JVM bytecode really isn't designed to run anything but Java, and it shows - you get an object model force-fed to you, no raw pointers or anything that'd let you build your own different one from scratch in an efficient way; no tail calls, so forget full blown FP, either; and so on.

      What would be nice is sticking LLVM into the browser, with full separate-process sandboxing, and exposing DOM APIs as vanilla C functions. If you have that as a base, you can build literally anything on top - JS, Java, C#, whatever - and you'd only pay perf penalty for the features that your language actually has (unlike all those Foo-to-JS translators we have today).

    10. Re:IMHO by shutdown+-p+now · · Score: 1

      Java/C# are just as bad as dynamic languages. What's static in those languages is just the things that you're allowed to do with them (it only affects type checking), but actually running those functions requires a dynamic dispatch that depends on the type that is in the variable at runtime.

      That's plainly false. Dynamic dispatch based on type of the receiver is present in all OOP languages - it's what OO polymorphism is, and it is the fundamental trait of OOP. But in statically typed languages that is normally implemented using vtables - and neither Java nor C# (when JIT-compiling to native code) are any different from C++ in that respect. This can be trivially demonstrated in case of C# by writing a simple program that makes a virtual call, and then running it under debugger that can dump raw assembly output from JIT - then it's easy to see that the call really is just loading a pointer from vtable and jumping to it.

      In contrast, dynamically typed languages like Python or JS do dynamic dispatch based not only on the type of receiver, but also on the identifier (i.e. a string lookup). This can be optimized to avoid direct string comparisons for most common branches, but it's not trivial and not foolproof.

    11. Re:IMHO by shutdown+-p+now · · Score: 1

      Both languages are heavily patent encumbered (especially C#).

      Can you name some examples of patents which encumber C# language specification?

      I mean, given that of those two languages, only one has known patent lawsuits related to it, and it's not C#, some evidence would be helpful.

    12. Re:IMHO by drolli · · Score: 1

      Ok. i specify: duck typing is bad for performance.

    13. Re:IMHO by loufoque · · Score: 1

      That's plainly false. Dynamic dispatch based on type of the receiver is present in all OOP languages - it's what OO polymorphism is, and it is the fundamental trait of OOP. But in statically typed languages that is normally implemented using vtables - and neither Java nor C# (when JIT-compiling to native code) are any different from C++ in that respect. This can be trivially demonstrated in case of C# by writing a simple program that makes a virtual call, and then running it under debugger that can dump raw assembly output from JIT - then it's easy to see that the call really is just loading a pointer from vtable and jumping to it.

      How does that make what I said false? It's exactly what I said.

      In contrast, dynamically typed languages like Python or JS do dynamic dispatch based not only on the type of receiver, but also on the identifier (i.e. a string lookup). This can be optimized to avoid direct string comparisons for most common branches, but it's not trivial and not foolproof.

      It's exactly the same in dynamically typed languages. The only difference is that all operations are allowed on all types, but the default implementation of each operation is to raise an exception.

    14. Re:IMHO by loufoque · · Score: 1

      Like I said, it's no worse than inclusion polymorphism. In practice it is worse though, because much more serious work has been done on optimizing Java and C# than on optimizing Python.

      (Duck typing is essentially the same thing as dynamic typing, the only difference is that duck typing is an orthogonal concept that can also be applied to static typing, but clearly you were not referring to that, and all forms of dynamically typed languages I know of are duck typing)

    15. Re:IMHO by drolli · · Score: 1

      intheritance-based polymorphism allows a compiler to assert that a certain method/member exists (even a virtual method) and optimize away the check for it resp. reducde it to a derefrencing operation. Duck typing does not allow this.

    16. Re:IMHO by KingMotley · · Score: 1

      Not everyone knows Java, and the tools kinda suck when compared to C#. Browsers don't "support" java at all. There are some plug-ins that attempt to allow java to so some things with the browser DOM, but they are slow, and poorly implemented. And in many respects java is an even worse language than javascript and actionscript.

    17. Re:IMHO by shutdown+-p+now · · Score: 1

      How does that make what I said false? It's exactly what I said.

      You said that dynamic dispatch in statically typed languages is not any faster than in dynamically typed ones. That is false. You can't have simple vtable dispatch in a dynamically typed language, because you don't know the index of the method by its name at compile-time - you have to defer that lookup until runtime.

      Simply put, in C++ or C#, when you invoke a virtual method Bar on an object of type Foo, it looks up the index of Bar in Foo's vtable at compile time, and then translates the call to "foo.vtable[i](foo, ...)" - so the runtime cost of method dispatch is one extra pointer dereference with an offset. But in, say, Python, when it sees "foo.Bar()", it has to lookup "Bar" in foo's object dictionary at run-time - a hash table lookup by string key. And in case of JS, this is further complicated by walking the prototype chain. This is significantly - orders of magnitude - more expensive.

      Alternatively, you can try to infer what objects might appear at this point and how often, and for the more common ones, make a conditional that explicitly checks their type and then does a direct call, skipping dynamic dispatch entirely (this works in both statically and dynamically typed languages). However, this optimization is much harder to implement for dynamic languages, because there's much more guesswork due to types not being available, so it is applied in fewer cases.

    18. Re:IMHO by shutdown+-p+now · · Score: 1

      There are no patents listed there. It only says that:

      "Some cases where Microsoft patents apply to standards used in the .NET framework are documented by Microsoft and the applicable patents are available on either RAND terms or through Microsoft's Open Specification Promise that releases patent rights to the public"

      with a reference, but said reference just goes here, where again no list of patents applicable to C# is provided.

      So, on one hand, you have a language with known patent issues, a lawsuit in progress, and no release of patent rights (like what OSP is for .NET-related stuff); and on the other, a language for which there are several third-party implementations have existed without any patent issues brought up, and there is an explicit legally-binding promise to not sue any conforming implementation - and somehow you conclude that the second language is more heavily patent encumbered?

    19. Re:IMHO by LingNoi · · Score: 1

      So my choice is either Oracle or Microsoft.. great...

  20. Mission creep. by PeanutButterBreath · · Score: 4, Funny

    I decided it would be a neat hack to flood my living room and turn it into an indoor pool. Boy, did that reveal some serious shortcomings in my home's electrical system. Can any recommend an electrician who doesn't suck as bad as the guy who installed the one I have now?

    1. Re:Mission creep. by lucm · · Score: 1

      Maybe the real problem is the kind of water you use, not your electrical system.

      --
      lucm, indeed.
    2. Re:Mission creep. by Ragun · · Score: 1

      Yeah, I really wish that they would just invent indoor plumbing already so we would have a better way to get water into the house.

    3. Re:Mission creep. by yincrash · · Score: 2

      I recommend Fluorinert

      It might even be possible to breath underfuorinert!

    4. Re:Mission creep. by martin-boundary · · Score: 1

      Maybe the real problem is the kind of water you use, not your electrical system.

      He should filter it. Probably, it's got too much H2O in it.

    5. Re:Mission creep. by smallfries · · Score: 1

      If you can find him get Frank Tuttle.

      --
      Slashdot: where don knuth is an idiot because he cant grasp the awesome power of php
  21. JavaScript by Anonymous Coward · · Score: 0

    I've always been a fan of JavaScript, so I'm all in favour of giving the language a few minor updates to squeeze more functionality out of it. Frankly, I've never understood why some people have such a hate-on for the language. It does what it was designed to do and, in my opinion, it does its job well. I've written tens of thousands of lines of JS over the years and have yet to run into any serious problems.

    1. Re:JavaScript by Anonymous Coward · · Score: 0

      Frankly, I've never understood why some people have such a hate-on for the language.

      Let's go for a walk down memory lane, shall we?

      Javascript? I trust the owner of the website to show me some words and pictures, but allowing a third party to execute code on my machine is insanity.
      Javascript? Oh yeah, that's that annoying shit that idiots use on their web pages to turn the status bar into a scrolling marquee featuring their logo.
      Javascript? Oh, right, that's what the first generation of idiot webmasters use to disable Right-Click/SaveAs or Right-Click/View Source to protect their s00per-s33kr1t HTML code!
      Javascript? That's what the next generation of idiot webmasters used to spawn thousands of unkillable pop-up windows. To disable pop-ups, you gotta turn that shit off.
      Javascript? Oh, fuck, now there are pop-under windows. Why haven't you turned that Javashit off?
      Javascript? Oh yeah, even if they don't pop up or pop-under, that's also the shit that malware authors use to autodownload ActiveX plug-ins and executables. Turn it the fuck off or get pwn3d.
      Javascript? Oh yeah, it can be used to tell which version of the Flash plug-in you're running, so the exploit can be targeted at the correct version of the Flash plug-in.
      Javascript? In my PDFs now, too? Gee, an exploit vector installed within an even bigger exploit vector. Yo dawg, I heard you liked getting exploited...

      Active content is an inherently bad idea from a security perspective. This has been known since before there even was a web - witness the Word Macro Viruses of days gone by.

      Most HTML content is static. Viable web apps (and CPUs powerful enough to deal with their inherent performance limitations) are an extremely recent development.

      Javascript is hated because it's been the vector behind virtually every browser-based security hole since its existence - the exceptions being things like buffer overflows in image rendering libraries.

      So when you say "I've written tens of thousands of lines of JS over the years and have yet to run into any serious problems", I hear "You've asked your users to expose their most exploitable attack surface, and you've provided them with things that, when compared to dedicated applications, are as clunky and awkward as as Slashdot 3.0."

      Unfortunately, your boss hears "Hey, now we don't need to worry about building applications, or testing them on multiple platforms, let's do it all in Javascript and foist the usability and QA issues on to the customers!", the dollar signs flash in his head, and your side won.

    2. Re:JavaScript by Anonymous Coward · · Score: 0

      So, you just want your 90s and static webpages.

      Really, Javascript has nothing to do with that, replace it with any other scripting lang and get the same problems.

      Got string concatenation and a function to add new img tag to the page? Wheew - that's your private data flying away with XSS.

      Got function to open new window? Here come pop-ups.

      Et cetera, et cetera, et cetera.

  22. Re:Do whatever you want by Anonymous Coward · · Score: 1, Funny

    Fuck you! You can't tell me what to do!

  23. Too well, probably. by PeanutButterBreath · · Score: 2

    People keep figuring out how to do even more with JavaScript, forgetting that just because you can, doesn't mean you should.

    1. Re:Too well, probably. by smagruder · · Score: 1

      True enough. But this notion can be applied to just about any programming platform. When a programmer tries to put all their expectational needs into one technology basket, bad designs can happen.

      --
      Steve Magruder, Metro Foodist
    2. Re:Too well, probably. by jon3k · · Score: 1

      That is literally a fundamental tenant on slashdot. "Why did we build X? Because we could!"

    3. Re:Too well, probably. by Anonymous Coward · · Score: 0

      I agree, but I also think you could say twice that for C++!

  24. Not bad with a Framework by Anonymous Coward · · Score: 0

    With the rise of several good frameworks in recent years, such as jQuery and MooTools, working with javascript has become much much easier. But still the language itself is a freaking mess.

  25. Yes. And replace it with Java Swing by roman_mir · · Score: 1

    Take out JavaScript and take out the browser entirely, replace it with a Swing Applet.

    At this point buy a gun and lots of ammo, because you'll need it to fight off the zombies.

  26. Dr Strangelove by JLennox · · Score: 2

    I used to hate javascript. I'd disable it in my browsers up until a few years ago and avoid it like the plague in all of my web development tasks. A year and a half ago I became a full time web developer.

    I had to shut up and learn to love javascript, and I really do. There's nothing wrong with it.

    A language like PHP3 lacks enough features to make many common patterns possible. Progressing to PHP4, and PHP5, more and more patterns became possible. PHP can now house proper code, though it frequently doesn't because people still hack away like it's PHP3 or PHP4

    To me, javascript feels much the same way. I never come across a pattern I can not implement, though I see a lot of coding that ignores standard patterns to it's own demise. linq.js, underscore.js, jquery, and some in-house libraries make classes, objects, collections, DOM work, etc, amazingly simple. The standard library is very poor, but that's ok because the 3rd party libraries are fantastic. Outside of IE8 and under, the speed is FAST too.

    A lot of times there's a function that will be implemented by a library but can optionally wrap to a native function if available, making support for everything universal.

    1. Re:Dr Strangelove by shish · · Score: 1

      There's nothing wrong with it.

      After a decade of having the best minds in the industry doing everything they can to optimise it, moving ahead in leaps and bounds, it's still an order of magnitude or two slower than native. This to me suggests that it's seriously hard to optimise. And a lot more optimisation is still needed -- we can barely get simple webapps like gmail or facebook to perform well, let alone anything with heavy processing involved...

      --
      I mod down anyone who says "I will be modded down for this", regardless of the rest of their comment
  27. Re:Why stop at Javascript and HTML? by drobety · · Score: 1

    Let's throw out everything in the world which has become something it was never envisioned to be.

  28. Death or Simplification! by Anonymous Coward · · Score: 0

    It can stay as long as it gets the OpenGL ES treatment where it is stripped down to only the essentials. There are some very good things about ECMAscript but there are also horrible fire breathing dragons hiding just out of sight...

  29. Clojurescript is another option by Arkahn · · Score: 1

    Clojure has excellent language design and parallelism and the team recently released ClojureScript. A video introduction can be found here.

    1. Re:Clojurescript is another option by shutdown+-p+now · · Score: 1

      No Lisp dialect will ever become a mainstream programming language - it's an empirically established axiom of PL design. Probably something to do with wave patterns created by all those braces subconsciously affecting the mind.

  30. I wouldn't mind Lua by FictionPimp · · Score: 3, Interesting

    I wouldn't mind if they added Lua to web browsers.

    1. Re:I wouldn't mind Lua by xhrit · · Score: 1, Flamebait

      You can do server side programming in Lua with Keppler.

      Lua has ruined programming for me. It has shown me that everything is an abstraction, the industry is inundated with arbitrary conventions, and the only limitations are self imposed. Lua is the last programming language I ever want to learn.

      I have an open source project that is basically like flash player, but with lua instead of actionscript. Oh and fullscreen 3d with 100k triangles at 60 frames per second, hardware shaders. and networking support.

      http://sourceforge.net/projects/xenosengine/

  31. Re:Why stop at Javascript and HTML? by Ragun · · Score: 1

    There comes a time when you adapt something so far, that it is clunky and frustrating to use in its new role. Its time to throw it out and make something that is designed to do what we want it to.

    Rocks worked well enough to hammer things for a long time.

    Then we invented hammers.

  32. Static Strong by kervin · · Score: 4, Interesting

    Give us a static strongly typed alternative/extension without the literally hundreds of known design flaws.

    How about a Javascript that's more Java-like?

    1. Re:Static Strong by Tablizer · · Score: 1

      Puleeez Nooooooooooooooooooooo!

    2. Re:Static Strong by makubesu · · Score: 1

      if only there were a way to run java code inside a browser.

    3. Re:Static Strong by Anonymous Coward · · Score: 0

      Wow, that would be like Groovy if that could be done

      "builds upon the strengths of Java but has additional power features inspired by languages like Python, Ruby and Smalltalk"
      http://groovy.codehaus.org/

    4. Re:Static Strong by JonySuede · · Score: 1

      Scala like please not Java, as Scala is not controlled by Oracle and it is strongly type, multi-paradigm and dsl friendly.

      --
      Jehovah be praised, Oracle was not selected
    5. Re:Static Strong by clintre · · Score: 1

      Gawd no, something better NOT WORSE! I have programmed many things in Java, because I was forced to. I would not wish that one anyone!!

    6. Re:Static Strong by Yold · · Score: 2

      How about a Javascript that's more Java-like?

      Real private and public modifiers would be nice, but I wish people would take the time to understand why the LISP-like qualities of JavaScript make it awesome. I often find myself wishing that .NET and Java were more like JavaScript. To be an exceptional .NET or Java programmer, you need to know tons and tons of specifics about the language. To be a good JavaScript programmer, all you really have to understand are the concepts related to objects and scope.

      I think Java and .NET are great enterprise languages for applications that are 10,000+ lines of code. But writing JavaScript in a message-centric fashion (think LISP or Objective-C) is very pleasing with it's terse expressiveness. The language is flexible, and works great for applications that are developed and maintained by one or two programmers.

      But the end seems to be near for good-ol-JavaScript; I feel the same way that the LISP programmers must have felt when C and COBOL began to assert their dominance. I'm sad that this inefficient toy-language will soon be relegated as an obsolete and inferior language.

    7. Re:Static Strong by Anonymous Coward · · Score: 1


      JavascriptReplacement replacement = new JavaLikeReplacement();
      try {
              replacement.haveNoDesignFlaws();
      }
      catch (Massive flaw) {
              flaw.ohShit();
              try {
                      replacement.stopFailedAttemp();
              }
              catch (CanNotStop shit) {
                      shit.crapPants();
              }
      }
      finally {
              try {
                      replacement.moveOn();
              }
              catch (CanNotCannotMoveOn crap) {
                      try {
                              crap.getUnstuckStuck();
                      }
                      catch (StillStuck stuck) {
                              try {
                                      stuck.getUnstrucAgain();
                              }
                              catch (WhyEvenTryAnyMore why) {
                                      why.becauseFinallySomethingDoesNotThrowAFuckingException();
                              }
                      }
              }
              finally {
                      replacement.giveUp();
              }
      }

    8. Re:Static Strong by sourcerror · · Score: 1

      However Scala is just as hard to use as Haskell. People don't want to become type lawyers. The Java/C# way is better, offering best of both worlds.

    9. Re:Static Strong by shutdown+-p+now · · Score: 1

      Just give us low-level bytecode (e.g. LLVM bitcode), and let a hundred languages blossom. You say "statically typed like Java", he says "dynamically typed like JS", I say "where are my tail calls?". There's no technical reason why we can't have it all, though.

    10. Re:Static Strong by dodobh · · Score: 1

      Or Haskell like?

      --
      I can throw myself at the ground, and miss.
    11. Re:Static Strong by mortonda · · Score: 0

      The point is to *improve* javascript, not make it worse.

    12. Re:Static Strong by JonySuede · · Score: 1

      nah, scala is easy compared to haskey, it has type inference and a readable synax and if you want to you can use it in a javaesq and getay, loosing the power but enabling average programmer to developed and get better as they learn new concept. Exemple of the javaesque way:
      adapted from scala by example to remove operator overloading:
      <pre>
      class Rational(n: Int, d: Int) {
          private def gcd(x: Int, y: Int): Int = {
              if (x == 0) y
             else if (x < 0) gcd(x,y)
             else if (y < 0) gcd(x, y)
             else gcd(y % x, x)
      }
      private val g = gcd(n, d)

      val numer: Int = n/g
      val denom: Int = d/g

      def plus(that: Rational) = new Rational(numer * that.denom + that.numer * denom, denom * that.denom)

      }
      </pre>

      now in java written on the spot might not compile:
      <pre>
      public class Rational{
          private BigInt number;
          private BigInt demon;

          public Rational(BigInt n, BigInt d){
               BigInt g=gcd(n,d);
          this.number=n/g;
          this.demon=d/g;
          }
          private BigInt gcd(BigInt x, BigInt y)
          {
          if(x==0) return y;
          else if(x<0) return gcd(x,y);
          else if(y<0) return gcd(y,x);
          else gcd(y.modulo(x),x);
           }
          public BigInt plus(BigInt that)
          {
              return new Rational(numer * that.denom.add( that.numer * denom), denom.mult(that.denom));
          }
          public BigInt getNumber()
          {
          return number;
          }
          public BigInt getDemoninator()
          {
          return denom;
          }

      }
      </pre>

      Where is your type police ? Sure if you use advanced feature that require a Ms in CS to UNDERSTAND fully you have to think about the typing. But you leave that to your 1 or 2 hotshot, and impose the java way on the blurb programmer.

      Sorry for the monospaced font, slashdot pre tag is seriously broken

      --
      Jehovah be praised, Oracle was not selected
    13. Re:Static Strong by JonySuede · · Score: 1

      And sorry for the typo, it seems to have posted the version before my preview, correct preview, submit pass....

      --
      Jehovah be praised, Oracle was not selected
    14. Re:Static Strong by GameboyRMH · · Score: 1

      Why the hell would you want a statically typed language to replace Javascript? Multiple people have said they want this but I can't imagine why. Of all the problems with JS that's the last thing I'd imagine people would have a problem with.

      --
      "When information is power, privacy is freedom" - Jah-Wren Ryel
    15. Re:Static Strong by warrax_666 · · Score: 1

      Real private and public modifiers would be nice,

      Closed-over variables are more private than Java's "private" modifier. In Java, you can actually get access to an object's privates by reflection and using setAccessible(true)... so much for privacy.

      To be a good JavaScript programmer, all you really have to understand are the concepts related to objects and scope.

      I don't think that's true. There are lots of non-obvious things in Javascript which are really required to make coding in JS tolerable, the "private through closure" pattern is just one of them.

      --
      HAND.
    16. Re:Static Strong by mgiuca · · Score: 1

      To be a good JavaScript programmer, all you really have to understand are the concepts related to objects and scope.

      And the dozens of special cases involving the value of "this" in various contexts. And the difference between an object's prototype and an object's "prototype" attribute. And the various advantages and drawbacks of the three major ways to build objects and simulate classes. And the fact that iterating over an array produces not just the elements of the array in a potentially unspecified order, but also all of the methods of the array. And how to invent your own module system to avoid scope collisions. And so on... JavaScript has so many warts. It is yet another language that is easy to get started on, but requires a great deal of understanding to use properly.

    17. Re:Static Strong by dkf · · Score: 1

      Why the hell would you want a statically typed language to replace Javascript? Multiple people have said they want this but I can't imagine why. Of all the problems with JS that's the last thing I'd imagine people would have a problem with.

      Because they want to personally have to write lots of type thunks for inter-converting between interfaces to existing components. Once you add in all that stuff, you slow your statically typed program back down to around the sorts of speed that you get in scripting languages. This does tend to be the stuff that isn't picked up by published benchmarks though, since there programmers of languages with static types go to the effort of making everything optimally typed throughout; that's great, but too often doesn't bear out in the real world (where expedient hacks are far more prevalent).

      One curiosity: many people who write statically-typed programs insert their own scripting language library to handle things like configuration. Most such little languages are horrible, slow and vastly underpowered...

      --
      "Little does he know, but there is no 'I' in 'Idiot'!"
    18. Re:Static Strong by mortonda · · Score: 1

      mods have no sense of humor....

  33. If only by Anonymous Coward · · Score: 0

    We could just program javascript on the client and the server. Then no programmers ever need to learn new languages, and we can try to dumb-down Computer Science as a whole. That means cheaper programmers, simpler outsourcing, and less management headaches.

    If anyone sees a problem with this, please stop forcing javascript into the server-side. Can't we improve server-side development, not make it worse?

  34. Neither of them. by Anonymous Coward · · Score: 0

    Fork it. Fork a compiled version specifically for web apps.
    Mix in some of the abilities of Java and JavaScript, compiled, problem solved. Just don' tell Oracle...

    The real problem is the idiots designing and implementing the spec taking a god damn decade to get stuff done. IF THAT.
    W3C, even WhatWG, the problem is there. JavaScript is completely capable as a language. Just because idiots complain, doesn't mean it is terrible.

    But the very structure of HTML itself is the worst part. Filled with a bunch of nonsense that doesn't need to be there due to terrible specs being attribute-complete rather than not storing things at all and just parsing that as "default".
    This has resulted in relatively simple pages reaching ungodly filesizes as more and more attributes get added.
    Seriously, what is the deal with that?

    I don't entirely see the problem here though.
    Web workers, WebGL, they can run games at decent speeds with fairly decent graphics and FPS. (see quake 2 JS)
    Web pages are also being hardware accelerated now.
    JavaScript itself is a fine language. Very extendable.
    The only annoyance is its inability to store binary data, resulting in the next best thing, Base64* encoding at 133% ~filesize per binary chunk, to be used.
    If you don't care so much for portability, binary data can be stored pretty well in media files and opened and scanned.

    * on that note, hasn't anyone came up with a larger encoding system that takes advantage of countless other characters that can be represented in pretty much all languages without screwing around with escape characters, or differing language sets lacking those files or whatever?
    Why did we settle on Base64? Surely those 2 extra characters aren't the only characters left that are useful for encoding in plaintext?

    1. Re:Neither of them. by LingNoi · · Score: 1

      JavaScript is completely capable as a language. Just because idiots complain, doesn't mean it is terrible.

      Meanwhile there is a huge movement behind making languages that compile down into javascript because the language is so horrible to code in.

      The only annoyance is its inability to store binary data, resulting in the next best thing, Base64* encoding at 133% ~filesize per binary chunk, to be used.

      and yet there is no standard way to base64 encode anything in firefox, chrome, opera and IE without rolling your own code which is REALLY slow.

      Why did we settle on Base64?

      because anything higher uses characters that can not be displayed in the browser properly in ascii form. This can potentially lead to data corruption, if you're using base64 in the url for things such as image, mp3,etc data where you put the base64 data directly into the tag or in an ajax post request.

  35. Already obsolete by lucm · · Score: 1

    Who needs javascript now that every website ends up being rewritten in Objective-C?

    --
    lucm, indeed.
    1. Re:Already obsolete by Anonymous Coward · · Score: 0

      you really think every website is written in Objective-C?? huhh???

    2. Re:Already obsolete by GameboyRMH · · Score: 1

      We're hoping this fad will blow over.

      --
      "When information is power, privacy is freedom" - Jah-Wren Ryel
  36. Actionscript 3.0 by Toonol · · Score: 1

    It would be great if they could evolve it in the direction Adobe did with Actionscript 3.0. That is a nice little language.

    The biggest problem, though, isn't Javascript; it's the horrible API and document model it has to struggle with when doing anything in a web browser. That would make programming in any scripting language a nightmare.

  37. Native Client (NaCl) by bbn · · Score: 1

    I am hoping for another Google project: Native Client (NaCl).

    What we need is not yet another language with a new set of limitations. Instead we need a system that allows any language, even ones not invented yet. And without waiting for every single browser out there to update to the most recent language specification. Without having to program for every bug in every browser.

    Native Client solves this by allowing binary executables and a standardized byte code (LLVM) as alternative. You can code in assmbly, C, C++ or any other language you prefer. And it is still as secure as JavaScript. The execution environment is double sandboxed and secure in a very robust way.

    1. Re:Native Client (NaCl) by adri · · Score: 1

      Do you get access to the source?

      With javascript, plenty of web devs have gotten their boot in the door by looking at what others have done and learnt/ripped from that. If you've bought a web app from someone and it's a little broken, chances are you can fix the (php,python,perl,etc) source, along with the buggy javascript layers they're using to get the job done.

      With something like NaCL, why ship the source code? You just ship the binary. Suddenly web development resembles desktop development.

    2. Re:Native Client (NaCl) by nzac · · Score: 1

      Well you could bundle TCC with every browser and apply static analysis to the source code for security holes first.
      But since no one cares NaCl always going to be faster and less buggy.

    3. Re:Native Client (NaCl) by shutdown+-p+now · · Score: 1

      I like the idea behind PNaCl - the LLVM variety -, but what irks me is that, so far at least, Google doesn't show any signs of trying to standardize it in any way, much less as a JS successor. It's strictly a proprietary feature of their browsers so far. Any would-be JS killer has to be supported by all major browsers.

    4. Re:Native Client (NaCl) by shutdown+-p+now · · Score: 1

      It's not really different today when one uses a something-to-Javascript translator (like GWT). The output is more high-level than assembly, but still more often than not incomprehensible compared to the original.

      You can't have it both ways - either you use a very high-level language with readable source, which restricts what other languages can be implemented on top of it with reasonable perf; or you use a low-level language/bytecode, which lets you make a high-perf JIT-compiler, and build all kinds of languages on top, but losing source readability.

      In any case, if the author wants to share the source with you, he'll find a way; and if he doesn't, then why should he be forced to?

    5. Re:Native Client (NaCl) by GameboyRMH · · Score: 1

      Great another architecture-specific solution that's also a security nightmare. I have to put together one of those solution forms for this sort of thing ("Your solution presents a (X) Technical solution That requires: (X) All devices to use the same CPU architecture (X) significant security compromises" and so on)

      --
      "When information is power, privacy is freedom" - Jah-Wren Ryel
    6. Re:Native Client (NaCl) by bbn · · Score: 1

      Maybe you should read up on what the technology is and does before showing everyone that you do not have a clue. a) NaCl does NOT require that everyone use the same CPU architecture, b) the system has no security compromises, it is exactly as secure as JavaScript. No more, no less.

    7. Re:Native Client (NaCl) by LingNoi · · Score: 1

      That's not really an issue. You can still open source stuff, keeping it in binary form means quicker download times.

    8. Re:Native Client (NaCl) by LingNoi · · Score: 1

      That's a good thing. Not standardising it before anyone is using it means that can quickly change things if it's not working out. Otherwise you end up with javascript.

  38. Missing the point by Okian+Warrior · · Score: 2

    I think many people are missing the point of Javascript.

    The new spec includes the ability for Javascript to open sockets. Once that takes hold, you'll have the ability to completely control the browser window from the home server.

    When that happens, it will be big. The browser is essentially a rendering machine which makes it trivially easy to show things and is largely machine independent. Instead of selling a huge monolithic program, companies can simply sell time on their servers to run their programs.

    Imagine that you want to use a big engineering program - Orcad or Altium Designer, for example.

    Instead of paying $10,000 for a copy of the program and taking a chance that it's as good as it's marketing claims, you can buy a month of usage for $100, and the executable will run on the company's servers while using your browser to paint the screens. Sort of like how World of Warcraft runs on servers, but paints the screens locally.

    This has many advantages for the user:
    1) You don't have to risk an enormous sum of money to try something out
    2) You don't pay for the product more than you need it
    3) You have NO installation issues
    4) You are always using the most up-to-date version
    5) The vendor can keep backups of your files for you
    6) You can access your files and the application from anywhere on the net

    And for the vendor:
    1) The code is never given out (only runs on the server): no piracy!
    2) You don't need multiple versions for different architectures (reduced engineering)
    3) You don't have to push updates to the users all the time
    4) You can tune the compilation/installation to make the best use of the server
    5) Rendering is much easier - the bulk of the code is written for you by others (reduced engineering)

    There are some disadvantages - the vendor has access to the document, which means that they can also sell the document to spammers (designs to China, for example). This can be dealt with by using a trust model; ie - the company will have an online reputation which will get quickly tarnished once this happens.

    That's the promise of Javascript, and the real potential of the cloud. Companies supplying online services to compete for customers.

    1. Re:Missing the point by OzPeter · · Score: 1

      I think many people are missing the point of Javascript.

      The new spec includes the ability for Javascript to open sockets. Once that takes hold, you'll have the ability to completely control the browser window from the home server.

      When that happens, it will be big. The browser is essentially a rendering machine which makes it trivially easy to show things and is largely machine independent

      Did you just invent X-Windows?

      --
      I am Slashdot. Are you Slashdot as well?
    2. Re:Missing the point by Anonymous Coward · · Score: 1
      Let me rebut that for you:

      2) You don't pay for the product more than you need it

      You have to pay for it for eternity instead of once.

      3) You have NO installation issues

      You have compatibility issues every time FF upgrades.

      4) You are always using the most up-to-date version

      You cannot avoid the new "features" companies insist on developing instead of fixing bugs.

      5) The vendor can keep backups of your files for you

      The vendor will keep backups of your files. Umm, yeah, it's for you.

      6) You can access your files and the application from anywhere on the net

      Anyone can access your files from anywhere on the net.

    3. Re:Missing the point by Anonymous Coward · · Score: 0

      trust model? seriously?

      No. No one is going to trust a software company with their million dollar blueprints.

    4. Re:Missing the point by Anonymous Coward · · Score: 0

      yes. exactly. just like X windows, except with a little crappy scripting language on the other side
      if you want to run little event control loops locally.

      except for the arbitrary complexity of css, html, cvg, canvas, javascript, xml all interleaved together,
      is a fine model to paper over

    5. Re:Missing the point by shutdown+-p+now · · Score: 1

      All of the above, Flash can already do. JavaScript adds absolutely nothing to that, just changes things around for the sake of being different.

      Guess why this model didn't quite catch on?

    6. Re:Missing the point by discord5 · · Score: 1

      The browser is essentially a rendering machine which makes it trivially easy to show things and is largely machine independent. Instead of selling a huge monolithic program, companies can simply sell time on their servers to run their programs.

      Hurray, now as a consumer of said program, I don't only have to worry about vendor lockin on the software side, but as well as no longer having any of my data available locally. Yes, I know this was a problem before (open and closed standards and all that jive), but now it's just kicked up a notch or two. What happens if the vendor goes bankrupt? Do I still get a copy of my data or does it go *poof* in the cloud?

      Instead of paying $10,000 for a copy of the program and taking a chance that it's as good as it's marketing claims, you can buy a month of usage for $100, and the executable will run on the company's servers while using your browser to paint the screens.

      There's a point where the software is going to cost you more in monthly usage than it is when you buy it. There's plenty of software around that once you have the basic functionality you really don't need any updates other than bugfixes. Let's take an (admittedly stupid) example of a basic calculator. You can buy calc.exe for $15, or you can rent it for $1 a month using an online service. Nobody is going to update calc.exe functionality wise since additions don't suddenly change, and an accounting firm really isn't interested in sin() and cos() which is supposedly coming in version 2.0. So after $15 months, the online calculator is suddenly costing you more money than the installed calc.exe is.

      Furthermore, during the month that the taxes are due, all accounting departments across the nation decide to go into full overdrive and start doing some numbercrunching. With calc.exe each department goes ahead and does its thing in it's contained little environment, but with CalcOnline they all go to the same batch of load balanced server in the cloud, totally crushing the servers hosting the environment. Hell, some crazy routing hijinx happen lateron in the week, and some techie at LoadBalancedCalculators.com makes a mistake and the cluster of servers goes down in flames. Now the accounting department is stuck with a $1/month problem, which costs a hell of a lot more than than a $15 calculator.

      Sure, in an ideal situation this doesn't happen. In an ideal situation all the right people are at the right place, and all the right hard- and software functions perfectly as planned. But there's already been plenty of examples of cloud environments failing, either due to a hardware problem or an operator error.

      5) The vendor can keep backups of your files for you

      I'm sure that they'll be all to pleased of simply hosting all your data for you. More lock-in of course. What if you work with privacy sensitive data? What if you're working on a project with data that the vendor might be interested in? Can you guarantee that the vendor in question doesn't simply swipe your files?

      6) You can access your files and the application from anywhere on the net

      Which is a strange way of looking at it sometimes. You see, on the one side of meeting table is a security guy constantly telling me how we should stop trusting the Internet so much. On the other end of the table is the cloud guy chanting "Internets! Internets! Internets!" in a Balmer-like fashion. I know it's not a black-and-white situation, but I'm somewhat reluctant to start handing over data that is important to my company to some third party. I'd much rather have a setup that I have more control over.

      2) You don't need multiple versions for different architectures (reduced engineering)

      The different architectures are no longer the version of the OS, but the different kinds of browsers and their little quirks. Or you could just flat-out say "only internet explorer allowed", but in that c

    7. Re:Missing the point by Anonymous Coward · · Score: 0

      Another weakness is that we are then at the mercy of the vendor for when the software is updated. The time when the vendor wants to update the software may not be your idea... like during a bet-the-company opportunity/crisis.

      I would rather retain the ability to upgrade when it is convenient for me, including after I have had a chance to vet it in preprod.

    8. Re:Missing the point by Anonymous Coward · · Score: 0

      > . Sort of like how World of Warcraft runs on servers, but paints the screens locally.

      Thanks for not knowing anything about how anything works.

    9. Re:Missing the point by benhattman · · Score: 1

      There are some disadvantages - the vendor has access to the document, which means that they can also sell the document to spammers (designs to China, for example). This can be dealt with by using a trust model; ie - the company will have an online reputation which will get quickly tarnished once this happens.

      Um, no it can't. If you are working on anything proprietary, you can't upload it to servers owned by another company without having a up-to-date non-disclosure agreement in place with that organization at all times. Saving documents on a server is worth balls unless you are a student, hobbyist, intend it to be free (as in speech), or your are working on something where the intellectual rights laws protected it upon creation (you own the copyright to each sentence of your novel the moment you write them down).

    10. Re:Missing the point by sjames · · Score: 1

      I wouldn't mind seeing javascript+HTML evolve into a proper display system to act as an updated X.

    11. Re:Missing the point by LingNoi · · Score: 1

      The browser is essentially a rendering machine which makes it trivially easy to show things and is largely machine independent. Instead of selling a huge monolithic program, companies can simply sell time on their servers to run their programs.

      It's already been done. Zendesk, Basecamp, Get Staisfaction, all these "programs" require monthly subscriptions. Even the slashdot "program" has a subscription option.

    12. Re:Missing the point by FrankieBaby1986 · · Score: 1

      I think you just re-invented the X server....

      --
      ERROR: SIG NOT FOUND (A)bort, (R)etry, (F)ail?:
    13. Re:Missing the point by Anonymous Coward · · Score: 0

      The whole plan is to rent your life back to you.

  39. Die Javascript Die by the+eric+conspiracy · · Score: 1

    The design flaws are terminal. It deserves to be replaced with something that is statically typed.

    If you want to keep it around for a few years as a legacy thing, fine. But it really is the VB5 of the 21st century.

    We want something else.*

    *Ripped off from a great MASH episode.

    1. Re:Die Javascript Die by smagruder · · Score: 1

      Yeah, it's so "terminal" my web applications are running beautifully with it.

      JavaScript won't die because of the opinion of a few. Eliminationism tends to create more problems than it solves. By a wide margin.

      --
      Steve Magruder, Metro Foodist
    2. Re:Die Javascript Die by the+eric+conspiracy · · Score: 1

      The opinion is more than that of a few, to the extent that Google has already developed a replacement.

      Elimination is how progress occurs. Otherwise we would still be using curses to browse the web.

    3. Re:Die Javascript Die by Millennium · · Score: 1

      Static typing should be considered in violation of international conventions on torture.

    4. Re:Die Javascript Die by wsxyz · · Score: 1

      This and this some more.

    5. Re:Die Javascript Die by anonymov · · Score: 1

      The only valid complaint about static typing is verbosity, which is eliminated with help of decent type inference. And in exchange you get much better performance and less chances to introduce bugs.

      Try Scala, for example - it's one of the most concise, readable and pleasant to write languages I've ever seen.

  40. Can't Be Everything To Everyone by Tablizer · · Score: 2

    I doubt very much a language syntactically and stylistically optimized for light-duty GUI event scripting can be a good language for implementing OS-like features and vice-verse. Leave JS alone and create a new language that's a better fit for "deep guts" programming.

    What's next, ADA-Script?

    1. Re:Can't Be Everything To Everyone by kangsterizer · · Score: 1

      XUL which is what runs Songbird, Firefox, Thunderbird, etc is such a javascript mixture btw.
      And they could very well replace XUL one day by true HTML and friends with some extensions (and probably be faster in the process as many things have been learned from XUL)

    2. Re:Can't Be Everything To Everyone by Anonymous Coward · · Score: 0

      ADA-script would frekin ROCK!!!!

    3. Re:Can't Be Everything To Everyone by Anonymous Coward · · Score: 0

      I am sure you never know of the juice webbrowser plug-in for dom manipulation in oberon2

    4. Re:Can't Be Everything To Everyone by jon3k · · Score: 1

      Leave JS alone and create a new language that's a better fit for "deep guts" programming.

      Google agrees with you

    5. Re:Can't Be Everything To Everyone by Anonymous Coward · · Score: 0

      Node.js, CouchDB, MongoDB, Rhino, Windows 8, and more seem to disagree. I use javascript everyday and almost never work with GUIs.

    6. Re:Can't Be Everything To Everyone by shutdown+-p+now · · Score: 1

      How do you "stylistically optimize" a language for light-duty GUI event scripting?

    7. Re:Can't Be Everything To Everyone by ttong · · Score: 1

      You don't know what you're talking about. More people should learn Ada, especially those who already know C or PL/SQL.

      OS-like features and vice-verse

      a new language that's a better fit for "deep guts" programming

      You just lost your geek card.

    8. Re:Can't Be Everything To Everyone by Anonymous Coward · · Score: 0

      Seems to me that nodejs proves that javascript is "syntactically and stylistically" capable of much more - that js can be ideal for highly scalable, concurrent, event-driven networking apps.

      There is nothing about the javascript language that prevents "deep guts" programming. The browser js engines and the DOM they interact with... that's another story.

    9. Re:Can't Be Everything To Everyone by Anonymous Coward · · Score: 0

      It could be everything for everyone if client side stuff was based on a compiled bytecode. I think that's what google is aiming for with nacl.

  41. The specs are just fine for the moment by stefaanh · · Score: 1

    Remember when we thought SQL was so much slower and not fit for the big work? Well it was'n SQL, it were the early implementations that were slow.
    Now the Javascript specs are very powerfull. And the engines (implementations) are getting faster all the time. I see SproutCore and Objective-J pushing the envelope, amongst others. Javascript has only just arrived.

    Anyways, that's only my impression.

    --
    --------
    * Sigh *
    1. Re:The specs are just fine for the moment by shutdown+-p+now · · Score: 1

      And SQL from PL design perspective is still as much of a clusterfuck as it has always been. It's one of those unfortunate examples of things that should have been aborted early on, but were instead carried to birth, and painstakingly raised to a (retarded) maturity, causing pain and anguish to anyone forced to deal with them in their present state.

      (the other prominent examples are PHP and, yes, JS)

  42. In reality... by Synerg1y · · Score: 1

    Javascript is a helper language, I don't get where this debate is originating, if you need advanced functionality, you need server code, it's been available for a bit now in various flavors: .NET, JSP, & php to name a few big ones. Javascript nor html are not even remotely close to replacing server side coding languages. If you kill javascript, here's what will happen: people who's website already have javascript, won't care, people developing websites needing javascript functionality will google that functionality and find the decade old jscript that runs like it should as search result #1.

    What debate? lol... technologies get phased out, they don't just die, and there will always be jscript developers even if every IT entity created its own client side scripting language because most of the web will still be using jscript. The only way jscript can die is if the other languages prove to be clearly superior and there is a benefit to businesses to switch. If you tell me to recode my websites cause google came out with a new language, I will probably physically rofl and tell you where to shove it.

    In terms of functionality, thats more a question of what is the browser willing to support as the browser is what handles the jscript.

    Dunno, I read a lot of the posts in this thread shaking my head, does anybody posting in these threads actually do web development that doesn't involve a geocities successor a blog / feed in a box? I guarantee having a wordpress website doesn't quality you as a web developer, or even an IT tech.

    1. Re:In reality... by rock_climbing_guy · · Score: 1

      I am a web developer. I used to hate JavaScript. Then I read Douglas Crockford's papers about JavaScript. I realized that I just wasn't using it the way it was designed to be used.

      JavaScript is a useful tool once you get used to it, but I believe that it would be great if there were some alternatives to choose from. The problem is the browser. Even modern browsers don't fully implement HTML5 and it will be years before we can trust that "most" of our clients will have HTML5 compliant browsers.

      --
      Wh47 d1d j00 541, 31337 15n't t3h r0xor5 ne m0r3???
    2. Re:In reality... by shutdown+-p+now · · Score: 1

      I am a web developer. I used to hate JavaScript. Then I read Douglas Crockford's papers about JavaScript. I realized that I just wasn't using it the way it was designed to be used.

      Regardless of what JS was designed for, there are numerous things about it that are plain evil. Some examples include scoping rules for locals, magical pink semicolons (you don't see them but they're there), and "null" vs "undefined".

    3. Re:In reality... by Synerg1y · · Score: 1

      Haha, I totally agree some of the definitions and some of the syntax is a complete monkey's effort. It's not a beautiful language by any means and has a million and one hacks to it.

      The browser supporting new languages is not as big a deal as it may seem, it can be handled via plugin or update by the developers. The implementation is a completely different story, and they are still trying to improve JS performance in browsers a decade later.

      I think the point stands though

      Then I read Douglas Crockford's papers about JavaScript. I realized that I just wasn't using it the way it was designed to be used.

      JS and it's competitors are not the web revolution people are making it out to be, just a simple augmentation language to make your web pages a little more user friendly.

  43. One word by Anonymous Coward · · Score: 0

    Python!

  44. How many times will we have this argument? by rabtech · · Score: 4, Insightful

    The history of the Internet and examples like IPv6, HTTP, SMTP, etc have shown us over and over that "good enough" + evolution trumps replace almost every time.

    The path forward is clear: improve JavaScript, extend it, improve HTML, and keep on trucking. Neither will ever be replaced on a wide scale, only evolved.

    The reason we don't already have worldwide IPv6 deployment is they redesigned IP instead of just extending the addresses.

    --
    Natural != (nontoxic || beneficial)
    1. Re:How many times will we have this argument? by Anonymous Coward · · Score: 0

      Umm...P.S. IPv4 is not extensible. It is basically a top-down tree implementation and the nodes in the tree ran out. There was no way to redesign IPv4 by "extending the addresses." I suppose you could have added numbers to the front of an IPv4 address and call it "extended" but the way routers work is not compatible with that approach.

    2. Re:How many times will we have this argument? by Dryanta · · Score: 1

      The reason we don't have worldwide IPv6 deployment is because providers are slacking. There is no way to 'extend' the addresses, that's why IPv6 was created.

      http://en.wikipedia.org/wiki/IPv4_address_exhaustion

    3. Re:How many times will we have this argument? by marcosdumay · · Score: 1

      That lazy IPv6 didn't even think hard enough to learn how to fit more than 4 billion addresses on 32 bits!

      But, no. IPv6 didn't already won because it brings no improvement for most of the people we are expecting to adopt it. The history of the Internet is full of things being (mostly) replaced. By the way, what is your ICQ? And did you see the latest news at usenet?

  45. Framework, anyone? by Okian+Warrior · · Score: 1

    (Responding to my own comment)

    I'm waiting for someone to come up with a simple transport layer in JavaScript that does nothing but make the DOM visible to the other end. All you would need is

    1) Interrogate the DOM, send back value
    2) Set DOM variable to passed value
    2) Pass back messages based on the user actions ("button X was clicked").

    I'd *love* to see a python or perl interface for this. Making a GUI for something would be almost trivial.

    1. Re:Framework, anyone? by SiMac · · Score: 1

      This exists/existed. Jaxer was supposed to be able to do this, but I never used it, and I've never met anyone who has.

    2. Re:Framework, anyone? by Agronomist+Cowherd · · Score: 1

      While that SOUNDS nice, the performance would be atrocious. As another reply points out, this has been done, but no one uses it. The reason, I'd bet, is that round-trip times kill you.

      One call is pretty fast. But once you're querying a significant part of the DOM to get some values, all those round-trip times add up. This is the same issue that makes X slow over a WAN (not unusably slow, just annoyingly slow): X has synchronous requests and responses; you can't make the next request until the response comes back, and even fast pings on a real network are measured in tens on milliseconds. That adds up to a second with just a hundred calls.

      You need a higher-level protocol. One where all the presentation can be sent at once, and painted on the screen. Once it's there, we can get all the data, and send up actions that manipulate the data. With little scripts to do immediate validation already running locally, sent down as part of the initial presentation. (This sounds familiar, somehow.)

      Or you could try for asynchronous. Send up a bunch of requests at once, and get all the responses back at once. Then round-trips don't kill you. The problem there is that all too often the data you want depends on the result of the previous request. You could shoot down a whole program that collects what you want and sends it back....

      --
      -DwS
  46. GUI Markup Language by Anonymous Coward · · Score: 0
  47. Hold tight... by Anonymous Coward · · Score: 0

    ...but it does look like google are determined to replace javascript - and who can blame them, it's becoming pretty clear that it has structural problems that cannot be solved by evolving the language. It's only a matter of time before this realisation spreads to the all the other browser vendors.

    The bottom line is that if you're learning either javascript or html5, then it's starting to look like you are wasting your time.

    Just hold-tight for a huge shake-up, things are about to get very interesting!

    1. Re:Hold tight... by BatsShadow · · Score: 1

      What exactly are the "structural problems that cannot be solved" ?

  48. Show us the language! by Infernal+Device · · Score: 1

    If Google would actually get around to releasing some details on Dart, rather than just trying to shoot down an established language, then maybe this could be a rational discussion.

    --
    "My God...it's full of trolls!"
    1. Re:Show us the language! by LUH+3418 · · Score: 1

      Google hasn't been trying to shoot down anything just yet. Someone leaked some internal memo. They haven't officially released anything.

  49. useful and often ugly by ncmathsadist · · Score: 1

    Debugging JavaScript is nightmarish. Code with flaws just fails to work. JavaScript's weak typing allows lots of errors to pass silently and create hours of frustrating work. Yes, it is the lingua franca of the web. But it can be frustrating, surly and opaque to work with.

    1. Re:useful and often ugly by Tablizer · · Score: 1

      I disagree that weak typing is a handicap. You just have to work with it differently than you do a strong-typed language. The real problem is lack of development tools that assist in coding, testing, debugging, cross-referencing, and flagging suspicious usage.

      One advantage of weak typing and/or interpreting is that one part can still work even if there is a flaw in a library etc. With compile/type-centric languages, one bad routine in one bad library among hundreds will prevent compilation even if a given user would never even use that lone bad element. Sometimes limping is better than dying when things go a bit stray. Why should a bad part in library Z prevent me from using libraries A thru Y?

    2. Re:useful and often ugly by Anonymous Coward · · Score: 0

      In other words you write crap code. There are legions of you.

    3. Re:useful and often ugly by LingNoi · · Score: 1

      One advantage of weak typing and/or interpreting is that one part can still work even if there is a flaw in a library etc.

      No, that is a horrible disadvantage. It's much better to just have everything fail during development then have to spent 5 hours each time uncovering a silent bug in the code base.

      With compile/type-centric languages, one bad routine in one bad library among hundreds will prevent compilation even if a given user would never even use that lone bad element.

      You mean the programmer would have to fix the code before shipping? Oh the horror!

      Why should a bad part in library Z prevent me from using libraries A thru Y?

      Except that wouldn't happen now, would it, because you already established that the interpretor would halt on an error. So in fact the code would be better then it possibly could be at present with the current setup.

      Your argument boils down to "write crappy code and let the interpretor figure it out.", hence why javascript is slow and full of problems.

  50. OK, But... by LifesABeach · · Score: 1

    Specifications? A Benjamin Franklin List would be useful. Benchmarks? Working ... Demos?

    Hay Intel! How about a Metaphysical Interface?

    Hay Google, How about a Protocol Definition?

    If Google, and Intel could combine a Metaphysical Interface with a Protocol Definition, maybe there would be something new to march around the breakfast table about?

    1. Re:OK, But... by Tablizer · · Score: 1

      A spec? Here ya go; just fill out the Language Feature Form, and hit the "Make Compiler/Interpreter" button*.

      http://www.c2.com/cgi/wiki?InstantLanguageForm

      * Button still in very early stages of implementation.

  51. Re:Why stop at Javascript and HTML? by Tablizer · · Score: 1

    Lyke thu Eenglish langwej spailing.

  52. Why are we even having this debate? by PJ6 · · Score: 1

    We need an option to compile web apps to something like IL from a variety of languages (*exactly* like .NET), and these need to target a common browser object model that's defined by a rigorous set of unit tests. HTML? Fine. JavaScript? Fine. Just leave them above the real browser standard so developers who like them stay happy but let rest of us move on.

    1. Re:Why are we even having this debate? by kangsterizer · · Score: 1

      .NET is actually pretty good but its owned by MS.
      Nowadays.. and as it as always been so far, religion > cold hard stuff.

      It means, if Google made .NET we might have all been running it now. But MS made it.

      Not talking of Java but it had this vision as well, although I think .NET was cleaner (well it was made later so it could learn from Java)

    2. Re:Why are we even having this debate? by rock_climbing_guy · · Score: 1

      This! I work with .net and am looking forward to getting into the new F#.net language. If we had some sort of Intermediate Language for client-side scripting the way .net provides one for server-side scripting, it would greatly extend the logical paradigms we could write client-side scripting in!

      --
      Wh47 d1d j00 541, 31337 15n't t3h r0xor5 ne m0r3???
    3. Re:Why are we even having this debate? by Anonymous Coward · · Score: 0

      I presented Sharpscipt to Microsoft a few years back. It was C# implemented in IE as a Javascript replacement. It would have provided a type safe DOM, and a JIT. Needless to say the idea was rejected. Microsoft doesn't want eat their own dog food. That's for you peons to do.

    4. Re:Why are we even having this debate? by sourcerror · · Score: 1

      You mean like Java WebStart? /ducks

    5. Re:Why are we even having this debate? by PJ6 · · Score: 1

      I presented Sharpscipt to Microsoft a few years back. It was C# implemented in IE as a Javascript replacement. It would have provided a type safe DOM, and a JIT. Needless to say the idea was rejected. Microsoft doesn't want eat their own dog food. That's for you peons to do.

      As much as I love .NET, I have to agree in some respects. I have a customer who insists on using SSRS because it's "free" and because "Microsoft made it". Holy shit what a half-assed abortion.

      IT and developer tools often get away with having - and never fixing - ridiculous problems that no normal consumer would put up with. Sometimes I think the most significant requirement of the professions is being able to work around poor design.

    6. Re:Why are we even having this debate? by Paradigma11 · · Score: 1
  53. The other problem: compatibility and stagnation by Lennie · · Score: 1

    The whole IE6-problem and now probably IE-whatever on Windows XP (there is only IE9 for Vista and higher) means things had to be compatible for far to long, without any swift upgrade path.

    This has let to stagnation of the language and many related API.

    That is where the real problem is, the language had no way to evolve.

    Just let it evolve and finally solve the old problems that exists.

    Many, many webdevelopers already use just the 'good parts' and it has already given us a lot of new ideas and piece by piece these new ideas are added to the browsers with a small compatibility layer for those that do not support it. Just an example: native json support.

    --
    New things are always on the horizon
  54. Invest in better compilers by Sla$hPot · · Score: 1

    Add an optional compile directive (attribute) to the script object to enable compilation as weakly typed code.
    An IDE could help out with typing issues.
    Compiled JS would do the crunching while regular JS would handle UI events and talk to JSON services.
    Killing JS would be like trying to strangle yourself with your bare hands.
    Be my guest :)) LOL

  55. Java that works by Anonymous Coward · · Score: 0

    We already have Java. We just it already installed in the browsers.

  56. Move on to the next thing by Anonymous Coward · · Score: 0

    Is it a coincidence that Google wants you to move to a new programming language at the same time that Mozilla has essentially caught up to Google Chrome in JavaScript performance? And when Mozilla has tons of new performance improvements on the way in IonMonkey engine?

    Google wants their competitors and other developers on a HTML ("continuously evolving standard"), HTTP (replace with SPDY), JavaScript (replace with Dart) treadmill.

  57. Sure, we just "love" BEAST by Anonymous Coward · · Score: 0

    Javascript's it's deliverer online!

    http://www.theregister.co.uk/2011/09/19/beast_exploits_paypal_ssl/page2.html

    FACE IT - Like many programming languages, Javascript CAN be a "double-edged sword", but, unlike many programming languages, it's being used rampantly online and is not secure and imo @ least, it needs work in its DOM!

    Face this too: Any scriptable document format has potentially bogus consequences!

    (Yes - my statement includes HTML webpages online, not just typically "local file" formats Office Docs & autoexec macros, & .pdf files in Adobe Acrobat Reader have shown us this for decades now)...

    APK

    P.S.=> Anyhow/anyway - per my subject-line above, what is the "deliverer" of "The BEAST"? Javascript (and it's been doing that job for malware makers countless times, in countless exploits, for decades now)...

    ... apk

  58. Javascript blows by Anonymous Coward · · Score: 0

    The only reason anyone gives a shit about Javascript now is that the routines have already been written. You need something, you cut and paste. Only a select few 'poor bastards' are having to write the code anymore. Writing javascript code still sucks big time

  59. We need bytecode by Anonymous Coward · · Score: 0

    What we need is a standard VM and bytecode format for the web. Then both JavaScript and other languages can compile for the same VM, and voila! Suddenly it doesn't matter what language you use. Happiness all around! (Emscripten is great, but using JavaScript as "bytecode" is hardly ideal.)

    Well, that, and a standard API for interfacing with the browser. Preferably something better designed than the current JavaScript mess, with an optional compatibility layer on top for older JavaScript code.

    1. Re:We need bytecode by Anonymous Coward · · Score: 0

      What format should the bytecode be though? Some options:

      * Java
      * .Net
      * LLVM
      * Something else?

      I nominate LLVM. It's very flexible, completely open, and it's already being used for Native Client/pNaCl.

  60. Browser as VM manager by trenobus · · Score: 1

    The direction of web standards seems to be one of adding more and more functionality to Javascript, enabling access to successively lower levels of abstraction, e.g. web sockets, web workers, 3D canvas. Why not cut to the chase and use a actual OS to provide these?

    The browser I want to see is one where the tabs are virtual machines that run any operating system supported by the virtualized hardware. For current web applications, the guest OS could look a lot like current browsers (minus the tabs, since the über-browser would manage them). For more sophisticated applications, the guest OS could be Linux, for example. The über-browser would need to provide for instant cloning of a guest OS template, and efficient sharing of resources between guest OS's using copy-on-write semantics. The über-browser would allow tabs to be closed (deleting the guest VM) or suspended. It also would provide mechanisms for the user to manually import/export files between the host OS and a tab and between two tabs.

    Hopefully this would lead to a new era of OS research leading to better designs for the guest web OS. For example, it would be good if a guest VM could swap out to the cloud, and swap in on another host.

  61. Python please by erko · · Score: 1

    please please please please please.

    I'm not holding my breath for that (anymore), but it would be nice.

    1. Re:Python please by FlyingGuy · · Score: 1

      Fuck you, Fuck you, Fuck you, Fuck you, Fuck you and fuck you some more! :P

      As soon as the dickheads who wrote it rebuild it so I have the OPTION of a block closure character of MY choosing I will use it, until then they can all go stuff their heads into a bucket shit.

      --
      Hey KID! Yeah you, get the fuck off my lawn!
  62. or NeWS by Anonymous Coward · · Score: 0

    NeWS was superior, but patented. Those patents are now expired. I would like to see an open source NeWS take off.

  63. Sandbox and portability by tepples · · Score: 1

    Unlike an application written in C, an application written in JavaScript can run on a computer that you don't own. You may not have the privileges to install arbitrary native applications, but computer labs allow JavaScript because it's sandboxed.

    Unlike an application written in C, an application written in JavaScript can run on more than one kind of computer as long as it has a web browser with JavaScript.

  64. Software Restriction Policies by tepples · · Score: 1

    What's "a cumbersome install process"?

    Anything that involves writing an executable to the local user account and executing it from there. Consider what would happen if /home were mounted noexec on UNIX and its clones. Windows has likewise supported disallow-by-default Software Restriction Policies for a long time.

    I hate those helpful suggestions Google wants to pop up.

    You can disable Suggest in your Google profile.

  65. Advertisements are a service fee by tepples · · Score: 1

    Show me a native word processor that can allow multiple people to edit a single file as easily as Google docs. No service fees

    Advertisements are a service fee. You pay with the distraction.

    1. Re:Advertisements are a service fee by Urza9814 · · Score: 1

      What advertisements? I've got Google docs open right now, and I don't see a single ad.

      But still, I'll even concede that they're getting revenue from non-existent ads and that that is somehow identical to paying for the service. So give me one similar product with a reasonable service fee.

    2. Re:Advertisements are a service fee by syockit · · Score: 1

      I never saw advertisements on my Google Docs. Do you have a malware on your browser?

      --
      Democracy is for the people; you only vote once per season and we'll do the rest of the work for you don't have to.
  66. AAAARRRRRGGGGGHHHHH by reiisi · · Score: 1

    I find myself agreeing with both the parent and grandparent.

    WHAT DO I DOoooooooooooooohhhhhhhhhhhh????????????????

    (Sorry for the shouting. I'll go find a corner by myself where I can breath deeply for a few minutes.)

    --
    Computer memory is just fancy paper, CPUs just fancy pens with fancy erasers; the 'net is just a fancy backyard fence.
  67. I agree by Anonymous Coward · · Score: 0

    Microsoft's quality has greatly improved in the last decade. I think Silverlight has a good architecture. Unfortunately, Microsoft can not be trusted.

  68. resources (lack thereof) by reiisi · · Score: 1

    I'm not really sure how serious I am, but the primary reason my project which I think might replace javascript (and many other things) is sitting on sourceforge without updates for a long time is my lack of resources.

    People with the resources to do the job have mostly forgotten why.

    People (crackpots, like me) who can remember why we want something else are likely to have been shunted aside by people with less patience. (And cut off from the jobs that would get us access to the resources.)

    (Oh. The current shards of my project, if you're curious, are here. Not very self-explanatory, and I can't even scrape up the time to chart the course from that to a proper scripting language, but you might find it amusing.)

    --
    Computer memory is just fancy paper, CPUs just fancy pens with fancy erasers; the 'net is just a fancy backyard fence.
  69. Insightful by Anonymous Coward · · Score: 0

    This happens all the time. When I think of it, I've spent the last 25 years working in different flooded living rooms. (Things are drier for me now, though, than ever before. But there's one wall where the 'drywall' is just a mushy paste.)

    Somebody ignores the decades of experience in coming up with general-purpose programming languages, because "they're overkill," and introduces a toy language that happens to deal with a very limited situation fairly well, or concisely, or maybe "just because." (And to fair to javascript, as much as I hate it (and I mostly do, though different amounts at different times), it is the least toy-like and least let's-ignore-the-last-50-years one of these that I've dealt with.) Then somebody gets the idea of building entire applications based on that limited situation premise. Amazingly, it doesn't fit.

    It sucks, but it could be worse:

    "Hey! I can implement logic gates in Dwarf Fortress! Let's build a computer for fun!"

    "Hey! My computer knows 25 op-codes now!"

    "Hey! I used those op-codes to build a FORTRAN compiler. No more thinking in terms of op-codes, for me!"

    "Hey, I ported a commonly-used functions library to DF77."

    "Hey, I used your functions library to write a database."

    "Hey, I used your dfsql to build an insurance billing system."

    "Hey, I'm having trouble debugging why our system's claims are being rejected. I think I've narrowed it down to .. well .. can someone tell me what SIEGE means?"

  70. I'd enjoying killing javascript by Anonymous Coward · · Score: 0

    I'd kill it with great passion. die javascript, die!

  71. Pffft! by Anonymous Coward · · Score: 0

    There is no "great javascript debate", Javascript has proven itself a fine language, The only debate is over the competence of programmers.

  72. They have it backwards by Lazy+Jones · · Score: 1

    You don't stop using a language for a particular purpose while it is the best-supported, most widespread and most evolved language for the job. You kill it when you have a better alternative and everyone is starting to use that. Google (and others) are just trying to spread FUD about JS to get people to use something they control, not because JS is so terrible ... (in fact, it has become a very decent language both for server-side work with CommonJS/RingoJS and NodeJS and recent client-side implementations are already competing with Flash performance-wise).

    --
    "I love my job, but I hate talking to people like you" (Freddie Mercury)
  73. improve it,plus add save/write file functionality by Anonymous Coward · · Score: 0

    self explanatory

  74. Down the stack... by Fat+Cow · · Score: 1

    Maybe they should specify an open VM API next time, rather than a language. The LLVM VM instruction set is open. What's the downside of that?

    --
    stay frosty and alert
  75. No mentions of.. by Anonymous Coward · · Score: 0

    NodeJs ?

  76. Here's the problem... by Millennium · · Score: 1

    JavaScript is not a perfect language by far: it desperately needs a good packaging system, semicolon insertion was a poor solution to a non-problem, overloading is a mess, and any number of other things. But the people trying to replace it are usually more concerned not so much with fixing the problems as enforcing archaic programming paradigms, replacing JavaScript's best features -dynamic typing, prototypal OO, and so on- with things that have been driving people away from programming for decades. Dash is no different.

    The Web needs something better than JS as-is, but what people tend to try to replace it with is no improvement. Incremental improvement to JS is far preferable.

  77. web v. handheld platforms by Onymous+Coward · · Score: 1

    This bit of the article is intriguing:

    But the most interesting part of Miller's Dart memo is his rationale. As he sees it, the competition isn't about Dart versus JavaScript or any other language, for that matter; it's about nothing less than the Web versus "compelling alternative platforms" -- platforms, he says, such as Apple's iOS.

    Increasingly, consumers have two ways to access the Internet and Web-based information services. Many still do it the traditional manner: through a Web browser. But a growing number of consumers are turning to smartphones as their primary means of accessing those services, and their window to the Web is not the mobile browser, but purpose-built smartphone apps.

    What are the ways in which HTML/CSS+JavaScript is not an effective platform v. native apps? What can be done about it?

  78. Re:I kind of liked the sidetrack, actually. by Anonymous Coward · · Score: 0

    And replace it with what? What system/ecosystem provides everything you get from the Java environment?

  79. Read Crockford's "Javascript: the good parts". by csirac · · Score: 4, Informative

    How does one establish whether methods/vars are public/private/protected? Or inheritance? To me, the weird misappropriation of the function keyword to build objects, the verbosity of the code to express objects, and the lack of inheritance, etc. are primitive compared to Actionscript 3, to Java, to PHP5, to C++, and a variety of other languages I've dealt with.

    You really need to read Crockford's "Javascript: the good parts". You absolutely do make private methods and vars (ever noticed that you can't directly call jQuery's internal methods? Or TinyMCE's? Or any other major library/framework?)

    He also makes the case that actually JS has more patterns to allow code re-use. That's why things like Mootools can even fake things that look like classical class inheritance patterns for you, if you really want to do that.

    Check out http://www.crockford.com/javascript/inheritance.html and http://javascript.crockford.com/prototypal.html and http://www.slideshare.net/douglascrockford/javascript-the-good-parts-3292746

    1. Re:Read Crockford's "Javascript: the good parts". by voidphoenix · · Score: 1

      +1 Informative

  80. option B by sproketboy · · Score: 1

    NT

  81. Re:I kind of liked the sidetrack, actually. by rthille · · Score: 2

    Earth?

    --
    Awesome furniture, accessories and cabinetry in Santa Rosa, CA: http://humanity-home.com/
  82. Re:Static Strong (AKA Break the Internet) by Required+Snark · · Score: 1
    So in your lovely theoretically pure strongly typed language, what do you do when live data doesn't correctly follow the strongly typed paradigm that is part of the language design? There are only two choices, as far as I know. First, you handle every data variation with explicit code in every client side application or you have exception handlers that catch all data type exceptions and keep the code running under all conditions. The two options are equivalent, they only differ in where the special case code resides. It's all just a simple matter of coding, right?

    And if you don't explicitly deal with every special case, your strongly typed language will quit working, leaving the user with a cryptic error message and a unusable broken web page. Yes, this is obviously the way to get all browser creators to jump on your bandwagon. Just make their products less reliable and make it much more difficult to write client side code that is robust.

    JavaScript has some truly evil parts, but soft run time typing is not one of them. I believe that this is one of the features that has kept it dominant in the browser software domain. If the code encounters something unexpected in the data, it can just keep running. A feature on a web page can not work, or the wrong thing will be displayed, but the rest of the page will be useful. This is critically important to browser usability.

    There are clearly problems with this approach. There is a huge amount of bad code out there that is just plain wrong and works badly. Other aspects of JavaScript make it very had to debug code and fix errors. The fact that things still work under these conditions just proves that my position is valid.

    The information that passes into you browser is incredibly ill formed. This will not change. To process it correctly, your code has to deal with a lot of bizarre special cases. This is independent of strong or weak typing in the client side language. A strongly typed language makes this problem insurmountable, and a weakly typed language means that you can get useful results even when bugs are present. The choice is between having a useful result, or encountering major malfunctions at every turn.

    So do you want to make the Internet work, or do you want to break it?

    --
    Why is Snark Required?
  83. Brilliant Idea... by Anonymous Coward · · Score: 0

    I think it deserves a cool name. How about something like 'X'?

  84. Old Programming Languages never die ... by dazlari · · Score: 1

    they just stop getting executed.

  85. A discrete API for web apps by jones_supa · · Score: 1

    If we want to deliver these "cloud apps" there could be a system designed from ground up for applications instead of these horrible AJAX hacks. Make it have a real API for GUI components (pulled from network) instead of drawing some boxes with HTML. This way we don't have to have thick clients running native software but we would get a saner interface for this type of stuff. What do you think?

  86. Re:Static Strong (AKA Break the Internet) by shutdown+-p+now · · Score: 1

    So in your lovely theoretically pure strongly typed language, what do you do when live data doesn't correctly follow the strongly typed paradigm that is part of the language design?

    I prefer to use "pragmatically typed" languages instead - ones which let you opt into duck typing when you want, but default to static typing because it's preferable in most cases.

    or you have exception handlers that catch all data type exceptions and keep the code running under all conditions.

    That doesn't really make sense, since you don't have "data type exceptions" in statically typed languages - you have compiler errors from type mismatches. You can get an error from an incorrect downcast (in some statically typed languages, not all of them - e.g. OCaml simply doesn't have downcasts), but I don't see how this would be of any help to you in a scenario where data is so vaguely shaped that it cannot be properly typed.

    You also underestimate the versatility of static typing, probably because GP mentioned Java specifically, and you use it as an example. We can do much better. For example, in OCaml - which is statically and strongly typed, more so than Java - you can define a function thus:

    let f x = x#foo

    "#" is a method call operator. The type of function "f" in the above snippet is statically inferred to be "function taking one argument of any object type that has a no-argument method 'foo'". This is still different from duck typing because the constraint is actually verified at compile-time - you can't pass just any random object to it, you can only pass something that is statically known to have "foo". But, with flexibility like that, type inference just walks its way through the entire chain of method calls, starting from the point(s) where "foo" originates - and even if you have two completely unrelated classes which both have "foo", it'll be able to figure it out.

    Indeed, most code written in duck-typed languages can be written almost identically in a statically-typed, structurally-typed language with pervasive type inference.

  87. nest it by Anonymous Coward · · Score: 0

    Just give us a language IN which somebody can implement javascript. Problem solved.

  88. I guessed wrong by tepples · · Score: 1

    I guessed that because Google has ads on so many other services, and its primary source of revenue is ads, it must have ads on Google Docs. I now admit that I had guessed wrong. How does Google recover the cost of providing the Google Docs service?

    1. Re:I guessed wrong by Anonymous Coward · · Score: 0

      Probably by free services indirectly helping to promote paid versions of those services.

    2. Re:I guessed wrong by angloquebecer · · Score: 1

      I suspect they benefit in two ways.

      1. 1. The more google services are available, the more people will have a google account in general. This makes it easier for them to use other google services with ads (like gmail).
      2. 2. The more time people spend in the browser (even editing documents) the more likely they will see ads in other tabs/windows. It's been long known Google wants to replace the OS with the browser.
    3. Re:I guessed wrong by cheekyboy · · Score: 1

      if its apple or microsoft employees, they 'read' their corporate secrets.

      --
      Liberty freedom are no1, not dicks in suits.
  89. strong types suck... by cheekyboy · · Score: 1

    I want to spend my time programming the solution, not fighting the language.

    The future will be where any app or api can go global, interchat with remote apps/services/apis/devices.

    strong types belong to hardware specs even those are getting more dynamic and flexible.

    --
    Liberty freedom are no1, not dicks in suits.
  90. Re: Agreed, Javascript is a turd...by itself by Anonymous Coward · · Score: 0

    Javascript has some very poor aspects and a bunch of cruft/inclusions that should not exist. As part of the (existing) move toward standards, the client-side processing language should become more "standard" and "one way works for everyone" and "incorporates the characteristics of a successful language of today" and "meets the intent of its use on the client-side."

    This may actually involve multiple languages for different use-cases....

  91. Invalid syntax is valid by bbqsrc · · Score: 1

    Try: + + "y";

    This is valid syntax in JavaScript. Kill it with fire.

    --
    Disagree != mod troll.
    1. Re:Invalid syntax is valid by Anonymous Coward · · Score: 0

      "Invalid syntax" != "Syntax I'm not used to". There's no "valid, but invalid syntax". There's valid syntax, which is accepted by interpreter, documented and has defined meaning, and invalid, which is not.

      I only hope you won't ever see Perl, your poor brain will explode of what's valid syntax there (well, I hope i'll never see Perl anymore too)

  92. Fuck It! by Anonymous Coward · · Score: 0

    I'm going into construction.

    You can have .net, c, c++, c+++, c#, f#, VB, VB.net, flash, java, javascript, html[#1-100], DART, FART, all those stupid animal book languages and all the rest of the crap.

    You can't debug half of this shit because you need admin rights to the servers, the tools don't exist and/or you need $10,000 worth of Microsoft products. And even if you do have all that, half the crap is on the server, half in the browsers (which are not compatible and do crazy weird shit all the time) and this whole "stateless" things essentially makes it all behave like an Alzheimer's patient.

    I.T. is polluted with half assed ideas and implementations and fanboys of every nature. Nobody can fucking figure out anything. You can't get a job unless you have 20 years experience in a 10 year old technology and even then they want someone who knows every technology out there and, BTW, they want you to move to some shit hole place where an apartment cost $4000 a month and you really can't own a car.

    Fuck all of y'all, I'm going to go dig ditches.

  93. Re:I kind of liked the sidetrack, actually. by kdemetter · · Score: 1

    Great. Where can i download it ? Do you have a tutorial ?

  94. Oh, by the way, let's get rid of C by Anonymous Coward · · Score: 0

    A stupid, sparse language that does nothing out of the box! Oh? There's a gazillion of libraries, and people have been taught how to avoid most of its traps for 3 decades? Well, you don't say!

  95. My opinion by AlanBDee · · Score: 1

    My opinion is to kill JavaScript. As a prototype object language it's like driving a car with levers instead of a steering wheel and pedals (remember many of the first cars built used a series of levers) It wasn't done right in the fist place and trying to continue to improve it won't get past many of it's fundamental faults. It has only been made usable lately because of frameworks like jQuery.

  96. Do not want by warrax_666 · · Score: 1

    Working with Objects seems particularly primitive to me. I believe someone else pointed out the lack of strong typing and inheritance, among other things

    Prototypal object models are just different from class-based object models. Neither is particularly better/worse than the other, just different. If you want to you can even implement "classical" object orientation in Javascript if you want.

    You can almost get strong typing (not static) in Javascript if you always use the "===" and "!==" operators instead of "==" and "!=". (See "JavaScript: The Good Parts" by Crockford and JSLint.com.)

    I wish that hardware manufacturers, browser develoeprs, and web standards groups, etc. would normalize and standardize languages and hardware access so that it [...]

    This was more or less what happened with the DOM... one the (rightly) most maligned APIs of all. You may think you want an API designed by a committee, but you really don't. If DOM isn't example enough, I don't know what would be.

    --
    HAND.
    1. Re:Do not want by TheRaven64 · · Score: 1

      Neither is particularly better/worse than the other, just different

      I think that depends on the problem. There are a lot of cases where one is better, and if you have the other then you end up creating a hacky implementation of the one you really wanted.

      --
      I am TheRaven on Soylent News
  97. Re:Static Strong (AKA Break the Internet) by JonySuede · · Score: 1

    Indeed, most code written in duck-typed languages can be written almost identically in a statically-typed, structurally-typed language with pervasive type inference.

    Amen

    --
    Jehovah be praised, Oracle was not selected
  98. Actually it can by xdor · · Score: 1

    The genius of Brendan Eich's language is that its so flexible you define new features and redefine existing ones.

    There's a (Japanese) implementation of the Java JVM in JavaScript and someone else ported Apple's Objective C in JavaScript

    Now personally I don't really care to use either of those (I'd rather stick closer to the actual language being used, and in this case JavaScript is the web), but I think JavaScript is more than adequate as it is

    It's unlimited supply of modeling clay: don't complain just because you can't decide what to make!

  99. There is, though maybe not in English by xdor · · Score: 1
  100. what about source codes still stuck in 80s by cheekyboy · · Score: 1

    All source codes are stuck in the 80s, based on files and directories.

    What we need is a new better organization.

    Yes IDEs rule, but they dont share 'project' files. They should, it should be open and standard.

    All functions n classes should be each in a different 'object' or file.

    Let the IDE Hide how it looks.

    The idiotic management needed by coders to decide what function goes in what file and what dir, is a nightmare, because it makes it difficult to move functions around and restructure and share parts.

    Its so 1980s!! Someone please redesign the code editing ecosystem.

    Besides having compilers accessing files constantly is garbage, if its all in ram, it should compile with zero disk IO.

    Flash IDE is part way there, hiding the files/objects on disk and manage it all as a project.

    --
    Liberty freedom are no1, not dicks in suits.
  101. neither did billgates or steve jobs by cheekyboy · · Score: 1

    They left school early, did that hurt their abilities?

    Why do people still use COBOL? Its an engineering failure.

    --
    Liberty freedom are no1, not dicks in suits.
  102. Re:I kind of liked the sidetrack, actually. by bgibby9 · · Score: 1

    Nah, the specs are shit, probably best to do a re-write ;)

    --
    http://www.gibby.net.au
  103. Python? by Anonymous Coward · · Score: 0

    Why not replacing javascript by python?

  104. C don exits by tepples · · Score: 1

    No, NaN and Infinity are not sane responses, and yes this is JS specific, any other language that does it doesn't exist for me

    In that case, any language without exceptions as a language primitive and with IEEE 754 arithmetic doesn't exist. This means C doesn't exist. Good luck booting a modern PC, tablet, or smartphone without at least some code written in C.

    raise an exception which *is* the sane thing to do when dividing by zero or doing other invalid math operations.

    When dealing with coordinates and projection, sometimes it is useful to have a number x such that any nonzero number divided by x is zero. For example, ray-casting an infinite floor plane will return infinite distance at the horizon. Or did you want two division operators, one that raises an exception and one that produces these non-real numbers?

    JS is workable, but the list of things that I would change in it is large enough that I would rather drop it for any other of the major scripting languages out there

    You could always build a compiler from "any other of the major scripting languages out there" to JavaScript.

    1. Re:C don exits by Requiem18th · · Score: 1

      Are you really trying to imply that C is a sane language to develop for? So after some reading it seems that you do get "NaN" or "inf" types if you include math.h and work with floats. Al the better reason to avoid C.

      --
      But... the future refused to change.
  105. How exactly is JS camera/mic access problematic? by tepples · · Score: 1

    How exactly is it still problematic if the user has to click a "Turn On Camera and Microphone" button on the page?

  106. Re:How exactly is JS camera/mic access problematic by Grishnakh · · Score: 1

    What if they don't? Why would a malicious website put such a button on their website?

    With Javascript having access to hardware, the website has the power to take over the user's hardware, assuming the browser allows it. Obviously, some browsers would be able to add in a feature disallowing this except for certain websites (just as some browsers now allow you to disable Java and Javascript for certain websites, or to block certain Javascript features like pop-up windows), but we can't assume that all browsers would do this.

  107. Re:How exactly is JS camera/mic access problematic by tepples · · Score: 1

    Why would a malicious website put such a button on their website?

    Because until the user has activated such a button, all attempts to access the camera or microphone input would raise a security exception.

    With Javascript having access to hardware, the website has the power to take over the user's hardware

    Access to input devices != direct access to hardware. JavaScript already has access to keypresses and mouse movements, yet that doesn't give web sites "the power to take over the user's hardware". Why would audio from a microphone or video from a camera be any different?

  108. Re:How exactly is JS camera/mic access problematic by Grishnakh · · Score: 1

    Because until the user has activated such a button, all attempts to access the camera or microphone input would raise a security exception.

    You're assuming the browser doesn't just grant access to these devices willy-nilly. IE's track record on this stuff hasn't exactly been stellar; does IE even have a pop-up blocker these days? What about Safari? Large corporations have proven time and time again that you can't trust them to protect your privacy; just look at Facebook: the people running that don't even believe you should have any privacy!

    JavaScript already has access to keypresses and mouse movements, yet that doesn't give web sites "the power to take over the user's hardware"

    It gives JS access to that information while the user is on that web page and looking at that tab. Same goes for camera and microphone, except that the information there is potentially more damaging than your mouse movements.

    Of course, none of this would be such a big deal if webcams were required by law to have an LED indicator light that showed any time the cam was on, but unfortunately that's not the case, and many of them don't.

  109. Re:We hated flash then too. We've always hated fla by Eponymous+Hero · · Score: 1

    i remember those days. back then guys like you would complain about the file size over dialup, but didn't bother to learn enough to break out your content into external swf files, and lazy load only what you need. you also had retarded clients who insisted on skip intro pages, but you never acknowledged your own fault in either not being an expert or not positioning yourself as an expert, to advise against such stupid practices. you were a yes-man.

    anyone who really knows flash well knows that the only true fault it has (still today) is a buggy compiler that sometimes interprets your coding errors in unrelated ways that make it difficult to debug. accidentally pasting a special character into actionscript might cause the timeline to ignore all stop commands, or something like that. any other "fault" is really just more of an annoyance. the truth is every language has those kinds of faults, especially whatever language you prefer. if you knew enough about the tool and the language, you wouldn't care if the aspect ratio was 640x480 or 1920x1080.

    and any attitude a developer has against faithfully reproducing the designer's vision is counter productive. if you were trained to communicate visually the client wouldn't hire a designer. you're trained to design and build systems (at least, i hope). so quit bitching and do it. to complain about designers makes about as much sense as construction workers complaining about the architect and how s/he wants a building to look (omg this material is expensive and easy to ruin!). it's your fucking job to make it look the way it was designed.

    no one who's ever stated they "hate" flash ever had a rational, well thought-out, or even accurate reason for it. it's all just excuses from the least able in the field (especially you steve jobs). boo fucking hoo.

    --
    insensitive clod overlords obligatory xkcd car analogy russian reversals whoosh pedant fanbois ftfy in 3...2...1..PROFIT