Slashdot Mirror


Google Releases Open Source JavaScript Tools

Dan Jones writes "Google has open sourced several of its key JavaScript application development tools, hoping that they will prove useful for external programmers to build faster Web applications. According to Google, by enabling and allowing developers to use the same tools that Google uses, they can not only build rich applications but also make the Web really fast. The Closure JavaScript compiler and library are used as the standard Javascript library for pretty much any large, public Web application that Google is serving today, including some of its most popular Web applications, including Gmail, Google Docs and Google Maps. Google has also released Closure Templates which are designed to automate the dynamic creation of HTML. The announcement comes a few months after Google released and open sourced the NX server."

158 comments

  1. Nice... by socceroos · · Score: 2, Insightful

    These could come in handy. Google has had a fair bit of experience making Javascript apps that run acceptably. I've got a project coming up, and I'll bookmark this for consideration.

    Thanks Google. =)

    1. Re:Nice... by amicusNYCL · · Score: 1, Interesting

      These results are very impressive. I fed it a 445KB Javascript file for one of my applications and it was able to reduce that to only 9KB of code! Who knew that 90% of that code was just cruft? It even had the added bonus of randomly inserting subtraction operators in the middle of my identifier names and constants.

      closable:f-alse
      suc-cess:function(){window.location.reload(true)}

      I also gave it the URL of a 860KB JS file which it claimed was "unavailable", despite being able to load the 445KB file in the same directory.

      Let me guess, Google: it's a beta.

      --
      "Our two-party system is like a bowl of shit looking at itself in a mirror." - Lewis Black
    2. Re:Nice... by Jurily · · Score: 0, Offtopic

      Get some priorities, AC! Google releases the compiler they used to make Gmail fast and you want to talk about muslims?

    3. Re:Nice... by Anonymous Coward · · Score: 0, Offtopic

      A type of finely-woven cotton fabric has gone on a murderous rampage you say? That is big news!

    4. Re:Nice... by tixxit · · Score: 2, Insightful

      I am pretty sure that the Closure Compiler is meant to be used with code written for, and in the style of, the Closure Library.

    5. Re:Nice... by Akral · · Score: 1

      There is a 500kb limit on the size of Javascript code.
      http://code.google.com/closure/compiler/docs/api-ref.html

      Wait, 860KB?! O_O

      --
      Don't worry, be happy!
    6. Re:Nice... by maxume · · Score: 1

      It should still be able to do a reasonable job with any javascript (or you end up writing not javascript, but Closure javascript, which really isn't that attractive).

      --
      Nerd rage is the funniest rage.
    7. Re:Nice... by amicusNYCL · · Score: 1

      I suppose I could minify that first, minified it's down to about 450KB. But I was trying to determine if this does a better job minifying the code, so I guess the answer to that is no.

      But yeah, that's the main admin interface file for my application. Gzipped it's down to only 50KB to download though, so it moves pretty quick.

      --
      "Our two-party system is like a bowl of shit looking at itself in a mirror." - Lewis Black
    8. Re:Nice... by Anonymous Coward · · Score: 0

      The advanced compression *requires* you to code in a particular style to use it (read the effing manual).

      Let me guess, Google: it's a beta.

      You missed the comments saying this is used on their major properties? Or is your web app more popular than gmail?

      I am sure that 90% of *your* code is cruft given how quick you are to dismiss something of real value.

    9. Re:Nice... by amicusNYCL · · Score: 1

      The advanced compression...

      Not sure how that applies to my example of using the simple compression.

      *requires* you to code in a particular style to use it

      If it requires a specific coding style it's not really a "Javascript compiler", is it?

      read the effing manual

      I assume you're referring to this:

      http://code.google.com/closure/compiler/docs/api-tutorial3.html

      So what should I do, every time I define a function or property I need to set a reference to it in the global window object? You know, there's a reason I use namespaces in my code (or at least as close as Javascript can get). Should I go through all 1MB+ of Javascript code for the application and rewrite everything just for the privilege of using Closure to minify everything? There are plenty of minifiers around that don't break my code.

      Or is your web app more popular than gmail?

      No, only a few hundred thousand users.

      I am sure that 90% of *your* code is cruft given how quick you are to dismiss something of real value.

      Again, there are plenty of minifiers out there. If my code doesn't have any unreachable functions it doesn't really matter if I'm using something that removes unreachable functions.

      I do notice that you're more than willing to jump to unfounded conclusions yourself, though.

      --
      "Our two-party system is like a bowl of shit looking at itself in a mirror." - Lewis Black
  2. My gawd by Anonymous Coward · · Score: 0, Troll

    Why are people investing so much in a fundamentally flawed scripting language that has almost no use at all outside the browser and that Palm Pre thing that is basically a browser in a plastic case?

    yeah, do everything from inside a browser because every day 'users' seem unable to deal with anything that doesn't behave like a Web based interface. JavaScript is so inefficient and so many hacks are required to do anything useful we will probably see computers with JavaScript co-processors and Intel Core 3's with extra instructions to help cut through the cruft.

    1. Re:My gawd by prozaker · · Score: 5, Insightful

      its either javascript, flash or silverlight.

    2. Re:My gawd by prozaker · · Score: 1

      almost forgot you Javafx :o

    3. Re:My gawd by maxume · · Score: 1

      And flash pretty much depends on javascript (Well, last time I checked, actionscript was pretty much an implementation of Ecmascript).

      --
      Nerd rage is the funniest rage.
    4. Re:My gawd by Dhalka226 · · Score: 2, Insightful

      Personally I find your post to be completely trollish, but let's go ahead and assume everything you've said is correct.

      So what?

      I don't personally find web-based tools better than ones I install on my own system. Let's go ahead and assume that nobody does and nobody ever will. Why is it wrong or in any way bad that web sites want to push as close as they can to that functionality, either as a replacement for it or simply to enhance their own users' experience? If it becomes the problem you're oh-so-afraid of, it means that people actually like what's going on. I know that's nasty to some geeks who think they know best and anybody who doesn't agree are worthless peasants treading on their turf, but to more reasonable people it's a good thing.

      Yes, people will make bad decisions in when, where and how they use JavaScript tools. That's true of any tool. It doesn't devalue it.

    5. Re:My gawd by CannonballHead · · Score: 2, Insightful

      Why are people investing so much in a fundamentally flawed scripting language that has almost no use at all outside the browser

      Got any other [well supported] options?

    6. Re:My gawd by Post-O-Matron · · Score: 4, Insightful

      Let me guess: you're a non-web developer? A.K.A a "real" developer.

      Well, in the current web world saying "why use Javascript??" is about a smart question as asking "Why use C??" or "Why use Java??" in the desktop world.

      It may have 10,000 flaws in it, but that's the de-facto standard ATM.

      Furthermore, unlike the desktop realm were you install your dependencies with an installer, in the web you have to wait 5 years for the crap old technologies to drain out after the new better one comes out.

      None of us would use Javascript if we had a choice, but we don't. So toolkits like JQuery or this release by Google are life savers.

    7. Re:My gawd by asdf7890 · · Score: 4, Informative

      Why are people investing so much in a fundamentally flawed scripting language that has almost no use at all outside the browser and that Palm Pre thing that is basically a browser in a plastic case?

      Actually JavaScript is a rather good language in many ways, though it does have some flaws. Give "JavaScript, the Good Parts" a quick read some time.

      The main problem in the place where people usually see the language, in the browser, is when interacting with the Document Object Model in browsers - a model that isn't exactly my favourite environment to start with and that is before considering all the hacking you have to do to get things to work well on multiple browsers (even when only considering modern versions).

    8. Re:My gawd by Azureflare · · Score: 1

      The main problem I've found is how web servers/web browsers tend to rewrite the html used in the page. Sometimes. So sometimes there will be no quotes around attributes for elements in IE6, but there will be double quotes around attributes for elements in Firefox. It drives me crazy when using specific html commands from jquery especially.

      But largely I've found jquery to be a lifesaver as another person said above. There are quirks, but they are fairly minor and only if you are doing really complicated stuff you probably shouldn't be doing on the client side anyway (but sometimes you have to when you are forced to use a COTS product hosted on their servers .. sigh).

    9. Re:My gawd by RichardJenkins · · Score: 5, Funny

      in the web you have to wait 5 years for the crap old technologies to drain out after the new better one comes out.

      Pah! Optimists...

    10. Re:My gawd by Zardoz44 · · Score: 1

      None of us would use JavaScript? Maybe one of us likes it.

      Stop confusing the DOM with JavaScript. I think you'd be hard-pressed to find 100 flaws, and less than 10 core language problems (e.g., non-library), with many in both lists being subjective issues.

    11. Re:My gawd by Anonymous Coward · · Score: 0

      but that's the de-facto standard ATM.

      JavaScript may be the de-facto standard runtime ATM, since that's what the browser vendors have implemented, but there's other options for the interface the developer deals with. There's a bunch of things that have a different developer interface and yet compile down to JavaScript. Heck, this library includes a compiler that compiles JavaScript down to JavaScript.

      For example, Google's other JavaScript library project, GWT, allows you to do almost anything you can do in straight JavaScript using Java instead. You get all the advantages of programming in Java (mostly tooling) and yet your code runs in the browser and, IME, performs better too.

      None of us would use Javascript if we had a choice, but we don't.

      You do, you either just don't know about your options or you don't like those languages as much as you like JavaScript.

    12. Re:My gawd by Post-O-Matron · · Score: 2, Insightful

      I'm not confusing anything with anything. I'd like to have real OO syntax and proper error handling. Debugging JS or maintaining a large JS codebase is a nightmare.

      Sure it's awesome for small things here and there, but the problem is exactly the fact that it's usage has grown way beyond that.

    13. Re:My gawd by Post-O-Matron · · Score: 1

      How does that contradict my previous point?

    14. Re:My gawd by Anonymous Coward · · Score: 0

      You get all the advantages of programming in Java

      What, you get to drive up your LOCs/day "productivity" rating? Only a true masochist could come up with a way to take a fairly terse dynamic language and gunk it up with Java.

    15. Re:My gawd by buchner.johannes · · Score: 2, Interesting

      It's a sad thing that mono is currently better supported on GNOME than Java. Where are the Java desktop programs?

      Anyone unhappy with Flash and Silverlight should really push JavaFX and make his/her desktop Java-ready. Let's kill Silverlight and Flash with Javascript and JavaFX, the open languages.

      --
      NB: The message above might reflect my opinion right now, but not necessarily tomorrow or next year.
    16. Re:My gawd by Flammon · · Score: 1

      If I had a choice, I would use Javascript.

    17. Re:My gawd by Nefarious+Wheel · · Score: 3, Interesting

      Let's kill Silverlight and Flash with Javascript and JavaFX, the open languages.

      Sad face here, I wonder just how open Java will remain. Consider: Java was defined by the Sun Java Test Suite, wasn't it? And now Oracle owns Sun. Oracle has long been known to me as a very agressive closed, proprietary company living off their software licenses.

      Should the Open Source community still be backing Java, now that the rather benign hand of Sun is no longer controlling it? Is it time to rally around something else now? Some language where you aren't in danger of being sued for infringement if you copy a test suite?

      I am worried about Oracle pulling the strings, at some point they may think it in their best interests to act in such a way as to drive the language to more proprietary platforms. It's within their scope to do so, and it may be in their best interests to try. What was once the language choice for clear sailing is now in treacherous waters I think. Write once, run everywhere - for a given value of "everywhere".

      --
      Do not mock my vision of impractical footwear
    18. Re:My gawd by markkezner · · Score: 4, Informative

      I'd like to have real OO syntax

      What is it about JS's OO syntax that isn't "real"?

      Is it because it's prototype-based instead of the class-based paradigm that you're probably used to? There are actually some advantages (and disadvantages) to this approach. Just because it may not be what you're used to or comfortable with doesn't make it bad.

      --
      Dangerous, sexy, turing complete: Femme Bots
    19. Re:My gawd by Anonymous Coward · · Score: 0

      Can't tell if my sarcasm meter is broken.... but :

      I actually like JavaFX. I'm sure people will beat me for it, but I find it really really easy to code with the declarative syntax an' all. Don't get me wrong, it's purely a UI kind of thing, but the syntax is pretty neat, and I can seamlessly integrate a java back end to have a funky UI (try making a shiny iPhone style button with pure Java :) ).

      I'm not too sure about it on the browser, I haven't really tried out any heavy duty stuff, but as a desktop application front end it's great.

      For me, the kicker is seamless integration between web/desktop apps. Imagine gmail was written in JavaFX, just drag and drop it to your desktop (while it's running in the browser) and bam, desktop email client that you can run without the browser the next time... that's sweet.

      It's still only v1.2, and the difference of 1.1 and 1.2 is HUGE. Imagine the improvements still to come.

      I know desktop Java is in a sad state now, but they have a really good stack, from the db, enterprise appservers, to client browser UI, to desktop... I really do prefer that to having to mix and match PHP, javascript, Flash and god knows what else to get the same effect.

      I know that these things are determined by need, so only time will tell how things will be in a few years.

      With GNOME, not too sure what's happening, I haven't had any problems with it so far (although I haven't really given it a hardcore test)

    20. Re:My gawd by jo42 · · Score: 1

      de-facto standard ATM

      Some saying about when the only tool you have is a hammer comes to mind here...

    21. Re:My gawd by buchner.johannes · · Score: 1

      Oracle has various Java-based products, for example the Oracle database installers. Since it is in their best interest that these run everywhere -- Linux-servers, Windows, Solaris, their own Unix -- I highly doubt they will hurt Java deliberately. It is more likely that they aim for interoperability.
      Either way, Java is fully open source
      => nothing can control it, it can only have more or less development in some direction
      => nothing *can* kill it, it can only be abandoned.
      So I disagree, it is the only language that does "write once, run everywhere" correctly (also considering the defined interfaces for libraries such as audio, bluetooth, databases, ...).

      --
      NB: The message above might reflect my opinion right now, but not necessarily tomorrow or next year.
    22. Re:My gawd by Anonymous Coward · · Score: 0

      None of us would use JavaScript if we had a choice, but we don't. So toolkits like JQuery or this release by Google are life savers.

      I would suggest grabbing a copy of JavaScript the good parts. Contrary to popular belief JavaScript is a very good language. It is Lisp in C clothing and was designed that way for a reason. C is the most widely understood syntax while Lisp semantics remain one of the most flexible languages to date. JavaScript is one of the few languages that is truly what you make it. It can be purely functional, It can be OO (Inheritance) or (Mix-In, Interface), you get to decide. You can write deep AI with it, yet a beginner can pick it up as a first language in a few days. And (This is a big one) It has true lambda forms. There are only a hand full of serious flaws to JavaScript the worst being that everything by default is declared in global scope, but even with that the language is so flexible that you can write your own name-spacing scope. JavaScript was chosen (written) as the default language for the web for a reason and it is a shame that the DOM has done so much damage to the reputation of such a well designed language.

    23. Re:My gawd by Mr.+DOS · · Score: 5, Insightful

      Why is this modded funny? Apparently someone's forgotten that IE6 was released in August 2001; it's taken just over eight years for its market share to be superseded by another browser, and it's still firmly entrenched in some corporate environments.

            --- Mr. DOS

    24. Re:My gawd by VGPowerlord · · Score: 3, Insightful

      To extend the analogy someone else used earlier, OO in Javascript is like attempting to tighten a screw with a hammer.

      --
      GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
    25. Re:My gawd by VGPowerlord · · Score: 1

      its either javascript, flash or silverlight.

      I know the GP post isn't the easiest to read, but you replied to a post that boiled down to "why use web technologies when you can write native apps" with "it's either javascript, flash or silverlight" and got modded insightful? WTF?

      Anyway, what's wrong with C/C++ and a cross-platform GUI lib, like, say... wxWidgets? Or if you want something at a lower level, SDL?

      --
      GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
    26. Re:My gawd by ceoyoyo · · Score: 1

      Yes, it's not Javascript that's the problem, it's the web browser. We should just take the javascript interpreter out of the browsers and use it alone to interpret Javascript programs. Let the program talk directly to the web server, database, whatever. You could even use ports other than 80! ;)

    27. Re:My gawd by tixxit · · Score: 1

      JavaFX is not open and Flash is better supported under Linux.

    28. Re:My gawd by Anonymous Coward · · Score: 0

      The problem I have with Java is that I can always tell if an app was made in Java because it doesn't look like normal apps on my system. Perhaps it's possible to make it look like a native app, but I have yet to see anyone do it. And no, even telling swing to use native widgets doesn't make it look native.

    29. Re:My gawd by zapakh · · Score: 1

      And I'm still not allowed to use PNG transparency at my job. :(

    30. Re:My gawd by RichardJenkins · · Score: 1

      I think in the case of PNGs, the workaround for IE^'s quirks are worth it.

    31. Re:My gawd by kripkenstein · · Score: 4, Interesting

      None of us would use Javascript if we had a choice, but we don't. So toolkits like JQuery or this release by Google are life savers.

      JavaScript the language is actually very nice - the main problems with 'JavaScript' are browser inconsistencies, the DOM, etc. etc.

      But if you take JavaScript itself, then yeah it has some problems - it was rushed - but it has good parts: It's a dynamic language, supports closures, first-class functions, convenient object definition syntax (from where we get JSON), etc. Due to its ubiquity, it also has the most secure and fast engines of any dynamic language (except for LuaJIT, but a comparison there is a topic all in itself).

      Because of those, JavaScript is being used more and more as a scripting language outside of web browsers, for example in desktop environments, game engines, etc. If you stick to good coding practices in JavaScript, you can write large and robust applications in it.

      But, again, to return to the original point, the current state of JavaScript in browsers is very messy. Which is why we need things like jQuery, and maybe this new library from Google as well.

    32. Re:My gawd by kripkenstein · · Score: 4, Informative

      To extend the analogy someone else used earlier, OO in Javascript is like attempting to tighten a screw with a hammer.

      I respectfully disagree.

      See for example John Resig's approach. Basically it adds more familiar class-based inheritance to JavaScript, building upon the existing prototype-based inheritance. I am using it in a large project (see my homepage link), and it works great. Btw, it seems Google has something similar in the Closure Library, as well, but I didn't check if it was as concise as Resig's.

      JavaScript is a flexible language (Crockford once called it "Lisp in C's clothing"), which lets you 'extend' it in ways like the one linked to above.

    33. Re:My gawd by Anonymous Coward · · Score: 0

      Name a commonly used language that is more OO than JavaScript. Real OO syntax? You don't know what you're talking about.

    34. Re:My gawd by Anonymous Coward · · Score: 0

      Or HTML5

    35. Re:My gawd by Anonymous Coward · · Score: 1, Informative
    36. Re:My gawd by somersault · · Score: 2, Insightful

      I used to hate the idea of web apps, then I started to see them as an important tool for helping people transition away from Windows. Unless we all standardise on one OS though, which probably will never happen, then web based or otherwise interpreted apps will continue to be very useful, so I've just kind of accepted it.

      I can't wait to use some of this stuff in some of my projects here at work. I first tried to get into dynamic web pages when the whole lack of standards between IE and Netscape was making dynamic HTML stuff a complete mess. It mostly put me off from trying anything too fancy interface-wise again, beyond a few show/hide buttons, and a CSS based menu system that I use. It doesn't make much sense for everyone to have to write their own code to emulate standard interface elements, so it's great to see such a high quality library made available for everyone :)

      --
      which is totally what she said
    37. Re:My gawd by marcosdumay · · Score: 1

      Well, you forgot vbscript ;)

    38. Re:My gawd by cheshiremoe · · Score: 1

      I think that the Eclipse Application Platform looks fairly good and is highly functional too. I never like the windows look all that much. But why does it have to look the same. A lot of Apps are now design like web-pages now, Flash applications, they don't look like the any of the native UIs anyway.

    39. Re:My gawd by ultrabot · · Score: 1

      Or HTML5

      Which basically means "Javascript".

      --
      Save your wrists today - switch to Dvorak
    40. Re:My gawd by Dragonslicer · · Score: 1

      And flash pretty much depends on javascript (Well, last time I checked, actionscript was pretty much an implementation of Ecmascript).

      ActionScript and JavaScript are both variations of ECMAScript, so they are similar languages, but there are some differences, especially since browsers still only support older versions of JavaScript. The most obvious one that I remember is that ActionScript defines classes in the normal Java way, and that variable types are checked at compile time. I've read that newer versions of JavaScript (1.6 or 2.0, maybe?) add support for normal class definitions.

    41. Re:My gawd by FlyingBishop · · Score: 1

      You're looking at it from the wrong perspective. Javascript isn't there to make your life easier. It's there to provide a mechanism for you to do something while minimizing the attack surface of the browser.

      They could have included a full scripting language with the browser, but they chose not to for security and efficiency reasons. Javascript vulnerabilities don't show up half as much as Flash vulnerabilities, and it's because the language is intentionally simplistic.

    42. Re:My gawd by jaydonnell · · Score: 1

      libraries like jquery have been solving this problem for a while.

    43. Re:My gawd by sglane81 · · Score: 1

      PNG support works in Internet Explorer 6, but is limited to BOOLEAN ( indexed ) transparency. IE7 and IE8 support alpha transparency. There is a nasty filter hack for IE6 if needed, but I would never use that.

      --
      This is the Internet. You can say "fuck" here. - AC
    44. Re:My gawd by VGPowerlord · · Score: 1

      To extend the analogy someone else used earlier, OO in Javascript is like attempting to tighten a screw with a hammer.

      I respectfully disagree.

      See for example John Resig's approach. Basically it adds more familiar class-based inheritance to JavaScript, building upon the existing prototype-based inheritance. I am using it in a large project (see my homepage link), and it works great. Btw, it seems Google has something similar in the Closure Library, as well, but I didn't check if it was as concise as Resig's.

      JavaScript is a flexible language (Crockford once called it "Lisp in C's clothing"), which lets you 'extend' it in ways like the one linked to above.

      Something from way back at the first post in this thread just came to mind:

      JavaScript is so inefficient and so many hacks are required to do anything useful...

      People continue to use JavaScript to do things it was never meant to do and then wonder why it's so much slower than desktop applications.

      --
      GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
    45. Re:My gawd by prozaker · · Score: 1

      oh yeah lol, I see your point.

      i should be modded down ...
      what about QT? .

    46. Re:My gawd by physburn · · Score: 1
      Life savers indeed, anything that takes the browser variations (and there a zillions of them) out of javascript and lets you code with just one standard, makes the difference between debugging for each browser and debugging just the once.

      ---

      Javascript Programming Feed @ Feed Distiller

    47. Re:My gawd by somersault · · Score: 1

      Well, I tried my hand at dynamic menus back in 2002 when I was new to HTML and JavaScript, and it just turned out to be a royal messy pain in the ass compared to what I was used to (C++ and Delphi), so I mostly avoided trying anything fancy inside a browser since then and I'm a bit out of the loop.

      My eyes have been opened though after seeing these libraries and watching a presentation by Douglas Crockford earlier today, so I'm actually quite looking forward to foraying into JavaScript again, as long as I only use "the good parts" and don't get too pissed off at any issues that still remain with the DOMs we have to work with :)

      --
      which is totally what she said
    48. Re:My gawd by Zardoz44 · · Score: 1

      JS has try/catch blocks. JS has OO syntax if you want it (debatable issue anyway). Debugging JS is easy using Firebug or Visual Studio.

      I'm not going to win you over by arguing, but some of us do like it, probably for some of the reasons you hate it.

    49. Re:My gawd by bigngamer92 · · Score: 1

      "all standardize on one OS though"

      Now I realize that all is a broad term and that this is /. But wasn't this done in the 90's by a Mr. Bill Gates?

      Oh and it's Standardize with a z.

    50. Re:My gawd by somersault · · Score: 1

      No, and no. We spell it with an s where I come from. Little place called the UK. Quit being so racist, you big racist.

      Oh and just in case you didn't get it (which I'm guessing you didn't if you think there is a standard way of spelling standardise), that was a joke about being a racist.

      --
      which is totally what she said
    51. Re:My gawd by QuestionsNotAnswers · · Score: 1

      I'd like to have real OO syntax

      If you want "real" classes you can use a JavaScript implementation that supports the proposed standard. Or choose a library - they do make prototyping look and smell like OO. Sure there are quirks, but all languages have their own quirks. Or are you complaining about current browser implementations?

      and proper error handling.

      Not sure of your gripe. Never had a problem.

      Debugging JS [snip] is a nightmare.

      The Microsoft Studio JavaScript debugger works fantastically well. I prefer not to use MS tools, but I use the best tool available to me. Other in-browser JS debuggers have their advantages.

      maintaining a large JS codebase is a nightmare.

      What's your problem? JavaScript wasn't designed to be an "enterprise" language and mostly does not have enterprise tools. However, it is not much more difficult to manage than most other dynamic languages. Pick the right tool for the job.

      I'm not confusing anything with anything.

      Definitely sounds like you *are* confusing the language JavaScript, with the implementations you know.

      --
      Happy moony
    52. Re:My gawd by owlstead · · Score: 1

      "Why is this modded funny? Apparently someone's forgotten that IE6 was released in August 2001; it's taken just over eight years for its market share to be superseded by another browser, and it's still firmly entrenched in some corporate environments."

      Yeah, well, I even saw a Java development environment that was fully dependent on IE6 and ActiveX. You only need a single PHB that is wowed by the web graphics and all your developers are f*cked for years (I'm wondering which software they use now, although people investing in that should go bust). But that does not mean other software hasn't moved on.

    53. Re:My gawd by Mr.+DOS · · Score: 1

      Not even with the workarounds? Wow, that sucks.

      BTW, if you can use the workarounds but don't want to deal with setting it all up, I've written two documents that may be of use.

            --- Mr. DOS

    54. Re:My gawd by jaydonnell · · Score: 1

      It's still more work that gui dev because you have to marshal state between the server and the app, but it's gotten a lot better.

    55. Re:My gawd by simon13 · · Score: 1

      Hadn't seen that article before. Brilliant, thanks!!

  3. Closure/Clojure/closures by John+Whitley · · Score: 4, Insightful

    Good grief. Homophone insanity. We've got Clojure doing interesting things in the language and concurrency space. Block support in C/Objective-C reinjecting "closures" into everyone's vocabulary. And now Google jumps in with "Closure" just to make sure that no one has any idea what anyone else is talking about...

    1. Re:Closure/Clojure/closures by Anonymous Coward · · Score: 5, Funny

      Sounds like a real clojure-fuck.

    2. Re:Closure/Clojure/closures by Anonymous Coward · · Score: 0

      I seriously have no idea what you're talking about.

    3. Re:Closure/Clojure/closures by Anonymous Coward · · Score: 1, Informative

      A homophone is a word that sounds the same as another but has a different meaning. I just wanted to make sure you got a post from someone who thought you were serious.

    4. Re:Closure/Clojure/closures by Requiem18th · · Score: 1

      They are continuing with the work they started with the "Chrome" browser, making sure nobody find out that Mozilla invented "chrome://" or what it can do with that.

      --
      But... the future refused to change.
    5. Re:Closure/Clojure/closures by Anonymous Coward · · Score: 0

      I think it goes to show a certain arrogance at google. First google steals "chrome" from mozilla, now they have "closure". Eventually they'll start a beer recommendation service and call it "Duff's Device". They think their stuff is so great that they can use any name they want to, even if it's already used and well established by something else.

      These are smart people. Either they are the world's most uncreative smart people or they co-opt other people's terms on purpose. With 'chrome' especially they were obviously just being dicks.

      And don't get me started on Apple... adding Blocks to a language that already has blocks. The only explanation is so that people have to say "Apple Blocks" to distinguish it. Give me a break.

    6. Re:Closure/Clojure/closures by pohl · · Score: 1

      Look up "chrome" in the jargon file. Read the definition. Think about it.

      --

      The "cue the foo posts in 3, 2, 1..." posts will commence with no subsequent foo posts in 3, 2, 1...

    7. Re:Closure/Clojure/closures by zapakh · · Score: 1

      A homophone is a word that sounds the same as another but has a different meaning.

      Oh, "homophone". I was thinking of a word that sounds almost the same but has a very different meaning.

    8. Re:Closure/Clojure/closures by Requiem18th · · Score: 1

      I don't see a problem, Mozilla is a web browser, the "chrome" in the Jargon file is an outdated slang term, Chrome is *also* a web browser, it's a context problem.

      If you tell people, that Firefox bug allows running code with chrome privileges they'll wonder if they have to uninstall Chrome. Before, searching for "Firefox chrome" gave you documentation, now it gives you browser benchmarks and reviews.

      What bugs me is that they are partners with Mozilla, they know Firefox, intimately, and they STILL named their browser Chrome, not just despite the conflict, but I suspect because of the conflict.

      It as if Mozilla renamed bespin to wave, wanna have real time collaboration on wave? wait Mozilla's or Google's? Except of course Mozilla can't throw its weight around like that like a heavy monopolist like Google can.

      --
      But... the future refused to change.
    9. Re:Closure/Clojure/closures by rjstanford · · Score: 2, Funny

      First google steals "chrome" from mozilla

      Yeah, because nobody before Mozilla used the word "chrome" to describe user interface elements...

      Before you know it, auto manufacturers will be using it to describe shiny yet non-functional external parts of their vehicles that aren't even tied to the powertrain! Those bastards!

      --
      You're special forces then? That's great! I just love your olympics!
    10. Re:Closure/Clojure/closures by richlv · · Score: 1

      and later they named the linux version chromium

      --
      Rich
    11. Re:Closure/Clojure/closures by pohl · · Score: 1

      The slang term is far from being outdated, because it is still in use. Perhaps you have never heard it yourself, but I have.

      I first encountered it through a hacker friend of mine in the early 90s in - of all places - Lincoln, Nebraska. He had spent some time out of the state working for the now-defunct maker of Sharebase. He returned to Nebraska after the demise of that company, and told me about the hacker culture and lexicon years before I graduated with my Comp Sci degree in 1993. I didn't know what to make of it at the time, but once the internet hit its inflection point I got online and found the Jargon File, of course.

      I remember him using the word "chrome" to describe the GUI user-interface parts of a program (with a somewhat dismissive tone, because he considered to be uninteresting). This was in contrast to the non-chrome parts of programs, which he found more engaging. I have since witnessed it used in this way by several others.

      In fact, I worked with a team of programmers on an internal system at a large market research firm who named major releases of a home-grown web templating system - because we thought dotted numbers were boring - after words out of the jargon file. We went through five major releases before this practice was retired: amiga, blob, chrome, dogcow, and eliza.

      (Incidentally, one of my colleagues from that team went on to become a Program Manager for Google's browser project...although the browser already had the name before he joined.)

      Now here's the kicker: think about what the word "chrome" signifies in Mozilla. It's a URL resource-type designator for referring to XUL markup, right? Well, what is XUL for? It's a markup language for the user-interface aspects of the mozilla browser...the browser's chrome. The hackers behind the mozilla project likely used this word because it was already in somewhat-common usage...and probably to amuse themselves. Perhaps this historical fact is inadequately documented, but to those of us who encountered this part of the lexicon in active use the truth is as plain as day.

      Now consider Google's browser. Did they re-invent the rendering engine? No. The bulk of that browser's plumbing - with the notable exception of Lars Bak's javascript runtime and the multiprocess model - was something that they grabbed off the shelf, leaving the main contribution that differentiates the browser is the user-interface aspects of the program...the chrome. While Apple had already brought WebKit to the Windows world, they had utterly failed to make a UI that had any appeal to Windows users. Google created a browser whose chrome was more at-home, as it were. I would not be surprised if this was the genesis of the name.

      I've heard people complain that they stole the word 'chrome' from mozilla before. I find that to be an absurd notion, however, given the word's history in hacker slang.

      --

      The "cue the foo posts in 3, 2, 1..." posts will commence with no subsequent foo posts in 3, 2, 1...

  4. Unimpressive by BitHive · · Score: 4, Interesting

    Half the demos don't work and these widgets are hideous even by Google standards. I'm gonna stick with ExtJs for the forseeable future.

    1. Re:Unimpressive by CannonballHead · · Score: 0

      extjs (and jQuery, etc) are frameworks.... Closure isn't a framework

    2. Re:Unimpressive by lhoguin · · Score: 2, Interesting

      Looking at the library's source code, I don't find many new things that I can't already find in another library. I'm sure there's interesting components, but this looks more like another case of NIH than anything. If their code really is faster I'd rather have them work on existing libraries and try to speed things up for everyone rather than creating more of the same thing.

      Of course, if everyone uses Google's tools and libraries, it makes things easier for them to optimize Chrome, which is probably the whole point.

    3. Re:Unimpressive by amicusNYCL · · Score: 3, Informative
      --
      "Our two-party system is like a bowl of shit looking at itself in a mirror." - Lewis Black
    4. Re:Unimpressive by CannonballHead · · Score: 1

      I was looking at the Closure Templates... my mistake. -1 Bad Comment. :)

    5. Re:Unimpressive by Anonymous Coward · · Score: 0

      Yeah, does anyone else see this as a competitive move at John Resig? I mean he drops their Group service and makes a post about why it sucks, then a week or so later they open source their library.

    6. Re:Unimpressive by jhfry · · Score: 2, Insightful

      Of course, if everyone uses Google's tools and libraries, it makes things easier for them to optimize Chrome, which is probably the whole point.

      Uhh... no.

      I would imagine that Google had been developing these libraries for years prior to even thinking about building a browser. This also explains why they have their own libraries rather than using "existing" libraries... their libraries are "existing" libraries. In fact, I would wager that their libraries were more complete than many of the competing libraries were a few years ago.

      I am guessing that if you were to compare Google's libraries to many of the "existing" libraries you wish they would contribute to, you might find that they are very similar in capability and likely equal or faster. Why should Google pay its folks to work on another library when they paid to build this one and their folks are familiar with it and use it every day in all of their web products.

      I would say, more than anything, this release is a way of Google saying that their libraries are not so much better than competing libraries so they gain no advantage by keeping them closed. If their release results in wider adoption of Google's libraries, perhaps the additional eyes will result in some improvements, if not they haven't lost anything.

      --
      Sometimes the best solution is to stop wasting time looking for an easy solution.
    7. Re:Unimpressive by lhoguin · · Score: 1

      Of course they started to develop it a long time ago. The question is why release it *now*. Would they really benefit more from many eyes looking at a "broad, well-tested, modular, and cross-browser JavaScript library" or from more applications that Chrome already knows how to run fast?

      Of course we can only guess. But Google is a company, not a charity. They don't release software that give them an advantage over the competition without a good reason.

    8. Re:Unimpressive by jhfry · · Score: 1

      I agree whole heartedly... either A. these libraries are not giving them an advantage any longer due to the vast improvements in some open source libraries and they are hoping that by opening them their libraries benifit from the community like the open ones did. Or B. there is some advantage to having these libraries in use in more places.

      I pick option C. the libraries are only a tiny portion of Google's dominance and offer no measurable competitive advantage, however widespread adoption of these libraries will allow Google to better tailor its browser, Chrome OS, and even its developer API's to these libraries... reducing support costs and increasing performance for anyone using them.

      --
      Sometimes the best solution is to stop wasting time looking for an easy solution.
  5. Embracing and extending by gmuslera · · Score: 3, Insightful

    I know that it probably work in current major browsers without problems, but somewhat look a bit like a push towards Chrome. If things start to base more and more in javascript, specially complex one, not only the old browsers will die (ok, killing IE6 for good is an obligation for the future of mankind, or at least internet), but also current/competitive browsers not so fast at the javascript arena will get a big hit too. Good enough will stop being enough when most internet need complex javascript and a blazing fast javascript engine to work. But i suppose that is better that it be based on open standards from the start than the adoble flash way.

    I suppose that complaining about this sounds like asking to forget civilization and go back to rural communities and simpler old way of life, but sometimes you miss the good old web as it used to be (yes, even the slashdot comment editor from 1997)

    1. Re:Embracing and extending by maxume · · Score: 2, Informative

      You can turn on the old comment system (well, the pre-javascript one, I don't remember if it is the same as what there was in 1997).

      --
      Nerd rage is the funniest rage.
    2. Re:Embracing and extending by Rylz · · Score: 4, Interesting

      look a bit like a push towards Chrome.

      Funny, I've also heard this argument the other way around. A lot of people seem to think that Chrome is actually meant simply to push every browser developer to build faster JavaScript support and to catalyze other technologies that will allow Google to develop better web applications. Maybe this release is also a push towards those goals.

      --
      Sometimes you've gotta roll the hard six.
    3. Re:Embracing and extending by Anonymous Coward · · Score: 1, Insightful

      rural communities are indeed better, more space, less snitching, you get to know people rather than just assuming everyone is a paedophile

      JavaScript is what is driving the hardware upgrade cycle these days. I can use email/IM/word processors, even minimalist image editors and possibly VoiP on a pentium 90 reasonably well but it won't run the newest browsers or load even a 'minimalist' modern site. I think client-side scripting in browsers should be done away with completely, come up with a protocol-level replacement for AJAX and maybe add a few features to CSS and nothing of value will be lost.

    4. Re:Embracing and extending by amicusNYCL · · Score: 2, Interesting

      If things start to base more and more in javascript, specially complex one, not only the old browsers will die (ok, killing IE6 for good is an obligation for the future of mankind, or at least internet), but also current/competitive browsers not so fast at the javascript arena will get a big hit too. Good enough will stop being enough when most internet need complex javascript and a blazing fast javascript engine to work.

      It's not really that bad. I've been developing a pretty massive application based on ExtJS that runs surprisingly fast in IE6. In Chrome or Firefox it runs very fast. I'm talking about 450KB minified Javascript files here, doing things like laying out data in sortable filtering grids, tree structures, drag and drop, etc. I'm surprised at how well IE manages to use it.

      --
      "Our two-party system is like a bowl of shit looking at itself in a mirror." - Lewis Black
    5. Re:Embracing and extending by nurb432 · · Score: 4, Insightful

      It also kills off older hardware that was perfectly fine for rendering server side processing, but will choke with this move back to client side ( which personally, i think is the wrong direction, but that is a different discussion )

      --
      ---- Booth was a patriot ----
    6. Re:Embracing and extending by Anonymous Coward · · Score: 0

      Speaking of Slashdot, DAMN do they need to use this on here!

      As well as fix the numerous bugs that appear on each of the sub-domains, all seem to have their own unique quirks like some circle icons that nobody knows what the hell they are and where they came from, or the threshold bar glitching out, page failing to load some of the columns and the threshold bar ends up appearing over the article...

    7. Re:Embracing and extending by Anonymous Coward · · Score: 0

      Google's v8 is open sourced, so there's no reason for a browser not to have a decent (at least as decent's as google's) javascript engine now.

    8. Re:Embracing and extending by Anonymous Coward · · Score: 0

      Care to tell us Anonymous Cowards how? Do we have to register or some stupid shit like that to disable the fucking moronic use of JavaScript and AJAX here at Slashdot?

    9. Re:Embracing and extending by fuzzyfuzzyfungus · · Score: 1

      If you want a server to draw the page for you, you might as well just run an ordinary modern browser on that server and connect via x11/citrix/whatever.

      You'll get about the same effect, and won't have to wait for everyone to adopt your plan.

    10. Re:Embracing and extending by khallow · · Score: 1

      It also kills off older hardware that was perfectly fine for rendering server side processing, but will choke with this move back to client side ( which personally, i think is the wrong direction, but that is a different discussion )

      Depends on the client side load. Shifting some load to a zillion clients makes a lot of sense from a serverside point of vieww.

    11. Re:Embracing and extending by Anonymous Coward · · Score: 0

      No idea, but you can register and still post as anonymous coward you know ;)

    12. Re:Embracing and extending by Spliffster · · Score: 1

      I do the same for some time. However, I would not call ExtJS fast in IE6 on a corporate desktop (remeber, corporates are not running the latest and greatest for typing emails and word documents). Even in Firefox 3.5 and Chrome are JavaScript powered pages slow (compared to the good old HTML forms which loaded *and* rendered in miliseconds).

      However, not needing to refresh the UI after every user action will make the user experience faster in more complex web applications.

      Cheers,
      -S

    13. Re:Embracing and extending by the_womble · · Score: 2, Funny

      That makes a lot more sense. Google does not make money from Chrome. It does make money, and plans to make more, from web apps that benefit from fast javascript.

      Incidentally, is MS improve Javscript performance? I know Mozilla are.

    14. Re:Embracing and extending by the_womble · · Score: 1

      rural communities are indeed better, more space, less snitching, you get to know people rather than just assuming everyone is a paedophile

      Assuming that everyone is a paedophile is not a fundamental part of British culture, ou insensitive clod!

      The government plans to regularly interview kids without parents present, put cameras in some people's homes, and to require people to register before you can give a friend's children a lift to school.

  6. invented by Norville Barnes: by Joe+Snipe · · Score: 4, Funny

    Try Closure! It's open!

    --
    Sometimes, life itself is sarcasm...
    1. Re:invented by Norville Barnes: by hey · · Score: 1

      Freedom is slavery.

  7. Source code link by Anonymous Coward · · Score: 0

    Neither the summary nor TFA link to the actual code: http://code.google.com/p/closure/

  8. NX by Anonymous Coward · · Score: 0

    what does this have to do with the NX server? or is it just the notion of being opensource as well?

  9. jtemplates vs. closure templates? by Azureflare · · Score: 1

    I currently use jquery and jtemplates with json data. How do the closure template commands compare to jtemplates? I didn't really see any ajax functionality in the tutorials but I haven't had time to delve any deeper. Has anyone spent more time with this?

    I'm still going to read through it, was just wondering if anyone else has more experience with closure.

    1. Re:jtemplates vs. closure templates? by Azureflare · · Score: 2, Informative

      Okay wow, spent some time looking over the API reference.. This thing seems awesome! I love the UI components they've opened up. Those could be pretty useful. Too bad it might mean having to rewrite all my jquery code to closure, but maybe that's not such a bad thing. There's a lot of things in there that would be very nice to use. I'm probably going to try creating some simple projects before adopting it though.

      You know what'd be great? If there were more tutorials that show off a lot of the functionality you can achieve with closure. Hello world and notepad editors just don't cut it as demos. (Hint hint google :)

    2. Re:jtemplates vs. closure templates? by Azureflare · · Score: 2, Informative

      Addendum: I realize their various apps use this as their language but when I say "demo" I mean demo with source code (e.g. tutorial :)

      P.S. WTB edit feature on slashdot.

    3. Re:jtemplates vs. closure templates? by Clover_Kicker · · Score: 1

      edit feature? So we can go back to all our highly modded posts and replace them with ASCII goatse pics?

    4. Re:jtemplates vs. closure templates? by mujadaddy · · Score: 1

      ...and at that moment, he was enlightened.

      --
      Populus vult decipi, ergo decipiatur...
      "Force shits upon Reason's back." - Poor Richard's Almanac
    5. Re:jtemplates vs. closure templates? by Anonymous Coward · · Score: 0

      Take a look at http://api.dojotoolkit.org when you are done looking over Google's awesome new API set. They are, in fact, the same.

  10. You can build applications using javascript by pizzach · · Score: 2, Interesting

    It's not that rare. Many cellphones are going this route nowadays as well as the Mac OS X dashboard widgets and Mac OS X apps. Then of course, there are the gtk javascript bindings.

    Javascript is finding itself in more and more places nowadays.

    --
    Once you start despising the jerks, you become one.
  11. "The" NX server? I don't think so. by Lemming+Mark · · Score: 4, Insightful

    "The announcement comes a few months after Google released and open sourced the NX server."

    That's a bit confused... it may just be a typo but it's resulted in a misleading statement. Google released *their* NX server as open source. Previously the FreeNX project had independently created an open source NX server, using libraries provided by NoMachine (inventor of the NX protocol) who provide all of the clever compression stuff from their server as open source libraries.

    The summary makes it sound like Google were solely responsible for the existence of an open source NX server, whereas actually I'd say they're "standing on the shoulders of giants (NoMachine), next to some other dude who was already up there (FreeNX)"

  12. Apache v2.0 by RiotingPacifist · · Score: 5, Informative

    It seams silly to mention that it's open source without giving the license. Btw It's not copyleft, allows linking from other licenses and is GPLv3 compatible

    --
    IranAir Flight 655 never forget!
    1. Re:Apache v2.0 by Anonymous Coward · · Score: 0

      Amen! Fuck the /. editors.

    2. Re:Apache v2.0 by Azureflare · · Score: 1

      It seams silly to mention that it's open source without giving the license. Btw It's not copyleft, allows linking from other licenses and is GPLv3 compatible

      Can you rephrase that in english please? Does that mean we can't use this in commercial products?

      I'm curious why Google didn't choose the the dual MIT/GPL license like jquery uses.

    3. Re:Apache v2.0 by Anonymous Coward · · Score: 0

      It's Apache v2.0. It doesn't get much more open than that.

    4. Re:Apache v2.0 by markkezner · · Score: 1

      You absolutely can use that in commercial products. You can also create derivative works and not release the source.

      Apache 2.0 is considered a "commerce friendly" open source license (whatever that means). You'll see it in commercial products like Android and the Apache web server.

      Wikipedia entry
      Apache 2.0 License full text

      --
      Dangerous, sexy, turing complete: Femme Bots
  13. multi-threading by Anonymous Coward · · Score: 0

    Unless this library, or Javascript in general has a usable threading model, it will remain a toy.

  14. Lego-like by Art3x · · Score: 5, Informative

    The Closure Library has a lot of useful-looking classes and functions, like for working with Arrays, Dates, or the URL. They're divided into short files, so that you can use just the parts you want and not have to download one big file.

    jQuery has definitely been a great library, especially at finding things in the DOM. And I think its API for handling events is easier (definitely less to type) than this. But it doesn't have all of the things that this has --- short helpers that probably I would end up writing on my own (and already have started to).

    I'm also interested in the UI Widgets like an Autocomplete text field. I've been waiting for the jQuery UI team to finish that one widget for months, but for some reason their development is so slow!

    Standard Disclaimer about JavaScript:

    1. 1. JavaScript is a nice language.
    2. 2. Writing JavaScript to work in Internet Explorer, Firefox, Safari, and Opera is a nightmare like no other.
    3. 3. Mainly it boils down to writing JavaScript to work in (A) Internet Explorer and in (B) browsers that are not Internet Explorer.
    4. 4. The "core" JavaScript is really nice: dynamic typing, super-short syntax for hash tables, arrays, regular expressions; dot-chaining of members and methods.
    5. 5. The browser API, or "DOM", part of JavaScript is different in IE than in the rest, and this, I think, is the main reason it's a pain. But jQuery and other libraries smooth this over.

    Like has been said, watch the Google Video "JavaScript: the Good Parts" to elaborate on this. And if you hate JavaScript but are forced to write it and haven't read JavaScript: The Definitive Guide, it's the best book on JavaScript and one of the best O'Reilly books period.

    1. Re:Lego-like by TeamSPAM · · Score: 1

      2a Trying to get your Javascript to work in Facebook's sandboxed version (FBJS) only make the nightmare worse.

      --
      Brought to you by Team SPAM! where we believe: "Information in the noise!"
    2. Re:Lego-like by lhoguin · · Score: 2, Informative

      I'm also interested in the UI Widgets like an Autocomplete text field. I've been waiting for the jQuery UI team to finish that one widget for months, but for some reason their development is so slow!

      I've been using the original autocomplete plugin for a long time now, it works great. This is the plugin that is used as a basis for the UI autocomplete component. Anything preventing you from using it in the meanwhile?

    3. Re:Lego-like by Dragonslicer · · Score: 1

      They're divided into short files, so that you can use just the parts you want and not have to download one big file.

      The last time I used a JavaScript library like this (Ext), I discovered that this actually makes your pages slower. The overhead of each request quickly passes the time it would take to download an extra 100-200 KB. Also remember that the file can be cached, so the client only has to download the file once. Some libraries actually encourage you to source the JavaScript files from their servers instead of your own, so that browsers can cache a single copy of the files and use the cached versions on every site that uses that library.

    4. Re:Lego-like by herve_masson · · Score: 1

      6. Dealing with memory leaks on most browsers (ex: ff) is nearly impossible

      On your #2 point, my experience is that coding for: FF3, Safari4, Chrome and IE8, is no longer a compatibility nightmare. Dealing with performances and memory remain a nightmare on my view (except on Chrome which rocks on garbage collecting).

    5. Re:Lego-like by QuestionsNotAnswers · · Score: 1

      The latest memory leak tools for IE6/IE7 are actually pretty slick. Version 2 of IEJSLeaksDetector tells you the line the leak occurred at. And sIEve is good for finding in page leaks (i.e. leaks when you are constructing and destructing components within a single page Ajax app). Before those tools, I spent months trying to resolve IE leaks.

      Also I have written my own tool to check that "destroyed" JS objects (components on our Ajax page) are not reachable from window i.e. objects will be garbage collected. Code was a fairly simple traversal of objects and arrays - one day's coding.

      --
      Happy moony
  15. What we really want by Tablizer · · Score: 1

    What would really be nice is an HTML/XML-like language that has features for building real desktop-like GUI's 95% declaratively in a state-ful way instead of JavaScript IF's, loops, and pathy set/gets.

    1. Re:What we really want by Planesdragon · · Score: 1

      What would really be nice is an HTML/XML-like language that has features for building real desktop-like GUI's 95% declaratively in a state-ful way instead of JavaScript IF's, loops, and pathy set/gets.

      1: GTK javaascript. or JavaScript .net. language + framework = program.
      2: MS has crap like that. And so does Firefox. You just don't pay attention to it.
      3: statefulness in JavaScript is simple. Passing references vs. Passing Values.... is not.

    2. Re:What we really want by Tablizer · · Score: 1

      I meant OSS. And it would be mostly a markup language, not FooScript of some sort.

    3. Re:What we really want by shutdown+-p+now · · Score: 1

      It's called WPF. And you can use IronPython/IronRuby for the code parts (those that cannot be shoved into the declarative model in any way).

    4. Re:What we really want by Tablizer · · Score: 1

      Why can't they be put into a mostly declarative model? They are flawed if that's the case.

  16. Closure/Clojure/closures/Clozure by uid8472 · · Score: 1

    Good grief. Homophone insanity. We've got Clojure [...] "closures" [...] And now Google jumps in with "Closure"

    It's worse than that; there's also Clozure Common Lisp.

  17. yo dawg by Anonymous Coward · · Score: 0

    I heard you like to script, so I compiled your JavaScript to JavaScript, so you can script while you script.

  18. ATM? by mevets · · Score: 1

    So javascript is synonymous with ass-to-mouth? I take it you mean the receiving end.

    1. Re:ATM? by Grundlefleck · · Score: 1

      ATM ATM ATM ATM Silverlight ATM. (Ass-to-mouth's asymmetric technology metaphor applies the meaning against terrible Microsoft Silverlight, at the moment.)

      --
      I accept I know nothing. Insulting my ignorance is wasted on me.
  19. wait... by smash · · Score: 2, Funny

    ... is google evil this week, or not?

    --
    I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
  20. IE6? by ClosedSource · · Score: 1

    I'm hoping for http and html to "drain out". They're a lot more crufty than any browser.

  21. It's also faster than Python by melted · · Score: 2, Informative
    1. Re:It's also faster than Python by asdf7890 · · Score: 1

      That particular test isn't really a relevant benchmark when talking about most browser applications though. That test is a number-crunching test and most of the time in apps like gmail, Google's calendar, and so forth the main bottlenecks are rendering speed (especially if you find yourself supporting IE6/7 (8 may be better in that respect, though I've not tested it much yet myself)) and network latency (which you sometimes have to accept as a consequence of a thin-client design, but can often be worked around by making the client-side code cache data, buffer and read-ahead requests more effectively), not shear language interpretation speed.

      Even where the speed of JS code execution is the bottleneck, be careful quoting benchmarks for Google's V8 engine otherwise people may see you as a JS "fan-boi" just picking the best benchmark scores. V8 is, IIRC, not in a non-beta version of Chrome yet never mind anything else. Other versions of Chrome are a little slower, Firefox 3.5 slower again, FF4.x slower stil, and IE6/7/8 are all off the bottom of the scale (Im not sure where Opera and the other alternatives fit in on that scale off the top of my head) - so that benchmark does not represent the speed that most people will see in a JS application at the moment. The same for server-side implementations - most I've seen are based on SpiderMonkey so perform similarly to recent FireFox versions (as that is the engine FF uses).

      Having said that though, your point is not incorrect even if it is not entirely accurate in the context of browser apps in current browser releases, the latest JS interpreters and JIT compilers (like V8 from Google and SpiderMonkey+TraceMonkey as found in FF3.5+) can outperform other common languages like Perl and Python more readily than most people would assume (with the caveat that a good Python programmer can faster code then a bad/intermediate JS programmer, and vice versa, so you need to consider the quality of the code you are benchmarking too).

    2. Re:It's also faster than Python by Dragonslicer · · Score: 4, Insightful

      It's also faster than Python And Ruby, PHP and Perl.

      Languages can't be faster or slower than other languages, since a language is just a syntax specification. Compilers, interpreters, and other runtime environments are what you would compare for speed. In the case of JavaScript, you have several competing implementations (at least 4 or 5 that are well known, plus many others that aren't well known), and speed is probably the only significant selling point in any of them. With the rest of the languages you list, there's really only one commonly used implementation of each, and it's written by the same group that's responsible for the language specification, so there tends to be less focus on speed of the interpreter and more focus on adding new features to the language itself.

    3. Re:It's also faster than Python by hapalibashi · · Score: 1

      Interpreted languages can most certainly be faster/slower than other interpreted languages due to semantic design alone.

    4. Re:It's also faster than Python by Dragonslicer · · Score: 1

      Interpreted languages can most certainly be faster/slower than other interpreted languages due to semantic design alone.

      Pick one language that you would call slow and one language that you would call fast. I guarantee that I can write an interpreter for your "fast" language that is slower than the most commonly used interpreter for your "slow" language.

    5. Re:It's also faster than Python by Anonymous Coward · · Score: 0

      Benchmarking programming languages?

      How can we benchmark a programming language?
      We can't - we benchmark programming language implementations.

      How can we benchmark language implementations?
      We can't - we measure particular programs.

      http://shootout.alioth.debian.org

    6. Re:It's also faster than Python by Anonymous Coward · · Score: 0

      cPython, Python 3, psyco, pypy, iron python, jython, ...

      mri Ruby, Ruby 1.9, JRuby, Rubinius, iron ruby, ...

  22. How does this integrate with GWT by Chrisq · · Score: 2, Interesting

    GWT is a great Java to Javascript environment, but falls down in that to produce new components (ouside the toolbox provided) is difficult and requires raw javascript. Does anyone know if these products integrate or work together, because what would be really nice would be to be able to use closure to produce GWT components

  23. Not touching it yet by kikito · · Score: 1

    Needs more doc

  24. wrong way? by Anonymous Coward · · Score: 0

    Google did nothing wrong here.

    But it's the web moving the wrong way?! How am I gonna explain closures to my mom?

  25. Re:"The" NX server? I don't think so. by the_womble · · Score: 1

    And killing off No Machine;'s business model while they are about it!

    Do Google actually use NX in a big way? It is easy to imagine what they might do with it.

  26. JavaScript isn't more flawed than other languages. by tjstork · · Score: 1, Informative

    If you think Javascript isn't very powerful and cannot see its advantages, particularly with dynamic types, then you obviously haven't used it.

    --
    This is my sig.
  27. Everybody needs Closure by clickety6 · · Score: 1

    err.. that's it really.

    --
    ----------------------------------- My Other Sig Is Hilarious -----------------------------------
  28. How does this compare to GWT? by phaet0n · · Score: 1

    It would be really nice to know how Google Closure compares to GWT at a technical level. Of course, it's pretty clear to see how they differ at a high level: GWT is written in Java and compiled to JavaScript, and Closure seems to be an all JavaScript system with UI libraries and templating features. I'd just love to know more about their comparative analysis of their internals and targeted usage scenarios.

  29. OT by BluBrick · · Score: 1

    I've always loved the fact that there is more than one accepted spelling of standardise.

    --
    Ahh - My eye!
    The doctor said I'm not supposed to get Slashdot in it!