Slashdot Mirror


Was Standardizing On JavaScript a Mistake?

snydeq writes "Fatal Exception's Neil McAllister questions the wisdom of standardizing on a single language in the wake of the ECMA Committee's decision to abandon ECMAScript 4 in favor of the much less ambitious ECMAScript 3.1, stunting the future of JavaScript. Had the work continued, McAllister argues, it could have ushered in an era of large-scale application development that would ensure the browser's ability to meet our evolving needs in the years ahead. 'The more I hear about the ongoing efforts to revise the leading Web standards, the less convinced I am that we're approaching Web-based applications the right way,' McAllister writes. 'If anything, the more we talk about building large-scale Web applications, the more we should recognize that a single style of programming will never suit every job.' McAllister's simple truth: JavaScript will never be good for everything — especially as the Web continues to evolve beyond its original vision. His solution? 'Rather than shoehorning more and more functionality into the browser itself, maybe it's time we separated the UI from the underlying client-side logic. Let the browser handle the View. Let the Controller exist somewhere else, independent of the presentation layer.'"

525 comments

  1. Got it wrong by AKAImBatman · · Score: 4, Insightful

    So here's an idea: Your Web browser window is a View. Maybe it's high time we stopped trying to force it to be a Controller, too.

    Here's an even better idea: The HTML DOM would be the View, the Javascript would be the Controller, and the server would be the Model! I'll bet I'm the first one to think of that...

    So if nobody ever managed to come up with the ultimate, perfect language for systems programming, what makes us think we can do it for the Web?

    The browser model allows for languages other than Javascript. (e.g. VBScript is somewhat popular in IE-only applications.) It's just that no one has come up with a better language. If no one comes up with a better language, why reinvent the wheel?

    Ever since the early days of Web browsers we've had this language, JavaScript. Over the years, we've demanded more and more of it, to the point that we're now talking about using it to build entire applications. The simple truth, however, is that JavaScript will never be good for everything.

    That's one person's opinion. My opinion (and the opinion of many others) is that Javascript is a very powerful LISP-like langauge capable of far more than its given credit for. Part of the reason for abandoning ECMAScript 4 is that v3 already supports most everything we need. It's not perfect, mind you, but it doesn't actually NEED the features of v4. Most of those features are syntactic sugar that makes the language more comfortable to Java programmers.

    Behind the scenes, nothing really changes with the common features of v4. There's some type checking and a few other minor additions going on, but otherwise the objects are translated into Javascript objects.

    Strong typing, packages, and namespaces may make it a lot easier to maintain large applications, but they're virtually useless to any Web coder who just wants to bash out a little bit of UI glitz.

    And there-in lies the problem. People think of Javascript as being for "UI Glitz". That's the real issue to tackle. Not the imagined lack of MVC.

    1. Re:Got it wrong by mcvos · · Score: 3, Insightful

      It's just that no one has come up with a better language.

      No one has been able to come up with a better language than javascript? That's a scary thought.

    2. Re:Got it wrong by wild_berry · · Score: 1, Interesting

      My opinion (and the opinion of many others) is that Javascript is a very powerful LISP-like langauge capable of far more than its given credit for

      Firefox is a good OS. All it needs is a decent web browser.

    3. Re:Got it wrong by GeneralTao · · Score: 1

      Here's an even better idea: The HTML DOM would be the View, the Javascript would be the Controller, and the server would be the Model! I'll bet I'm the first one to think of that...

      You took the words right out of my mouth. I mean seriously.

      --
      --- Tao
    4. Re:Got it wrong by tomtomtom777 · · Score: 5, Interesting

      I strongly agree.

      I even believe the features of v4 will unnecessarily complicate the language. Most problems in javascript arise when people try to mimic 'normal' OO-behaviour instead of using javascript's powerful prototype-based system as given.

      Javascript is extremely useful to create large scale applications but most programmers are to much educated towards 'convetional' OO-programming to use it right.

      I guess it is the same problem as with functional programming, which is often preferable above OO-programming for the server-side model layer. The mindset of the common programmer is simply not diverse enough to use a completely different approach, such as prototype-based or pure functional programming

    5. Re:Got it wrong by betterunixthanunix · · Score: 2, Interesting

      Wait, nobody has come up with a language better than Javascript? That's funny, because when I think of useful scripting languages, I tend to think of...AWK, PERL, Python, etc. There is nothing stopping someone from integrating one of those languages into a web browser, nor anything stopping a standard "Web Python" from being created, with a specific standard library for web apps (on the client side, that is).

      --
      Palm trees and 8
    6. Re:Got it wrong by __aanonl8035 · · Score: 2, Insightful

      >> It's just that no one has come up with a better language. If no one comes up with a better language, why reinvent the wheel?

      The best language does not always gain mindshare.

    7. Re:Got it wrong by Swizec · · Score: 4, Insightful

      The problem with javascript isn't that it's a bad language, the problem is that everyone continues on thinking about it as a tool for quick and dirty hacks. But guess what, that's how PHP started out and look where it came.

      All javascript really needs is to be well supported in all browser and that people would stop thinking about it as just a script kiddie tool. Javascript is perfect for what it was intended to do and it's very good even for what it wasn't exactly intended to do and THAT's why there hasn't been a "better" language yet, because this one is good enough for the job. Frankly, outside of becoming standardised all over, I don't see what more you might want in javascript that you absolutely cannot live without.

    8. Re:Got it wrong by Blakey+Rat · · Score: 5, Insightful

      I agree that Javascript/ECMAScript is an excellent language.

      Real web-application development isn't being hampered by JS, it's being hampered by the crappy and woefully insufficient DOM API.

      For example, make a Visual Basic (or RealBasic if you're rabidly anti-Microsoft) form and add a scrolling textarea to it. Take a look at the properties inspector, and notice how many properties it has.

      Now do the same thing in DOM. Can Javascript tell which text is selected? No. Can it set the text color, size, or font? No. (There is such a thing as a rich-text textarea, with those options, but DOM API has virtually no access to any of it.) It's simply ridiculous how incomplete DOM is, and that's where your true problems lie.

      Of course, most people (even a lot of web developers) confuse Javascript with DOM and assume they're the same thing. They aren't; if you used python or ruby or any other language, you'd still be limited by a crappy DOM.

    9. Re:Got it wrong by coryking · · Score: 5, Informative

      I don't see what more you might want in javascript

      - A real way to include other javascript files.
        - A well defined way to say "The page is loaded, all your variables and objects are loaded, Time to execute!" rather then "You can only see the variables and objects that are defined 'above' you and not 'below' you in unloaded portions of the page".
        - Ponies.

    10. Re:Got it wrong by Mr2cents · · Score: 2, Insightful

      Leaving the language itself aside, the big problem I see when reading javascript is all these tests to check on what browser it is running. If I write code, I don't wan't that mess (Luckily, I I'm not a web developer).

      --
      "It's too bad that stupidity isn't painful." - Anton LaVey
    11. Re:Got it wrong by Stooshie · · Score: 1

      ... It's just that no one has come up with a better language. If no one comes up with a better language, why reinvent the wheel? ...

      ActionScript3.0 anyone? As client side languages goes it's pretty solid. Fully object oriented and ECMA compliant.

      If anyone hasn't used flash for a while, it's a whole other beast now. It's not an animation package with a scripting language slotted into the side any more.

      --
      America, Home of the Brave. ... .and the Squaw.
    12. Re:Got it wrong by mini+me · · Score: 2, Insightful

      Javascript is an amazing language. The C-like syntax gets in the way occasionally, but all-in-all it's up there with the best of them.

      The problem is that most people do not even realize that it is an object oriented language, let alone containing functional language features as well.

    13. Re:Got it wrong by Cecil · · Score: 5, Insightful

      But guess what, that's how PHP started out and look where it came.

      What it became? A tool for quick and dirty hacks that many people use to create applications that inevitably turn into a quick and dirty hack?

    14. Re:Got it wrong by lastchance_000 · · Score: 1

      One of the biggest issues I've had with it is the poor performance (relative to what it's being asked to do) in the current browser engines. The good news is the current advances (e.g. WebKit) give me great hope.

    15. Re:Got it wrong by Bryansix · · Score: 1

      What nobody has mentioned this far into the discussion is that a vast majority of the web pages that display things in javascript are not even written in javascript. Many are server side like aspx files that are then interpreted in a dynamic way into a combination of HTML and javascript to do the work that needs to be done on the client side.

      I brought this up a while back when there was an article about how Microsoft was abandoning javascript in favor of something else for use in the next .net framework. I think that was a mistake. Javascript can be made to do anything that is needed client side. Anything else should be handled by a post back and taken care of server-side.

    16. Re:Got it wrong by AKAImBatman · · Score: 4, Insightful

      ActionScript3.0 anyone?

      ActionScript 3.0 == ECMAScript 4.0

    17. Re:Got it wrong by Anonymous Coward · · Score: 5, Insightful

      The other big showstopper is the total lack of multithreading/multitasking. Javascript has an event system, but it can never interrupt a function. This makes it excruciatingly hard to keep a DOM UI fluid while the application handles big chunks of data, and consequently most developers simply stall the UI (for example: Slashdot AJAX UI.)

    18. Re:Got it wrong by Chaos+Incarnate · · Score: 5, Funny

      Any spec without ponies is a defective spec indeed.

      --
      Benford's Corollary to Clarke's Law: "Any technology distinguishable from magic is insufficiently advanced."
    19. Re:Got it wrong by ultranova · · Score: 1

      Javascript is extremely useful to create large scale applications but most programmers are to much educated towards 'convetional' OO-programming to use it right.

      Do you have any links to where one could learn to use it right ? Reading the source code of various web page scripts seems like a bad idea if most of them are done wrong.

      --

      Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

    20. Re:Got it wrong by Millennium · · Score: 1

      Now do the same thing in DOM. Can Javascript tell which text is selected? No.

      Actually, it can.

    21. Re:Got it wrong by erlando · · Score: 3, Informative

      Leaving the language itself aside, the big problem I see when reading javascript is all these tests to check on what browser it is running

      In modern Javascript usage you leave that to a framework library such as Prototype, mooTools, jQuery, Dojo etc.

      --
      Remember, there are no stupid questions. But there are a lot of inquisitive idiots.
    22. Re:Got it wrong by mcvos · · Score: 2, Insightful

      One of the biggest issues I've had with it is the poor performance (relative to what it's being asked to do) in the current browser engines.

      One thing I learned to avoid is big iterations. Keeping your loop as short, efficient and preferably absent as possible has a surprisingly big impact on javascript performance.

    23. Re:Got it wrong by hey! · · Score: 5, Insightful

      Some day, I may write an essay "Model View Controller Considered Harmful".

      It's not that MVC is a harmful pattern. It's a natural pattern that often emerges from an application of sound design principles to many problems. It's that it has become such a design buzzword that it encourages a kind of "design first analyze later" phenomenon. People are so sure they're going to find MVC that they start with it and go looking for ways to fit the problem to it.

      And they find them. The problem is that the first way you find to apply it isn't necessarily the best one or the only one. I think you're brining up an example of how the design first mindset introduces blinders into people's thinking. They can't see the obvious because they're too wrapped up in the idea that MVC will magically simplify design, whereas simplifying design will often generate MVC.

      I've seen so many "MVC" designs that were superficially structured as MVC, but were in fact heavyweight, somewhat arbitrary abstractions through which all kinds of responsibilities are squeezed like so much meat through the grinder.

      --
      Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
    24. Re:Got it wrong by AKAImBatman · · Score: 4, Informative

      Start at the source:

      http://developer.mozilla.org/en/Core_JavaScript_1.5_Guide

      That document may be nearly 15 years old (plus/minus revisions along the way), but it's still the definitive method of learning Javascript.

      For those who actually take the time to read it, that is.

      Good luck! :-)

    25. Re:Got it wrong by erlando · · Score: 1

      - A real way to include other javascript files.

      Agreed. Injecting a script-tag just doesn't cut it. We want real includes dammit!

      - A well defined way to say "The page is loaded, all your variables and objects are loaded, Time to execute!"

      Isn't this more of a browser-issue? A consensus is needed as when to fire "onload".

      Anyway you can get close by using e.g prototype's document.observe("dom:loaded", ...) in Prototype 1.6+

      --
      Remember, there are no stupid questions. But there are a lot of inquisitive idiots.
    26. Re:Got it wrong by larry+bagina · · Score: 1

      "Web 3.0" stuff (gwt, sproutcore, objective J, etc) move much of the server side stuff to the client and use the server primarily for serving itself and db access.

      --
      Do you even lift?

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

    27. Re:Got it wrong by dword · · Score: 1

      window.onload = function () { alert('The page is loaded') };

    28. Re:Got it wrong by IntlHarvester · · Score: 1

      That was done years ago. Any scripting language which plugs into the Windows Scripting Host can be used for web scripts in IE. So ActiveState Perl and Python can be used in a suitably controlled environment.

      --
      Business. Numbers. Money. People. Computer World.
    29. Re:Got it wrong by AxelTorvalds · · Score: 1
      Better isn't the right word.

      It's ubiquitous. good enough and it runs everywhere you want it to.

    30. Re:Got it wrong by dword · · Score: 3, Insightful

      That's not really the problem. Standard JavaScript is supported on most browsers (all popular browsers) in a more uniform way than anything else is. The real problem is the way access to the DOM was implemented, not the language it's self. People realized there were certain needs for certain features (ie, like selecting text in an input element) so they implemented those features in their own proprietary ways and left them the way they were done.
      Some browsers include newlines in the DOM, some don't. If you have something like <ul> followed by a newline followed by a <li> you'll find that IE doesn't consider the newline to be a child of the <ul< but FF does (I find that annoying).
      What we really need is a standardization for working the DOM in the browsers, the language it's self is fine.

    31. Re:Got it wrong by betterunixthanunix · · Score: 1

      I guess you missed that part about "standard." Or about non-Microsoft browsers. Or non-Microsoft operating systems. Cross platform programming has been important since before Microsoft, before the Internet, and certainly before the world wide web. There are other, better designed ways of creating distributed applications.

      --
      Palm trees and 8
    32. Re:Got it wrong by coryking · · Score: 5, Insightful

      That document.observe is all great until you try to mix Prototype (or any of these libraries) up. Say you needed to use the YUI calandar control on a page that also uses Prototype (for lightbox2). Now the two libraries will "fight" over the browser's onload.

      Actually.. that is the biggest problem we have right now. Dozens of javascript libraries and all do pretty much the same thing. All of them "weight" like 20->40k. That "weight" and the potential for them to conflict make life really hard.

      What if you based your own code on Prototype and want to integrate a really nice file-upload control that uses MoTools?

      What if you are using Prototype and you drop in TinyMCE. Now you've got two runtime libraries that both have their own methods for injecting objects into the DOM. Those two methods are ever so slightly incompatible so if you create a DOM object via Prototype (actually scriptalicious) and try to inject it using the TinyMCE way, things will break in random browsers in very hard to track way.

      Enter Silverlight/Flex. Now you can go from dozens of Javascript runtime libraries to only two very stable ones. As the "UI control" scene for these grow, I suspect our dependency on Prototype/jQuery/Whatever will shrink.

      After all, it has to be way easier for control vendors to target Silverlight/Flex then it is for them to target javascript. And as a bonus, it is way easier for me to integrate their UI controls into my own Silverlight/Flex application.

    33. Re:Got it wrong by IntlHarvester · · Score: 3, Informative

      Yep. Also the Microsoft reference on "JScript" is pretty good.

      http://msdn.microsoft.com/en-us/library/4yyeyb0a(VS.85).aspx

      --
      Business. Numbers. Money. People. Computer World.
    34. Re:Got it wrong by Anonymous Coward · · Score: 0

      Javascript can be made to do anything that is needed client side. Anything else should be handled by a post back and taken care of server-side.

      AJAX anyone?

    35. Re:Got it wrong by hey! · · Score: 2, Insightful

      Well, if you're going to standardize the object model, how much of a larger step would it be to define a virtual machine to go along with it? Then you could use any language you like, provided that it could be compiled for the VM.

      It's funny that this wasn't the way things went, because that certainly works for many developers who don't want to share code, aside from the other things that would make this convenient. On the flip side, it's probably done a lot to encourage open source web UI frameworks, so it may be a good thing in the end. All those people copying snippets of javascript have in their script-kiddie way advanced the idea of sharing ideas through code.

      I haven't watch the evolution of javascript over the years, so I can't say why it didn't go this way in the beginning. Perhaps things were so far from being sufficiently standardized this just wasn't that useful idea. I'd be interested to hear on this from somebody who's been more involved with the technology.

      --
      Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
    36. Re:Got it wrong by jrumney · · Score: 2

      Here's an even better idea: The HTML DOM would be the View, the Javascript would be the Controller, and the server would be the Model!

      Here's another one for you: The HTML DOM is the view, the Browser is the Controller, the Model is implemented in Javascript, and the server would be a source of data.

    37. Re:Got it wrong by IntlHarvester · · Score: 1

      Oh I agree totally, I'm just pointing out that with a properly designed and controlled environment there's no real requirement for JavaScript. I'd love to see WSH integration for Firefox (and with whatever scripting frameworks exist on *nix and OS X).

      --
      Business. Numbers. Money. People. Computer World.
    38. Re:Got it wrong by IntlHarvester · · Score: 1

      I agree the DOM can be a problem in certain corner-cases, but people on this site act like it's 1998 and IE & Netscape use two completely different DOMs. The truth is that 99% of properly-written DOM manipulation code will run cross-browser without big issues.

      --
      Business. Numbers. Money. People. Computer World.
    39. Re:Got it wrong by nine-times · · Score: 1

      Most of those features are syntactic sugar that makes the language more comfortable to Java programmers.

      IANAProgrammer, but isn't that worth something? By which I mean, if you want to create a robust platform, doesn't it make some sense to create an environment where developers are comfortable?

      Maybe it seems petty, but I would think that there was some value in allowing programmers to choose which language they wanted to use, so they could use whatever was comfortable for them.

      Mind you, I'm not a *huge* fan of the browser-as-a-platform idea. It seems to me that browsers were originally designed to be viewers, and it shows. There's a need for a strict/secure viewer with no security holes, and there's a need for a cross-platform application framework based on client/server interaction. I'm still not sure I understand why they have to be the same program, and I'm not quite convinced that they should be the same program. But I guess I'm just on a wild tangent.

    40. Re:Got it wrong by Schnoogs · · Score: 1, Insightful

      Oh please...how your post was modded as insightful is beyond me.

      There are compelling reasons as to why functional languages haven't caught on and it wasn't because everyone isn't as much of a programming bad ass as yourself.

    41. Re:Got it wrong by Anonymous Coward · · Score: 0

      Could you write an editor in it?

    42. Re:Got it wrong by dave420 · · Score: 1

      No. Not even close.

    43. Re:Got it wrong by AKAImBatman · · Score: 5, Informative

      Say you needed to use the YUI calandar control on a page that also uses Prototype (for lightbox2). Now the two libraries will "fight" over the browser's onload.

      That's because "framework" developers refuse to get with the times.

      function done1() { alert("All done!"); }
      function done2() { alert("All done!"); }
       
      if(document.addEventListener) window.addEventListener("load", done1, false);
      else window.attachEvent("onload", done1);
       
      if(document.addEventListener) window.addEventListener("load", done2, false);
      else window.attachEvent("onload", done2);

      Some people who are otherwise very smart with Javascript (e.g. Douglas Crockford) can't seem to figure out why you might need more than one listener for an event. Sure, you could chain the events, but that's ugly. DOM 2 Events already exists, so why not use it?

      And for the record, the conditional code wouldn't be necessary if Microsoft wasn't a bunch of tools. God help us all if they ever actually decide to... oh, I dunno... implement a standard they helped create. But that's just my opinion.

    44. Re:Got it wrong by DougWebb · · Score: 4, Informative

      - A well defined way to say "The page is loaded, all your variables and objects are loaded, Time to execute!" rather then "You can only see the variables and objects that are defined 'above' you and not 'below' you in unloaded portions of the page".

      jQuery's $().ready( function() {...} ); method has been a fantastic help in my Javascript development. It executes after the DOM has been initialized, but before all of the images have been loaded. window.onload() waits for the images to load, which delays your javascript from running until after the page has been rendered. jQuery doesn't do that; your code will often run before the page is rendered, so you can use javascript to enhance/replace elements that work without javascript too. For example, I often have UI controls which will refresh the entire page to perform their function when javascript is not enabled, but they'll use AJAX and refresh only the necessary elements if javascript is enabled. Using jQuery, I can attach events and alter CSS classes before the user sees the page, so javascript and non-javascript users get somewhat different looking, somewhat different behaving, but always fully functional views of my application.

    45. Re:Got it wrong by Anonymous Coward · · Score: 1, Funny

      Then the authors of these frameworks should work towards a common init procedure and test to see if such a function is already loaded. This isn't a problem with javascript and Silverlight/flex are not necessarily going to help you because many users (myself included) will not be running these.

    46. Re:Got it wrong by dword · · Score: 2, Interesting

      What we're bitching about is "cool" features, as in the example I gave above: marking a piece of text in an input control as selected. Trying to find and set the size of the browser window is also a pain. Forgetting to skip newline characters that really shouldn't be there (because they're not part of the view) gets you in big trouble. These are little details you have to debug, hardly documented features of browsers or things where only a pre-written JS function can help (you die reinventing the wheel if you don't know how to SOFG for some of JS code required to access the DOM).
      We have standards for the low/average JavaScript application and, amazingly, they're followed in all popular browsers (IE6+, Safari, Opera, FF2+) but there are still some nice things that are missing and are required for the most powerful applications - see GMail and Google Docs.

    47. Re:Got it wrong by drharris · · Score: 2, Informative

      Thank you for pointing this out. I couldn't agree more. I've dealt with a few "new school" developers in the last few years that think that anything that is not MVC is clunky and unmanageable. Experience alone will tell you when MVC is a good idea and when it's not..

    48. Re:Got it wrong by Kozz · · Score: 3, Informative

      PHPMyAdmin, OSCommerce, CodeIgniter... yep. Just quick and dirty hacks. Come on, lay off the generalizations.

      PHP doesn't make crappy code, coders do. The same could be said (and has been said) about Perl, but it doesn't make it true.

      --
      I only post comments when someone on the internet is wrong.
    49. Re:Got it wrong by Candid88 · · Score: 1

      That's not all it's used for though, is it.

      I work for a multi-national corp which uses several large-scale PHP applications for its operations which have been extremely successful. They are built upon the Symfony framework http://www.symfony-project.org/ which has proven to be a good, secure & reliable MVC application framework.

      The grandparent post was spot-on, the maturing of PHP over the past 5 years has been remarkable and is a real testement to the power of the open source ideology.

    50. Re:Got it wrong by AKAImBatman · · Score: 1

      Could you write an editor in it?

      You joke, but...

      As a reminder, Composer was a part of the Netscape/Mozilla suite since nearly the beginning.

    51. Re:Got it wrong by Eli+Gottlieb · · Score: 1

      An abundance of frameworks is a sure sign of either a bad language or a horrible platform.

    52. Re:Got it wrong by lastchance_000 · · Score: 1

      Good advice, and I do my best to follow it on my own sites. If only the developers of the other websites I have to look at would follow it. I have to admit, there seem to be fewer and fewer really bad examples. I think people are getting a clue.

    53. Re:Got it wrong by coryking · · Score: 5, Informative

      Sure, you could chain the events, but that's ugly. DOM 2 Events already exists, so why not use it?

      Dunno, but I'd imagine one reason might be to "standardize" the broken "body onload" event. For those who aren't up to speed in how crappy IE6 is... IE6 doesn't fire the body's OnLoad event when it uses a cached version of a document, it only fires when it loads a fresh one. Grrr....

      Another reason I can think of is some of the libraries (YUI comes to mind) offer easy-ish ways of creating your own events. Having a (library specific) standard method to hook events that works with the (library specific) standard way of creating events might be nice.

      Seriously, the bloom of incompatible javascript toolkits isn't making my life easy. I've standardized my own javascript code around Prototype (which is used in Lightbox). There are lots of cool jQuery-only and MooTools-only widgets I'd like to use, but I dont want to have clients pull down three javascript libraries for just one page.

      And to finish my rant... just wait until your javascript toolkit vendor ships out a new version (prototype 1.6) that isn't completly compatible with it's old one (1.5). Just wait until 1/2 your widget set breaks on 1.6 and half breaks because of 1.6.

      I love web development.

      I've been playing with Silverlight. Took me a single night to cook up a file upload control that works on IE6,7,8, Firefox 2 & 3, Intel Mac & Windows (even 2000) and will work on any other platform Microsoft targets in the future. It just nestles itself right into my HTML all cute-like with no fuss. You can get your javascript code to interact with it just like a DOM object -- events and all. It is server-side agnostic and since it can serialize/deserialize JSON, it can talk with all the same server-side AJAX stuff my existing client-side javascript code does. In other words, it appears to be trivially easy to replace the javascript widgets with silverlight ones without touching a line of server-side code.

      How long would it have taken to do the same file upload code in Javascript? Probably a week and a month of dealing with users running some spyware/toolbar that breaks the production code in insane ways.

      Times are a changin!

    54. Re:Got it wrong by coryking · · Score: 1

      Have you tested that code in IE6 yet? If not, you are in for a surprise.

    55. Re:Got it wrong by ErroneousBee · · Score: 1

      The problem with MVC in an Ajax application is that there is a 4th component, the one that communicates with the server to get the data that populates the model.

      If you use MVC with JavaScript and xmlhttprequest, you find the calls to xmlhttprequest fit naturally into the 'controller' group of javascript functions, but the callback functions fit naturally into the 'model' part, as they are updating the model (which will be a data object in the DOM) and driving the functions that update the view.

      Theres also issues with what happens when the server is supplying HTML to be inserted into the view, which sort of bypasses the model, and can also make National Language Support difficult.

      --
      **TODO** Steal someone elses sig.
    56. Re:Got it wrong by bryce4president · · Score: 1

      I'm confused why you would inject a Prototype DOM object using the TinyMCE way. As you previously stated, they all have their own methods for DOM injection. The fact that you ended this post with a couple Silverlight/Flex fanboi sentences tells me that your javascript knowledge is about as deep as the half dozen library names that you threw out there.

      Can there be compatibility issues between libraries? Sure. But how many times have you run into a feature in one the libraries that is so amazing that you can't live without it? Let alone the idea of not being able to use it because its not compatible with your current library of choice, thus ruining your day, and your view of javascript?

      I'd say that if you've gotten to that point then you just don't know enough about javascript and should stop complaining when your library dependency lets you down.

      No, I'm not trying to troll here, you've gotta come up with a real argument against javascript beyond the fact that there are a few compatibility issues that almost always can be solved one way or another, God forbid you actually have to look at the code instead of making a bunch of pre-built function calls.

    57. Re:Got it wrong by moderatorrater · · Score: 2, Insightful

      The biggest problem that I've seen is that nobody knows how to code it. With C, C++, Java, and even PHP there's a set of standards that everyone adheres to with objects, functions, loops, etc. Then you bring in Javascript with a completely different paradigm and suddenly the old standards don't apply. When defining functions on the fly, do you use Function(), function *name* {}, eval...? How do you use the prototype? When do you use closures? Most people don't even know how to use these, much less when to use them and how you should format that use.

      The most popular method right now is to try and make it so that javascript conforms more closely to existing paradigms, so that objects can extend one class and only one class, closures are avoided, etc. They would rather act as if some of the most powerful features of the language don't exist than try to work with the new paradigm. In my opinion, this isn't a long term solution and it's nowhere near optimal. When some good coding standards start emerging for javascript and we get some decent editors, I think we'll see a spike in code quality. Until then, it's going to be a mess.

    58. Re:Got it wrong by coryking · · Score: 1

      And if you've got MSDN on your machine already (ala Visual Studio), you can use the much nicer help application thingy instead of the some-what-broken-in-firefox online documentation.

    59. Re:Got it wrong by bryce4president · · Score: 1

      Oh come on troll. Seriously? PHP has become a very powerful language. The fact that you CAN hack up a quick and dirty web app with it doesn't mean that its ONLY used for that. For starters PHP at the very least gives you the ability to standardized your site design without a lot of duplicate code needing to be written. I'd much rather include a php script file that has my layout at the top of each page and just worry about the content. I can recode menu options and add links all in one spot.

      Your statement is ignorant and hollow, and your Insightful score shows that sadly there are others that are just as bad.

      I know this is /. but can't you at least make an effort?

    60. Re:Got it wrong by Ex-Linux-Fanboy · · Score: 1

      A web browser using Python for client-side scripting? It's been done

    61. Re:Got it wrong by Anonymous Coward · · Score: 0

      You're right, it doesn't work in IE2.0 nor in FF1.0 ...</sarcasm>

      PS: It works in IE6 - XP SP2. Hopefully you're not talking about the IE6 that shipped over five years ago because I don't know how I could get my hands on that... If you have it and you could send it to me, please don't.

    62. Re:Got it wrong by mortonda · · Score: 1

      That's true of any programming language. Welcome to the "science" part of Computer Science. It's what separates the wheat from the chaff.

    63. Re:Got it wrong by PitaBred · · Score: 5, Insightful

      Except there will be no first-party support of Silverlight for Linux, ever, so it will always be a second class citizen in the .NET world. Assuming Moonlight even gets to the 1.0 status, or ever works as a browser plugin. The gnome guys working on it are so busy sucking Microsoft's dick for cash that they can't actually make it useful (it's compiled without any kind of multimedia support, which is the main feature that it's pushed with). And the Mac will get the same treatment, the Silverlight releases will always lag significantly behind the Windows one in version and bugfixes.

      Embrace, extend, extinguish. They've done it before, they'll keep trying to do it again, and people like you who say "look how little work it takes to make something locked into a very expensive OS that actively works against it's user!" just enable them to keep doing so.

    64. Re:Got it wrong by bberens · · Score: 1

      I haven't watch the evolution of javascript over the years, so I can't say why it didn't go this way in the beginning.

      Because java applets sucked.

      --
      Check out my lame java blog at www.javachopshop.com
    65. Re:Got it wrong by AKAImBatman · · Score: 2, Interesting

      You've just described why I have a deep-seated hate for frameworks. If these frameworks really wanted to help, they'd focus only on APIs that make sense. But don't cram me into your idea of how Javascript APIs should look. The DOM/Javascript APIs exist for a reason, and most are quite good. Until the rest of the industry gets with the program, I'll roll my own toolkit-independent widgets.

      As for Silverlight, you don't have compatibility problems now. But just wait a little bit. Microsoft is famous for incompatibly changing APIs from version to version. It happened with Access VBA from 97->2000, it happened to .NET, it happened with VB6->VB.NET, it happens with every version of Windows. Betting on anything Microsoft is a good way to find a stake through your back once you outlive your usefulness to them.

    66. Re:Got it wrong by Serious+Callers+Only · · Score: 5, Insightful

      I've been playing with Silverlight. Took me a single night to cook up a file upload control that works on IE6,7,8, Firefox 2 & 3, Intel Mac & Windows (even 2000) and will work on any other platform Microsoft targets in the future.

      With Microsoft's track record of openness and cross platform support, what could possibly go wrong with your plan?

      BTW, your upload control doesn't work on most browsers on the web today, and I wouldn't download a plugin for your content, sorry.

    67. Re:Got it wrong by coryking · · Score: 0

      No offense to you pal, but you will be left behind to suck up what little chunks are left.

      Between Flex and Silverlight, I strongly suspect we'll see a good swath of "Web 2.0" replacing their javascript code with either Flex/Silverlight replacements. They will do so because developing on either of these platforms enable them to crank out code that is far more stable, faster to develop, easier to maintain. Both of them can run on Browser/OS platforms used by probably 95% of the web.

      The "value story" for either of these platforms are so compelling to companies that they simply will not care about you and your rebellious ways.

    68. Re:Got it wrong by Anonymous Coward · · Score: 0

      We need only look at English for that example, the Americans standardized it and it wasn't even theirs to standardize!

    69. Re:Got it wrong by CodeBuster · · Score: 2, Interesting

      I like the way that the Head First Design Patterns poster explains this with the "Zen of Patterns" section:

      The Beginner Mind:

      The beginner uses patterns everywhere. This is good: the beginner gets lots of experience with, and practice using patterns. The beginner also thinks, "The more patterns I use, the better the design." The beginner will learn that this is not so, that all designs should be as simple as possible. Complexity and patterns should only be used where they are needed for practical extensibility.

      The Intermediate Mind:

      As learning progresses, the intermediate mind starts to see where patterns are needed and where they aren't. The intermediate mind still tries to fit too many square patterns into round holes, but also begins to see that patterns can be adapted to fit situations where the canonical pattern doesn't fit.

      The Zen Mind:

      The Zen mind is able to see patterns where they fit naturally. The Zen mind is not obsessed with using patterns; rather, it looks for simple solutions that best solve the problem. The Zen mind thinks in terms of the object principles and their trade-offs. When a need for a pattern naturally arises, the Zen mind applies it, knowing well that it may require adaptation. The Zen mind also sees relationships to similar patterns and understands the subtleties of differences in the intent of related patterns. The Zen mind is also a beginner mind, it doesn't let all that pattern knowledge overly influence design decisions.

    70. Re:Got it wrong by Anonymous Coward · · Score: 1, Insightful

      Seriously, the bloom of incompatible javascript toolkits isn't making my life easy.

      Don't use them then. "It hurts when I do this" (punches self in balls).

      And to finish my rant... just wait until your javascript toolkit vendor

      I write my own code.

      I love web development.

      You'll get no sympathy here, spare us the sarcasm and go and do something else.

      Took me a single night to cook up a file upload control that works on IE6,7,8, Firefox 2 & 3, Intel Mac & Windows (even 2000) and will work on any other platform Microsoft targets in the future.

      I'll raise you a Java applet.

      Times are a changin!

      We heard that one back in '97.

    71. Re:Got it wrong by coryking · · Score: 1

      I'm not arguing against javascript..

      I'm confused why you would inject a Prototype DOM object using the TinyMCE way

      Lets say you are writing a plugin for TinyMCE that adds a few extra XML tags that represent things like slideshows or a special kind of image. The user clicks on "insert slideshow" in the TinyMCE toolbar and a window pops up where they can choose from a list of slideshows. That window makes some calls back to the server to get the list of slideshows using my existing Prototype AJAX functions. That window also has to use TinyMCE's popup window functions so it can talk back to the main browser window and spit the results into the TinyMCE document.

      Bottom line, I made a rookie mistake and created those elements using something like this

      var old = **function that gets selected text**
      var ele = Builder.createNode('DIV', {rel='gunk', class='slideshow'}); // create new element
      tinyMCE.selectedElement.replace(old, new); // replace old DOM elements with new ones

      Granted that code is paraphrased, but basically, I mixed scriptalicious's "node" with TinyMCE's stuff. Things blew up in crazy ways.

      So yes, the mistake was mine. But it highlights my original point. All these libraries have their own slightly different ways of doing things and it gets really easy to make mistakes like I did when you are lazy/up late. Good luck hunting those bugs down too... most of them crop up on IE6 and you cannot use firebug :-)

      God forbid you actually have to look at the code instead of making a bunch of pre-built function calls.

      I'd wager your own code would probably piss off TinyMCE's node functions just as easily as scriptalicious did. Even if you did things the text-book proper way.

    72. Re:Got it wrong by coryking · · Score: 2, Interesting

      Even when IE6 is using a cached version of the HTML? In my experiance, IE6 doesn't fire that event when the HTML is cached. It is hard to spot this bug because as a developer, you usually refresh the page to reload the javascript.

    73. Re:Got it wrong by rlk · · Score: 1

      A lot of the performance problem is with the browser rendering the page, not the Javascript per se. I have one application that does filtering, sorting, column hiding, and such on tables, which may be quite large (thousands of rows, 20~30 columns). Benchmarking suggests that the JavaScript isn't the issue; it's the browser re-rendering the page.

      I've done all kinds of tricks with the DOM, some of them browser-specific (some things work well on Gecko browsers but not at all on WebKit/KHTML; some things that work well on the latter perform very poorly on the former). But as best as I can tell, I'm simply close to the limits for what the browser can do with the data it's being asked to display.

    74. Re:Got it wrong by bryce4president · · Score: 1

      You were right, it was a rookie mistake. But rookie mistakes don't invalidate the usefulness of a language. I can destroy a machine's memory in C with some rookie mistakes but that doesn't stop people from writing incredibly complicated applications with it.

      PS. I can't wait for IE6 to die. I think it will only be a matter of 6 - 8 months and we'll be able to stop supporting it. A lot of these problems will go away in the next year, just hang in there.

    75. Re:Got it wrong by Anonymous Coward · · Score: 0

      1) You're right. 2) This is because of the DOM, not because of JavaScript.

    76. Re:Got it wrong by Anonymous Coward · · Score: 0

      I don't see what more you might want in javascript that you absolutely cannot live without.

      It's just too loose. Eg. no static typing, different ways to do OO, dodgy inheritance, no interfaces (oh God, please, interfaces!).

      I'd like to see javascript be compiled too, with all the sugar you could add into an IDE that would come with that (typos are a ridiculously large problem in JS) and of course that might offer some performance improvement.

      OK, I'll still live without these things. But then I'd still live if I slept with Jade Goody, maybe. That doesn't make it right.

    77. Re:Got it wrong by coryking · · Score: 1

      As for Silverlight, you don't have compatibility problems now

      But that is a compatibility problem that is under your control. Just like you dont have to target .NET 3.5, you dont have to "upgrade" your Silverlight app until you are ready. Your web page can request a specific silverlight runtime, not just "the newest" one.

      I'd much rather have Adobe or Silverlight change or break their API than a browser breaking their API between versions. I have *no* control over what browsers visit my site and if, say, Firefox3 broke a lot of my code because of an API change, I would be *forced* to fix things ASAP or a visitor would blame my website, not their browser.

      If I target Silverlight/Flex and Firefox 3 broke their support for Silverlight/Flex, there would be a *lot* of other websites (say, youtube) that would be broken and visitors would blame the browser, not my website.

      In other words, dealing with Microsoft or Adobe's API changes is way, way better then dealing with $RANDOM_BROWSER's API changes you have zero control over.

    78. Re:Got it wrong by Blakey+Rat · · Score: 1

      BTW you can also do that as easily by hooking on to the existing onload function. This way, you're not depending on the reliability and availability of "addEventListener":

      // Stupid Slashdot code; don't implement without lots of testing
      var t_onload = window.onload.toString().replace(/^[^{]*{/,'').replace(/}$/,'');
       
      t_onload = 'MyNewOnloadFunction();' + t_onload;
       
      window.onload = new Function( t_onload );

      Of course, for onload specifically, we generally avoid using the window.onload handler altogether, since it doesn't fire under certain circumstances (like when the user hits Stop, for example.) Instead, we just set up a looping function using setInterval that checks the doc.readyState in IE and whether the "pageshow" event has fired in FF.

      But this technique works on all types of handlers.

    79. Re:Got it wrong by pseudorand · · Score: 1

      Amen. First post AND intelligent. Now I remember why I read slashdot.

      Any why all this talk of 'language'. Who cares about the language. I feel like C3PO. I'm fluent in over 16 million 'programming languages' in the sense that the syntax of the language is trivial. And while Ruby is the best in that sense, Javascript is very good, allowing me to write very copy-n-paste free code with good support for arrays and hashes. It's the API that's the problem, not the language itself. And that's a matter of getting M$ and Mozilla to agree on improvements to the DOM standard.

    80. Re:Got it wrong by coryking · · Score: 1

      But rookie mistakes don't invalidate the usefulness of a language

      But of course you are right. I sure learned a lot from that bug, let me tell you! "Dont ever mix & match junk created by javascript libraries". After that incident, I now get kinda iffy about even passing DOM elements loaded with var ele =$('element'); to other framework's methods.

      I can't wait for IE6 to die. I think it will only be a matter of 6 - 8 months and we'll be able to stop supporting it

      I've been talking to a friend who supports a website that sells "business software". My websites target the "entertainment" crowd. 25% IE6 for me, fucking 55% IE6 for him. That damn browser just won't die. :-(

    81. Re:Got it wrong by Hognoxious · · Score: 2, Funny

      You're correct. Some of them aren't quick at all!

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    82. Re:Got it wrong by AKAImBatman · · Score: 2, Interesting

      I have *no* control over what browsers visit my site and if, say, Firefox3 broke a lot of my code because of an API change

      Firefox 3 doesn't break your code because of an API change. It's based on web standards that remain frozen once implemented. Prototype 1.5 -> 1.6 will change like you mentioned, but you have just as much control there. In fact, you have MORE control because you're not at the whim of the plugin/browser maker to continue supporting the old plugin. One fellow I was talking to here on Slashdot actually kept a separate copy of APIs like prototype for each module. He simply didn't upgrade them unless there was a clear and solid need to do so.

      I can't say I agree with such a draconian approach, but there's nothing inherent in web development that causes the problems you describe. If anything, web development is less susceptible to upgrade problems. Unless, of course, you're still doing browser version checking? (In which case it's your own damn fault.) PLEASE tell me you're doing feature checking instead?

    83. Re:Got it wrong by Blakey+Rat · · Score: 2, Informative

      Defer only works in IE. Firefox doesn't support it, and I'm pretty sure Safari doesn't support it either.

    84. Re:Got it wrong by Anonymous Coward · · Score: 0

      I always thought it would be cool if browsers adopted Python as well as JS as a scripting language.

      Mmmm, DOM scripting in python....

    85. Re:Got it wrong by Kz · · Score: 1

      Here's another one for you: The HTML DOM is the view, the Browser is the Controller, the Model is implemented in Javascript, and the server would be a source of data.

      a big problem with that is security. the server can't trust the client, therefore the data it presents should be at a higher level than simply raw data. ideally, both the server and client would speak exactly the same model, with traffic between them to keep consistency. of course, the client should have only a subset of the whole dataset, probably only what's relevant at the moment, probably just a cache to make it almost transparent... but those are details.

      --
      -Kz-
    86. Re:Got it wrong by Anonymous Coward · · Score: 0
    87. Re:Got it wrong by Blakey+Rat · · Score: 1

      It's not the language, it's the platform. Microsoft and Mozilla do nearly everything different from each other-- IE calls it "innerText" so FF calls it "textContent." IE deletes blank text nodes from the DOM, so Firefox keeps them. They handle event objects differently. IE doesn't bubble clicks on Flash and Silverlight content, so Firefox does. Etc.

      In some cases, Microsoft is more right ("innerText" makes more sense than "textContent"), and in some cases Mozilla is more right (like bubbling Flash/Silverlight clicks.) But the real problem is that they're different.

      Then the DOM API sucks, so you end up with a situation where 90% of Javascript applications need code duplicated one way or another. You can have a single webpage with 3-4 different functions that set or get cookies, for example. And of course you need your new ".realInnerText()" and your "if( !evt ) {evt = event;}" to compensate for the differences above.

      Pain in the butt.

      Oh, and to make things worse, all the frameworks conflict with each other. They all create/overwrite a function named "$" that does something different for each one. They all hijack event handlers with no respect for existing handlers.

      The language is great though.

    88. Re:Got it wrong by Anonymous Coward · · Score: 0

      Then you could use any language you like, provided that it could be compiled for the VM.

      Ack, we could create an intermediate language suitable for deployment and let browser vendors implement their own AOT/JIT bytecode compilers/interpreters. Thus developers would be free to use whatever language they wanted :P

      • http://haxe.org/
      • http://www.openlaszlo.org/
      • http://code.google.com/p/pyjamas/
      • http://code.google.com/webtoolkit/
      • etc...
    89. Re:Got it wrong by Tacvek · · Score: 1

      More accurately AS3.0 == ES4 proposal, which was recently turned down by ECMA.

      --
      Stylish sheet to fix many problems in Slashdot's D3: https://gist.github.com/801524
    90. Re:Got it wrong by coryking · · Score: 1

      One fellow I was talking to here on Slashdot actually kept a separate copy of APIs like prototype for each module. He simply didn't upgrade them unless there was a clear and solid need to do so.

      How does that work? What if you want both widgets on the same page?

      And that is another damn problem with the world (I'm on a roll). Unless you use something like "Google Code" to server Prototype.js or jQuery.js, a visit has to load the library from your server when odds are good they have it cached already from another website. In my experience, letting google or yahoo do the library hosting has led to nothing but trouble (they'll stall your page load like the analytics tracking cookie does sometimes).

      In fact, you have MORE control because you're not at the whim of the plugin/browser maker to continue supporting the old plugin.

      I'm gonna argue just for the sake of having fun... but hundred bucks says "Lightbox v6, now requiring Prototype 10.32!" has a bunch of browser bugfixes that will never get back ported to "Lightbox v5, requiring Prototype 9.1". Sure you can do it, but arg.

      Good times! I should probably do real work now, eh?

    91. Re:Got it wrong by Anonymous Coward · · Score: 0

      Thanks for this comment. I totally agree.

    92. Re:Got it wrong by Anonymous Coward · · Score: 0

      I really have nothing to contribute to the discussion. I just want to hang out with the low UID guys, maybe learn something by osmosis...

      Beer? Coffee, anyone?

    93. Re:Got it wrong by sproketboy · · Score: 1

      "Javascript is extremely useful to create large scale applications but most programmers are to much educated towards 'convetional' OO-programming to use it right."

      WRONG!

      "Javascript is extremely useful to create THE UI FOR create large scale applications...."

      And even that's a stretch. A lack of a type system makes Javascript really not useful for large scale applications as a whole.

    94. Re:Got it wrong by chrysalis · · Score: 1

      You're correct. Some of them aren't quick at all!

      But they are as security flawed as quick ones.

      --
      {{.sig}}
    95. Re:Got it wrong by chrysalis · · Score: 1

      PHPMyAdmin, OSCommerce, CodeIgniter... yep. Just quick and dirty hacks. Come on, lay off the generalizations.

      PHP doesn't make crappy code, coders do. The same could be said (and has been said) about Perl, but it doesn't make it true.

      OSCommerce... have you ever looked at the OSCommerce code?

      Probably one of the most horrible code I've ever seen.

      --
      {{.sig}}
    96. Re:Got it wrong by i.of.the.storm · · Score: 1

      Indeed. How that got modded insightful, I have no idea. I would mod that redundant.

      --
      All your base are belong to Wii.
    97. Re:Got it wrong by riceboy50 · · Score: 1

      A well defined way to say "The page is loaded, all your variables and objects are loaded, Time to execute!" rather then "You can only see the variables and objects that are defined 'above' you and not 'below' you in unloaded portions of the page".

      Isn't this more about being able to rely on the UA to fire certain events at predictable times, and thus an implementation issue?
      If you're executing inline (which should run during page render), then you should expect the DOM not to be fully complete.

      --
      ~ I am logged on, therefore I am.
    98. Re:Got it wrong by Yold · · Score: 1

      1. There are at least 3 ways of doing this, the old fashioned way, having PHP dynamically generate a (like the old fashioned way), or use DOM to append the script tag from within javascript.
      2. Event.observe(window, 'load', function(event){ alert("your wish has been granted by prototype"); });

    99. Re:Got it wrong by Anonymous Coward · · Score: 0

      You know that neither of those have anything to do with the javascript language right? :)

    100. Re:Got it wrong by Anonymous Coward · · Score: 0

      PHPMyAdmin, OSCommerce, CodeIgniter... yep. Just quick and dirty hacks.

      I've worked with OSCommerce for a project, and it may not be quick but if it isn't dirty I don't know what is.

    101. Re:Got it wrong by AKAImBatman · · Score: 3, Funny

      WRONG!

      Well, I don't know about anyone else, but I'm convinced. Your enthusiastic use of the word "WRONG!" has totally won me over. The fact that you only offered the weakest of excuses for your anti-Javascript bias does not matter. You yelled "WRONG!" louder than your opponent. Therefore you have convinced me.

      Truly a masterful stroke.

    102. Re:Got it wrong by mjohn · · Score: 1

      I'm currently working on quite a large Flex (ActionScript 3) project, and I can agree that the language is far better than the JavaScript junk that is in most browsers.

      However, I would love it if Adobe embedded Mono as the runtime in Flash Player instead. It would definitly make development and debugging of larger projects a whole lot easier and it would probably make apps faster too. I guess we'll never know.

    103. Re:Got it wrong by mad.frog · · Score: 1

      AS3 was based on an early draft of the "JavaScript 2", which later morphed into the proposed ES4.

      The proposed ES4 is/was mostly a superset of current AS3, delta a few mostly minor points.

    104. Re:Got it wrong by Sancho · · Score: 1, Interesting

      If you want standardized layouts, there are much lighter weight solutions than PHP. Server Side Includes have been around for ages and will do just that. You shouldn't be calling the PHP interpreter just to have common headers and footers.

      PHP started out as a templating framework and evolved into a language. It also manages to do lots of little things just a little bit differently than every other language on Earth, making it hard to really learn. Throw in some dubious design decisions (no namespaces? WTF?) and you've got something that's really just a mess.

      PHP should never have been extended to do real work. It's fantastic for really simple things, but once you add in much complexity, it's the wrong tool for the job.

    105. Re:Got it wrong by interiot · · Score: 1

      Firefox ships with a decent percentage of its default functionality implemented in Javascript, and it's frequently heavily OO-based. If you're looking for real-world code to study, just unzip the .jars to be able to examine Firefox's javascript code.

    106. Re:Got it wrong by benhattman · · Score: 1

      It's just that no one has come up with a better language. If no one comes up with a better language, why reinvent the wheel?

      That's ignoring the bootstrapping problem. If I have super language X, nobody can develop on it until the major browsers support it. Of course, as a browser vendor what motivation do you have to support a new language if no websites use it yet?

      So, develop the perfect language. You can help bootstrap by writing the interpreter for Fire Fox or other open browsers, but most people still use IE and a large chunk use Safari. How will you make them add your language? Especially if it's so good that it can compete with silverlight as well.

    107. Re:Got it wrong by rbanffy · · Score: 1

      "Here's an even better idea: The HTML DOM would be the View, the Javascript would be the Controller, and the server would be the Model! I'll bet I'm the first one to think of that..."

      I have a better one. Let the combination of DOM and JavaScript be a view - a smart one indeed, that can do a lot of stuff to the data it's presented by... the controller, that resides in the server, along with the... model, that's persisted somewhere I can't care less about.

      Seriously. Fix what's broken. The implementations are slow. Many lazy programmers refuse to learn more than one language and insist every language should look like theirs favorite.

      What is the problem with using more than one language? Too much to learn?

    108. Re:Got it wrong by rgviza · · Score: 1

      > is that Javascript is a very powerful LISP-like langauge
      Which LISP?
      I know it's radically different from Common LISP. Don't know about the other flavors.

      -Viz

      --
      Don't kid yourself. It's the size of the regexp AND how you use it that counts.
    109. Re:Got it wrong by geminidomino · · Score: 2, Funny

      But guess what, that's how PHP started out and look where it came.
       

      To set that bar any lower, you'd need a spade.

    110. Re:Got it wrong by hey! · · Score: 1

      Yes, I understand what you're saying, but javascript is far from ideal for that use.

      --
      Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
    111. Re:Got it wrong by Pollardito · · Score: 2, Insightful

      if the problem is that we have too many different javascript libraries, what are you going to get when you try applying the original post's solution of using multiple languages? an even bigger mess.

      given that a lot of the work that these libraries have to do now is to cover for the fact that browsers haven't even really standardized on the same javascript language, the idea that there is some hope of having multiple languages fully supported across all browsers is laughable

    112. Re:Got it wrong by gaspyy · · Score: 2, Interesting

      You may be right, but you got the wrong examples.

      I don't know CodeIgniter, so I can't comment on it.

      PHPMyAdmin is an useful app, but if you ever used MSSQl admin tools, you'd know it doesn't come anywhere near.

      As for OSCommerce... LOL. Have you looked at the code? It's the very definition of dirty.

    113. Re:Got it wrong by Anonymous Coward · · Score: 0

      that's how PHP started out and look where it came.

      Oh boy...

    114. Re:Got it wrong by Aewyn · · Score: 1

      Can Javascript tell which text is selected? No.

      myTextarea.value.substring(myTextarea.selectionStart, myTextarea.selectionEnd);

      OK, those two selection properties are in HTML 5 which is only a working draft, but it works in Firefox 3 and Opera 9.5.

      Can it set the text color,

      myTextarea.style.setProperty('color', 'green', '');

      size,

      myTextarea.style.setProperty('font-size', '40px', '');

      or font? No.

      myTextarea.style.setProperty('font-family', 'serif', '');

    115. Re:Got it wrong by bryce4president · · Score: 1

      It might just be time for devs to start using the little disclaimer.... This site best viewed with IE7+ or Moz FF 2.0+ (even though FF 2 will pretty much disappear in the next 6 to 8 months as well).

      I understand his pain however. Our IT "gurus" here have just gotten around to allowing people to upgrade to IE7.

    116. Re:Got it wrong by VGPowerlord · · Score: 1

      I've been playing with Silverlight.

      If you wanted to go the browser plugin route, why not just go with Flash?

      --
      GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
    117. Re:Got it wrong by Anonymous Coward · · Score: 0

      ActionScript3.0 anyone?

      ActionScript 3.0 == ECMAScript 4.0

      ActionScript 3.0 != ECMAScript 4.0

    118. Re:Got it wrong by Haeleth · · Score: 1

      Hopefully you're not talking about the IE6 that shipped over five years ago because I don't know how I could get my hands on that...

      Walk into half the major companies in America, and you'll find it sitting on every desktop.

    119. Re:Got it wrong by quadelirus · · Score: 1

      I think JavaScript as a language isn't really that bad. There are some annoying syntax things, like the definition of an object looking exactly like a function, but for the most part, js is a nice language.

      The real problems, in my opinion, are in the implementations. For instance, why does FF support a different event model than IE? Also, I think a lot of problems stem from the insistence on being backwards compatible. document.getElementById(value) may return an input from the DOM that's only had its name attribute set in IE but this causes problems down the road.

      It seems like they could fix a lot of this stuff if they would do more divorcing of the past and try to be more consistent, not just with JavaScript but also with CSS and HTML. For instance, make :hover work on all CSS elements and get rid of the onmouseover="this.style.backgroundColor='red'" crap out of JavaScript. Let CSS set the styles and let JavaScript deal with the actual application code.

      Of course with 4+ browsers being developed by people who aren't really always talking with each other, it will never happen. Oh, well.

    120. Re:Got it wrong by Anonymous Coward · · Score: 0

      It's just that no one has come up with a better language.

      That's not the case at all. There have been plenty of languages that have been created that are better than JavaScript. IMHO, short of brainf**k and whitespace, they're all better.

      The real problem is that IE still maintains more than 50% of the market and an even larger percentage of the market in corporate environments. And Microsoft can't be bothered to even support JavaScript correctly according to standards published years ago let alone adhere to new standards that fix the glaring functionality deficiencies in JavaScript. So we're left with a situation where JavaScript is the only option. It has nothing to do with JavaScript being the best tool for the job and everything to do with it being the only available tool for the job. It's truly unfortunate that when Netscape was deciding between Lua and ECMAScript to include in their browser that they ended up going for ECMAScript. ECMAScript was the result of a conflict of interest between the designer and his PHB. The designer wanted to make something more akin to Lisp and his PHB told him he needed to make it look like C. That unholy combination then became a tool in the Browser wars with both sides adding non-standard extensions where no one considered the big picture of what it was doing to the language.

      The result, an is an absolute mess.

      What we really need is for browser manufacturers to decouple the scripting component and the DOM component. Focus solely on the DOM and creating a standardized API for scripting languages to implement to deal with the DOM. Then sites can use whatever scripting language they want and get users to install it as a plugin ala the way Flash gets installed. Those masochistic enough to want to continue using JavaScript could still do so, though once an ActionScript binding became available, there would be absolutely no reason to. But the rest of us could use real languages like Python, Ruby or even things like Groovy. And the horde of PHP programmers could use that on the client side as well (which might not sound like such a good thing until you actually see the JavaScript they come up with...ugly!)

      But thanks to Microsoft and the majority of users who can't see what a crappy browser IE actually is, none of this will ever happen we're stuck with the status quo. All the fixes to the ECMAScript standard to make it a halfway-usable language are nice, but web developers can't expect to be able to use any of those features for another 5 years or so until all the browsers support those features.

      Thankfully, before that happens, people will have realized just how much more sane it is to do Flash (Flex or Laszlo) and Java Web Start. And then we can hopefully put this JavaScript fad behind us.

    121. Re:Got it wrong by Anonymous Coward · · Score: 0

      "Javascript is a very powerful LISP-like langauge"

      Please show me how Javascript is LISP-like,

    122. Re:Got it wrong by Aewyn · · Score: 1

      OK, I didn't read the post closely enough...

      Sure, you can't really make a rich-text editor with a <textarea>, but I think that's more because the element itself was made for plain text, rather than an issue with the DOM API.

      One of the things HTML5 is supposed to to something about, I guess...

    123. Re:Got it wrong by Anonymous Coward · · Score: 0

      That might be true but ActionScript 3.0 !== ECMAScript 4.0.

    124. Re:Got it wrong by erlando · · Score: 1

      PS. I can't wait for IE6 to die. I think it will only be a matter of 6 - 8 months and we'll be able to stop supporting it. A lot of these problems will go away in the next year, just hang in there.

      I'm sorry but it will be a lot longer before IE6 is finally dead. A lot of big corporations are still on IE6 because they have a lot of business critical software written for IE6 that will break if used in any other browser. Sad but true.

      --
      Remember, there are no stupid questions. But there are a lot of inquisitive idiots.
    125. Re:Got it wrong by Anonymous Coward · · Score: 0
      More so than loops, my own list of things to avoid to stay performant is:
      • Avoid eval like the plague.
      • Use getElementById whenever possible and avoid traversing the DOM tree unless it's absolutely necessary. The new native implementations of getElementsByClassName in Firefox and Safari would be nice to use, but the code would be dog slow in IE.
      • Avoid string concatenation as much as possible. Browsers are notoriously bad at this, to the point where if you've got more than 5 or so strings to concatenate together, it's faster to push them all into an array and use join to get the result.
      • Be very judicious in creating new objects since you can hit IE6's limit very easily which will make it run garbage collection almost constantly.
    126. Re:Got it wrong by Anonymous Coward · · Score: 0

      It must really bother you that millions of people use it, eh? Oh well, it's not easy being green.

    127. Re:Got it wrong by MrJay · · Score: 1

      The biggest problem with JavaScript is that it will accept undeclared variables. In a large program, if you spell a variable incorrectly you will experience the "Object expected" error, or worse the code will continue to run and bomb later on something completely unrelated.

      I don't think JavaScript is a terrible language, but compared to the languages I've used in the past it doesn't hold up. I was shocked to hear about client-side JavaScript and AJAX; I couldn't believe the next generation web-client programming model was based on a language that doesn't require variable declarations. It's a nightmare to debug.

    128. Re:Got it wrong by WebmasterNeal · · Score: 0

      JavaScript itself isn't bad, just like CSS isn't bad. It's certain browsers, lets call it Explorer... no wait lets call it Internet...that do not fully implement the specifications of the given tools. This slows done the usefulness of new features because a small percentage of users use "Internet"(Explorer).

      --
      "During My Service In The United States Congress, I Took The Initiative In Creating The Internet." -Al Gore
    129. Re:Got it wrong by Sancho · · Score: 1

      Not really, and I'm only a little irked that I was modded flamebait. People can do what they want. Doesn't affect me.

      However, the simple truth is that if all you want is consistent webpages, SSI+CSS will get you that. That was the example that bryce4president used, and his solution was much heavier weight, more prone to errors, and more prone to security issues for simple consistency.

    130. Re:Got it wrong by Anonymous Coward · · Score: 0

      YUI adds events similar to the method you described...

                              _simpleAdd: function () {
                                      if (window.addEventListener) {
                                              return function(el, sType, fn, capture) {
                                                      el.addEventListener(sType, fn, (capture));
                                              };
                                      } else if (window.attachEvent) {
                                              return function(el, sType, fn, capture) {
                                                      el.attachEvent("on" + sType, fn);
                                              };
                                      } else {
                                              return function(){};
                                      }
                              }()

      See http://developer.yahoo.com/yui/docs/Event.js.html

    131. Re:Got it wrong by try_anything · · Score: 1

      The biggest "problems" with Javascript are the browser inconsistencies and the fact that it is used by web designers, who don't write code to the tastes and standards of software developers. Neither of these has anything to do with Javascript.

      The first is a problem of power and economics. You can't force the standardization of browser APIs just by announcing a new language or extending an old one.

      The second isn't a problem, except in the heads of software developers. If we stop web developers from writing "crappy" Javascript code, then meaningful, user-visible functionality will take a nose dive. "Real" software developers don't really want to write client-side web UI code, they just want to stop the web designers from doing it. Result: nothing gets done, everything sucks.

    132. Re:Got it wrong by mcvos · · Score: 1

      That's true of any programming language.

      True, but it's more true with javascript than with most others. My use case was a list of 400 checkboxes some of which had to be checked if some other list contained the name of that checkbox. It's two loops, and the biggest one is 400 iterations, and you have to match two strings. In most languages, this takes a fraction of a second. In javascript, it took over 20 seconds when I first got to look at this. With some pruning (applying the "science" part of CS, I suppose), I cut it back to about 2 seconds. Still not lightning fast, but for the user it's an amazing difference.

      But one big thing when programming javascript is that that's not the only language you can work in. It's definitely worthwhile to do as much of the calculation serverside if at all possible. Unless everything is cached ofcourse.

    133. Re:Got it wrong by Wheat · · Score: 1

      Agreed!

      There is no such thing as the "Model-View-Controller design pattern". The original Design Patterns book says right in the introduction, "Looking at the design patterns inside MVC should help you see what we mean by the term 'pattern'". At which point they detail some of the patterns in the Smalltalk-80 MVC architecture and describe how different design patterns in it bring certain benefits to the code ... MVC is way to many different things to call it a "pattern".

      Look at what a "Controller" is in Rails - people put auth/auth code in them, caching code, "helpers" are mixed-in to the Controller class, and all kinds of other concerns that could be separated out into other components - but MVC dogma means that people feel compelled to stuff everything within three simple categories. Silly.

    134. Re:Got it wrong by Eli+Gottlieb · · Score: 1

      You think AJAX is a nightmare, try coding for Sugar.

    135. Re:Got it wrong by Anonymous Coward · · Score: 0

      That post should be modded sarcastic, not informative.

    136. Re:Got it wrong by Allador · · Score: 1

      Microsoft is famous for incompatibly changing APIs from version to version.

      A clarification is needed there.

      The things you're talking about only really happened to non-professional developers who didnt follow best practices, or tried to get tricky. These are the same kind of developers who tie their java apps to a specific Minor Version or Update level (used to see a ton of these in the big-corp IT world).

      It happened with Access VBA from 97->2000

      I've supported VBA-intensive Access apps that were created in the 2.0 days that still work quite fine in 2007 (though they tend to be ugly, in comparison to more modern ones).

      it happened to .NET

      .NET has had some growth, but the API changes have been very reasonable and very minor. And if thats what you do for a living, a complete non-issue.

      it happened with VB6->VB.NET

      Saying MS broke compatibility between VB6 and VB.NET is just being purposefully disingenuous in an attempt to bolster your argument. Despite the fact that both have "visual" and "basic" in their names, they have very little to do with one another. Sure, as a hobbyist or non-professional looking in, it probably seems like they're related. But its not like anyone actually wanted MS to continue evolving VB6. VB6 was a dead end. It was like halfway to OO, but not quite.

      Moving to .NET was the right thing to do for MS. And its not like you have to stop using it. MS has said they'll keep shipping the vb runtime until like 2015 or something. So the corporate legacy apps will work for the foreseeable future, the VB6 IDE still works (with some tweaking on Vista, mind you), and with COM Interop in .NET, you can gradually migrate your apps over, or not, as you desire.

      it happens with every version of Windows.

      Not really. It happens to developers who write bad software and dont bother to read about or understand the best practices and guidance for the platform they're writing on.

      These are the folks who wrote user configuration in C:\Program Files\, or who explicitly checked for admin rights on startup, even if they didnt need it. Or who used hardcoded paths to user directories, rather than the SpecialFolders API.

      After doing software primarily targeting the windows platform for a while, you begin to notice a pattern. The world is filled with incompetent programmers who are just barely good enough to get the core functionality up, but cant be bothered to actually figure out how to make it work on the platform. And its by choice, they just dont care, for the most part, in my experience.

      It's not like it takes a super genius. Just download the damn guidance doc, read a little bit from MSDN, and follow the instructions.

      People who do this stuff, generally, dont have much problems with migrating their apps from version to version.

      Now there are some exceptions. IHVs had to completely start from a clean slate on drivers with Vista, and with several previous versions of windows as well. But thats just a reality in that business. It's a known 'cost of doing business'. ...

      Now, back to Silverlight ... thats a very mixed bag.

      Silverlight lets you write your code in C#, Ruby, Python. The alternative, Flex, lets you write in ... JavaScript. Sure its a version of JavaScript that has mutated and evolved to be OO and (can be) strongly typed. But why in the heck would you ever choose to develop an application in JavaScript if you dont have to.

      Unfortunately, the tradeoff is, as you say, risk of platform restriction.

      Silverlight is, in many, many ways, the superior product, technically. Flash/Flex suffers from too many limitations due to its origins as a movie/animation maker. And JavaScript sucks, although their AS4 is leaps and bounds better than the common 'browser based' javascript. But silverlight is very young, and you might get screwed if the desktop OS demographics change significantly in the next 5 years.

    137. Re:Got it wrong by Anonymous Coward · · Score: 0

      I'd disagree there, a good concurrency model and (on some browsers) debugging tools are lacking but it's otherwise quite usable. Sure, if you were going to design a human readable intermediate language explicity for either a stack based or register based VM then you could do better. Such a language would have it's own share of problems, plus the exact same problems with the DOM that give javascript such a bad rep.

      I once saw a comment here that described javascript as the idiot-savant of programming languages. I think that's quite apt, javascript is fun and it is afterall language geeks that are writing these $lang to javascript compilers.

    138. Re:Got it wrong by Anonymous Coward · · Score: 0

      I've done a tiny bit of JavaScript programming using a text editor, which is obviously a PITA. What tools do you use for writing and debugging JavaScript? And are they any good? :)

    139. Re:Got it wrong by Allador · · Score: 1

      It's based on web standards that remain frozen once implemented.

      Correction. It's based on each browser maker's unique and quirky implementation of how they read the standards.

      But since there is no actual reference implementation to compare against, or official conformance tests, there's not really any such thing as a 'standards compliant' browser.

      The result is that everyone does things differently.

      The same page against FF3, Opera current, IE7, IE6, Safari current on windows, Safari current on Mac, all produce slightly different results. Sometimes the differences are minor, sometimes they are not.

      Thats why things like Flex and Silverlight are so compelling. You can develop your front and back end in as little as 1 or 2 languages. And you can use 'real' languages for the UI (I'm being nice to Flex and AS4 here), instead of being forced to use some hodge podge of 10 years of variants of browsers, DOM implementations, and JavaScript implementations. Not to mention the dozens of popular frameworks.

      Flex against a Java or RoR backend is compelling in the ISV world. Silverlight against a C#/ASP.NET backend is compelling in the intranet/corporate space. Both are light years more productive and compelling than HTML and JavaScript in the bulk of the use cases.

    140. Re:Got it wrong by zoips · · Score: 1

      Coroutines in Javascript 1.7

      Only Spidermonkey based browsers currently can do it, obviously. Personally, I think this is a better solution than a heavy-weight threading system. Real coroutines would be even better, though you really have to hand it to the guy for coming up with the solution he did.

    141. Re:Got it wrong by francium+de+neobie · · Score: 1

      I don't think JavaScript is a terrible language, but compared to the languages I've used in the past it doesn't hold up. I was shocked to hear about client-side JavaScript and AJAX; I couldn't believe the next generation web-client programming model was based on a language that doesn't require variable declarations. It's a nightmare to debug.

      Have you ever used a scripting language before? It's not like PHP, Perl or Python require variable declarations as well. Plenty of popular websites (e.g. Wordpress) are mostly written in languages that do not require variable declarations. If you insist that "real" programming languages require variable declarations... I'll just tell you that "real" programming languages get the job done.

    142. Re:Got it wrong by konohitowa · · Score: 1

      I really think they need to remove the Flamebait mod option.

      Realistically, all statements can be considered flamebait by someone. I'm sure that's going to include my above statement also, but then I don't care about /. karma anymore.

      Yet another reason to browse +Flamebait. Your points are well taken at least by me.

    143. Re:Got it wrong by Allador · · Score: 1

      The fact that you ended this post with a couple Silverlight/Flex fanboi sentences tells me that your javascript knowledge is about as deep as the half dozen library names that you threw out there.

      I'm not the guy you responded to, but what you say is one of the inherent problems with app dev using html/dom/javascript. It's intrinsically much more complicated, finicky, and brittle than it needs to be.

      You shouldnt have to become an expert on all the major browser's eccentricities, or obscure javascript language features to do this stuff. It's an unnecessary complication that doesnt buy you anything.

      Take a flex app, for example. It's a much better user experience, its much faster/cheaper to develop, it takes less time to get to an equivalent maturity of developer experience, and Flash engine is installed on like 99% of the computers out there.

      There's just no upside to the javascript/html/dom way of things, and tons of downsides.

      About the only thing I can see as an upside is that there is a certain class of developer who likes things that are hard and complex because of the feeling of accomplishment (and eliteness) they get for finally figuring it out. Those folks love JavaScript (and Perl), because you can solve problems in really strange ways. And that sort of thing is fine for personal projects, but its hardly a compelling factor for a real app that has to generate revenue or business.

    144. Re:Got it wrong by AKAImBatman · · Score: 1

      I've supported VBA-intensive Access apps that were created in the 2.0 days that still work quite fine in 2007

      Listen, I don't know what Microsoft Access you were using, but the CORE VBA APIs in Access changed from 97 to 2000. No backward compatibility was provided, though 2000 did have an import program that tried (usually failed) to convert the APIs from the old core to the new. More often than not, I and my coworkers were stuck converting the code manually. (The company I worked for at the time did data analyses in the field, so Access was a pretty good fit. And when I say "in the field" I quite literally mean "in the field". Or perhaps I should say "out in fields".)

      Saying MS broke compatibility between VB6 and VB.NET is just being purposefully disingenuous

      Horseshit. What Microsoft did was disingenuous. They created a new language, slapped the Visual Basic name on it, then laughed their way to the bank as millions of customers purchased Visual Studio upgrades that would no longer support their existing investments. I will not take the blame for Microsoft's poor actions just because a Microsoft fanboy thinks that they walk on water!

      If Microsoft wanted to be straight with their customers, they would have sunset the Visual Basic line altogether. At least then customers would have been clear on the lack of an upgrade path. Either that or they should have made more of an effort to provide backward compatibility for Visual Basic applications. There is absolutely no reason why the .NET platform can't play host to the classic VB APIs. Except for the fact that Microsoft wanted to force their customers to upgrade.

      Of course, I suppose I should be thanking them. Thanks to Microsoft greed and ineptitude, Visual Basic has all but disappeared from the work environment. And for that, I am eternally grateful.

      Not really. It happens to developers who write bad software and dont bother to read about or understand the best practices and guidance for the platform they're writing on.

      There is some truth to that statement, and there is some underhanded crap going on. Being a Microsoft fanboy, I'm sure you've read their documentation before. And one of the things that has always struck me about Microsoft's documentation is that they do a really TERRIBLE job of documenting the APIs themselves. Instead, Microsoft focuses almost entirely on articles that tell you how to do things. Oh hey, you want a taskbar? Just mix these button stylings with these tab widgets and voila!

      Which is great and all, except that a lot of the poor coding practices are based on Microsoft's "cool tricks". Since they don't refine their APIs (they replace them; hello ODBC/JET/DAO/ADO), make sure they're well documented, and push best practices, the result is that programmers never manage to develop best practices. Instead, they are constantly chasing Microsoft's API of the week.

      Which also explains why Microsoft shops tend to be home to some of the worst coders I have EVER seen in my career. The fact that these guys can rub two brain cells together is often amazing. Computers? Nothing Scientific about that! Just ask Microsoft! We're big partners with them! And we can boast that we've only been stabbed in the back 3 times rather than the usual dozen!

      What's that? Me have strong feelings about Microsoft? Well, I guess you could say that.

      These are the folks who wrote user configuration in C:\Program Files\, or who explicitly checked for admin rights on startup, even if they didnt need it. Or who used hardcoded paths to user directories, rather than the SpecialFolders API.

      As a Java programmer, I used to see such mistakes made commonly there as well. You know what happened? The APIs stayed the same, the offenders were thwacked (both by their peers and their code breaking), and eventually we got past that. Windows prog

    145. Re:Got it wrong by francium+de+neobie · · Score: 1

      Now do the same thing in DOM. Can Javascript tell which text is selected? No. Can it set the text color, size, or font? No. (There is such a thing as a rich-text textarea, with those options, but DOM API has virtually no access to any of it.) It's simply ridiculous how incomplete DOM is, and that's where your true problems lie.

      That's what DOM Range and DOM Selection are for. These are implemented by Gecko, Opera and Safari. IE has an alternative implementation that can do pretty much the same thing. Also, there's the document.execCommand() method for modifying rich text areas if you don't wanna write your own custom logic for making bold text or converting paragraphs to lists. There's no concrete standard on execCommand() yet but all popular browsers support it with a common set of commands.

      If you say rich text editing in JavaScript is hard and can use much room for improvement, then I'd agree with you. But saying that such functionality does not exist, is wrong. There's enough misinformation everywhere about JavaScript as it is.

    146. Re:Got it wrong by DragonWriter · · Score: 1

      The browser model allows for languages other than Javascript. (e.g. VBScript is somewhat popular in IE-only applications.) It's just that no one has come up with a better language.

      No one has come up with a more popular language for use in the browser, but the most important feature for users is what it can access, and the most important feature for developers is what browsers that users have support, so the fact that JavaScript got in and got established early means its fairly sticky and, regardless of features or quality, its pretty difficult for anything else to get established.

    147. Re:Got it wrong by Anonymous Coward · · Score: 0

      I agree generally but let's not call them Gnome guys. They're Miguel and the Novell fucks -- not the wider Gnome community.

    148. Re:Got it wrong by DragonWriter · · Score: 1

      But that is a compatibility problem that is under your control. Just like you dont have to target .NET 3.5, you dont have to "upgrade" your Silverlight app until you are ready.

      Or until the old Silverlight runtime has incompatibilities with newer platforms that force you to upgrade or not be able to reach users.

      If I target Silverlight/Flex and Firefox 3 broke their support for Silverlight/Flex, there would be a *lot* of other websites (say, youtube) that would be broken and visitors would blame the browser, not my website.

      Or maybe their wouldn't be, because the "lots of other websites" would have upgraded their target version before you did. Silverlight adds another level of platform that can get broken when anything in the chain of platforms from the OS, the browser, etc., changes.

    149. Re:Got it wrong by Allador · · Score: 1

      Wow, your rant was even longer than mine.

      I'll try to respond to some high points.

      WRT the changes over the years in Access/VBA ... yes they were changes, but everything changes all the time. They werent unreasonable or terribly difficult changes, they were just changes. Thats part of the life of an app developers, is everything around you is constantly changing. This is true on any platform.

      There's also good technique to writing apps that are more resilient to the changes, like encapsulating tricky stuff so that when you have to upgrade, you only have to do it in one or two places. I mean I know thats elementary software 101.

      Horseshit. What Microsoft did was disingenuous. They created a new language, slapped the Visual Basic name on it, then laughed their way to the bank as millions of customers purchased Visual Studio upgrades that would no longer support their existing investments. I will not take the blame for Microsoft's poor actions just because a Microsoft fanboy thinks that they walk on water!

      If Microsoft wanted to be straight with their customers, they would have sunset the Visual Basic line altogether. At least then customers would have been clear on the lack of an upgrade path. Either that or they should have made more of an effort to provide backward compatibility for Visual Basic applications. There is absolutely no reason why the .NET platform can't play host to the classic VB APIs. Except for the fact that Microsoft wanted to force their customers to upgrade.

      This is part of what I mean. Your comments here imply that you didnt completely and totally understand the relationship between VB6 and VB.NET, LONG before the first VS.NET was released. That is unusual for someone who works full time as a developer (or even a full time IT person who dabbles as a developer).

      If this is the case, and you were actually able to be 'tricked' into buyin the first VS.NET because you thought VB.NET was an evolutionary upgrade to VB6, then there's just no way you were doing this for a living, at least not at anything beyond a very junior level (or maybe a hobbyist or 'dabbler' level, and I dont mean these things disparagingly). And I'm not saying this to try to disparage you. What I mean is that all that stuff was VERY well published and understood and documented if this is what you did for a living.

      People who did software dev (particularly if it was partially or largely for the MS platform) knew all that. It was in all the articles, all the emails, all the magazines, all the white papers.

      There is just no way someone was fully immersed in this industry as a full time developer and was 'tricked' by the VB6 -> VB.NET difference. There was just so very much publicity around all of it. White papers after white papers. Magazine articles.

      The way you are characterizing it makes me feel very strongly that you were looking at it from an 'outsiders' perspective, or it was a very small part of your work, such that you really didnt have time to keep up to speed with changes to the industry.

      Much like doctors, researchers, lawyers, or any other profession, we have to do forever, continuous, un-ending professional development. You cannot just learn things once in this industry and expect to be able to survive in 5 years without keeping up.

      Being a Microsoft fanboy, I'm sure you've read their documentation before.

      Let me correct that for you:

      Being a professional in my field, I read the documentation about the platforms I deploy on.

      See the difference? You need to take the emotion out of your work.

      Yeah, so. Screw you and your love for Microsoft. They're assholes, they're open about being assholes, we have piles of court documentation to prove that they're assholes, and yet nitwits like yourself keep kissing up to them. Go figure.

      I dont understand the emotional involvement in one company's produc

    150. Re:Got it wrong by coryking · · Score: 1

      I already own Visual Studio and know how to write .NET WPF applications. I'd have to learn a whole different framework and toolkit, not to mention I couldn't recycle my existing C# classes like I can with Silverlight.

      Flex has it's advantage in that it is tightly integrated with Adobe's product suite. This means designers are likely to be comfortable with it. Microsoft has never been good in the design area and even with Expression Blend, you are gonna have a harder time finding graphic designers who speak XAML/WPF/.NET.

    151. Re:Got it wrong by coryking · · Score: 1

      Silverlight against a C#/ASP.NET backend

      I've yet to play, but there is much work getting Ruby and Python to compile down to MSIL and thus able to run on Silverlight.

      Both are light years more productive and compelling than HTML and JavaScript in the bulk of the use cases.

      But since it doesn't run on some slashdot users custom compiled 128-bit version of Lynx, it is evil and should never be used.

    152. Re:Got it wrong by coryking · · Score: 1

      With Microsoft's track record of openness and cross platform support, what could possibly go wrong with your plan?

      I'd rather take 95% of the "normal people" market and not loose my hair by the age of 50 thank you. You choose to run an operating system knowing full well it wouldn't work with flash or silverlight. Don't blame your mistakes on others or expect them to cater to your decision.

      I wouldn't download a plugin for your content, sorry.

      And I, and most other websites operating in the real world, dont care about your visit either. You are a tiny fraction of my web traffic and not worth my sanity to target.

    153. Re:Got it wrong by Allador · · Score: 1

      Thats why I said Flex/Java|RoR OR Silverlight/.NET.

      If you dont like the MS stuff, Flex against a nice foss stack works well and will run on anything.

      You dont even need a particularly modern version of Flash for most of the nice Flex stuff to work.

      My point was not to pimp Silverlight or Flex specifically, but to propose that type of development as a superior alternative to HTML/Javascript/Ajax/whatever.

    154. Re:Got it wrong by AKAImBatman · · Score: 1

      Netbeans has a surprisingly good Javascript editor due to the recent edition of Javascript support in Java 1.6. So from an editor perspective, Netbeans is great. :-)

      From a debugging perspective, you can't go wrong with FireFox's error window. If something goes wrong, it will tell you. You can also debug live applications by using the "javascript:" url in the urlbar to tell you information about the state of the scripting engine. For example, try this here on Slashdot:

      javascript:alert(document.getElementById("slogan").childNodes[1].innerHTML);

      Another great tool is the DOM Inspector in FireFox. It makes it easy to see how the DOM changes as you muck with it in Javascript. You can even update the DOM for testing!

      There are step-through debuggers like FireBug, but I've never felt the need to use one. You may find such a debugger more interesting, though. :-)

    155. Re:Got it wrong by coryking · · Score: 1

      If you think Silverlight and Flex are the same concept as a Java applet, you are behind the times and I question your abilities as a developer. In a few years, unless you learn either Flex or Silverlight, you are gonna have a pretty hard time getting employment at any kind of web company doing something interesting. Sure you can still get employment coding old school static websites, but all the cool kids will be using Flex or Silverlight.

      You can bookmark this comment and come back in a year. Within that year, there will be a flood of "hip web 2.0" applications on the market that will use either Silverlight or Flex to get their functionality. Web companies that do not adapt will no longer be able to remain competitive because their development costs will be higher then those who do use Silverlight or flex. Mark my words :-)

    156. Re:Got it wrong by dmn · · Score: 1

      everyone continues on thinking about it as a tool for quick and dirty hacks. But guess what, that's how PHP started out and look where it came.

      ...to be a half-assed hack of a language ?

      Javascript is perfect for what it was intended to do and it's very good even for what it wasn't exactly intended to do and THAT's why there hasn't been a "better" language yet, because this one is good enough for the job.

      Actually it's horrible - impossible to debug, with a syntax, that seriously doesn't belong in a scripting language and is there only because it's virtually impossible to set a common, non-proprietary web standard, which the recent ECMAScript4 debacle illustrates quite well.

    157. Re:Got it wrong by Anonymous Coward · · Score: 0

      That's a way of chopping up big tasks into many smaller tasks to make it less obvious that Javascript can't interrupt a function call. That's a little like cooperative multitasking, but more cumbersome. Better than nothing, but since it's only available in one family of browsers, it's not going to help much.

    158. Re:Got it wrong by coryking · · Score: 2, Informative

      There are step-through debuggers like FireBug, but I've never felt the need to use one. You may find such a debugger more interesting, though. :-)

      Dont listen to this man. He knows not what he speaks of. FireBug is teh awesome! For one thing, it will keep a nicely parced log of all your HTTP requests to make AJAX debugging easy. For another, it is just awesome.

      But yeah... I've never used much of it's step-by-step debugger. For some reason, I've never found the need--could be because javascript stack traces can be a little wonky with anonymous functions. And probably because most of the reasons *to* debug something are because of IE6 being retarded.

    159. Re:Got it wrong by coryking · · Score: 1

      I've been waiting to upgrade to web 3.0. Thanks for first coining the phrase!

    160. Re:Got it wrong by MrNaz · · Score: 1

      Totally. Not. True.

      If you develop your webpages to comply with relevant web standards and do things such as validating against the markup you're using, validating your CSS and checking your JS with JSLint, if some browser were to break their support for those standards then there's no reason that your web page would be the only one. In fact, given that you seem to be measuring the usefulness of a toolkit by how likely users are to blame your site or the browser, any browser that broke standards would be loudly blamed by everyone, and would cease to render many more pages than only those that use Silverlight.

      What I'm trying to say is that closed, proprietary toolkits that provide some semblance of stability are not an appropriate or effective substitute for the proper adherence to relevant standards and practices.

      If you, as a developer, are unable to code in a standards compliant cross browser way, then turning to Microsoft just highlights your inability to handle the flexibility that comes with not having a company dictating your development methods to you.

      --
      I hate printers.
    161. Re:Got it wrong by Serious+Callers+Only · · Score: 1

      I'd rather take 95% of the "normal people" market and not loose (sic) my hair by the age of 50 thank you. You choose to run an operating system knowing full well it wouldn't work with flash or silverlight. Don't blame your mistakes on others or expect them to cater to your decision.

      Actually, I choose not to run Silverlight most of the time, the operating system can run both those plug-ins just fine (hint, it's not Linux). Most normal people do not have Silverlight, and do not particularly want it, so good luck with targeting them. If you want to make solutions in Silverlight though, you're a Microsoft developer, not a web developer.

      Just as people wasted years of company time and resources by targeting Active-X and thus requiring IE, and now regret it, you're doing the same targeting Silverlight, you just don't know it yet.

    162. Re:Got it wrong by zobier · · Score: 1

      I think Parrot is a good candidate for that purpose but I think we're going to be waiting for a while longer yet.

      --
      Me lost me cookie at the disco.
    163. Re:Got it wrong by zobier · · Score: 1

      Of course read the official documentation and reference material; but to become a better JavaScript programmer, get a copy of the The Little Schemer and check out Douglas Crockford's The Little JavaScripter. You may also like to read some of the other stuff Crockford has to say about it.

      --
      Me lost me cookie at the disco.
    164. Re:Got it wrong by shutdown+-p+now · · Score: 1

      But guess what, that's how PHP started out and look where it came.

      And where did it come? It's still a tool used by the majority of developers using it for quick and dirty hacks, even though the language allows far more than that. JS is the same, only it had far more time to stabilize.

    165. Re:Got it wrong by Serious+Callers+Only · · Score: 1

      PHP doesn't make crappy code, coders do.

      One word for you : realEscapeString

    166. Re:Got it wrong by timdown · · Score: 1

      For example, make a Visual Basic (or RealBasic if you're rabidly anti-Microsoft) form and add a scrolling textarea to it. Take a look at the properties inspector, and notice how many properties it has.

      Now do the same thing in DOM. Can Javascript tell which text is selected? No. Can it set the text color, size, or font? No. (There is such a thing as a rich-text textarea, with those options, but DOM API has virtually no access to any of it.) It's simply ridiculous how incomplete DOM is, and that's where your true problems lie.

      Not true - you can use the DOM Range (or proprietary TextRange in IE) to get the selected text from a textarea (admittedly it's not as straightforward as it could be), and JavaScript can access standard CSS properties to get and set the text colour, size and font. And what is this "rich-text textarea"?

    167. Re:Got it wrong by Adam+Jorgensen · · Score: 1

      PHPMyAdmin is the devil. In fact, all super-hand-holding tools are. I'll stick with Aqua Data Studio and SQuirreL thanks :-)

    168. Re:Got it wrong by Ant+P. · · Score: 1

      Took me a single night to cook up a file upload control that works on IE6,7,8, Firefox 2 & 3, Intel Mac & Windows (even 2000) and will work on any other platform Microsoft targets in the future.

      You wasted an entire night figuring out how to cripple <input type="file"> so that it only works on Microsoft-sanctioned browsers? WTF is wrong with you??

    169. Re:Got it wrong by Ant+P. · · Score: 1

      I've never looked at OSCommerce's code... but on the other hand have you ever looked at pMA's? More "@" symbols than a mailing list.

    170. Re:Got it wrong by Ant+P. · · Score: 1
    171. Re:Got it wrong by TedRiot · · Score: 1

      Just out of curiosity..

      What will myTextarea.value.substring(myTextarea.selectionStart, myTextarea.selectionEnd); return if you have 2 or more pieces of text selected in one textarea?

    172. Re:Got it wrong by Anonymous Coward · · Score: 0

      Thanks to you both. I've resorted in the past to using a proxy server to capture HTTP requests, so that Firebug feature sounds nice. I'll give it a go.

    173. Re:Got it wrong by FictionPimp · · Score: 1

      Until there is a vital security flaw in that version of the silverlight/flash/flex runtime. then you have to move.

      I would gladly accept something better then html/css + javascript + jquery + php, I just don't see anything promising right now. Although I have toyed with the idea of using extJS (yajsf)

    174. Re:Got it wrong by Anonymous Coward · · Score: 0

      Me and my company's very real-world websites disagree with you.

      Based on your amazing display of arrogance, I must admit that I am very, very happy that you don't care about my visit, or non-visit. Please keep it that way.

    175. Re:Got it wrong by tomtomtom777 · · Score: 1

      I strongly suggest Douglas Crockford's articles on Javascript. He shows some neat tricks, good style, and deep understanding.

    176. Re:Got it wrong by Anonymous Coward · · Score: 0

      Mod this guy up.

    177. Re:Got it wrong by FictionPimp · · Score: 1

      Not to mention this situation. I decided to develop a new browser or even OS. Perhaps I think I can go one better then anything else out there. If it is an open standard that I can support, then I can choose to support it. With flash/sliverlight/etc I do not have that choice. It is that vendors choice to support me. This hurts innovation in general.

    178. Re:Got it wrong by Muad'Dave · · Score: 1

      I have an old faulty modem that writes excellent Perl code to my terminal screen.

      --
      Tiller's Rule: Never use a word in written form that you've only heard and never read. You will end up looking foolish.
    179. Re:Got it wrong by wild_berry · · Score: 1

      To the mods who gave this a '-1, Flamebait', please be aware of the quote about Emacs "Emacs is a nice operating system. The only thing it lacks is a good editor."[1] If you don't know history, you're condemned to reinvent Unix (poorly) [2].

      [1: http://en.wikiquote.org/wiki/Emacs]
      [2: http://www.postel.org/pipermail/internet-history/2001-November/000068.html]

    180. Re:Got it wrong by FictionPimp · · Score: 1

      These kind of short sighted approaches hurt innovation in general. They keep us using the same old crap forever.

      Why not put a popup on your site that says "Please do not ever upgrade your system, it will break our website and we are cheap bastards"

    181. Re:Got it wrong by FictionPimp · · Score: 1

      I use jquery and php. I can write good solid cross platform code just as fast and probably cheaper then most of those 'design' oriented companies that use flash/flex.

      Not only that but I can see these things.
      1) Your customers will not need to download any plugins
      2) My code will work on all major browsers
      3) my code will work (without extra work) on all browsers including all cell phone browsers
      4) My code is compressed and a lot of the time smaller then the flash equivalent.
      5) The framework I am using is open source and is not dependent on the original developer for support.
      6) anyone who has done any web development in the last 5 years will be able to quickly understand and support my code.

      Flex is not bad, but it is not going to kill everything out there. Silverlight is going to be slow going and probably die a microsoft death once they realize that to make it work they have to support all browsers and operating systems. Paying some linux guys to do a half ass shitty port doesn't count.

      Of course there is a mac client, but maybe they will get pissed at mac and pull support (they have done it before).

    182. Re:Got it wrong by FictionPimp · · Score: 1

      Last time I hand wrote a custom ajax file upload it took me about 10 minutes. Most of that was testing. Just a html form, some nice css (already there prior to starting as I have a guy who does design), a quick ajax function in jquery and display a nice uploading bar, and php to accept and store the file.

    183. Re:Got it wrong by FictionPimp · · Score: 1

      The future of the web is not crap like silverlight, it is crap like the iPhone and blackberrys. My code works on mobile browsers, does microsofts?

    184. Re:Got it wrong by FictionPimp · · Score: 1

      Exactly, we selected jqeury. Everything now 'just works'. I still test on every browser we need to support, but the javascript just always works. CSS on the other hand...

    185. Re:Got it wrong by FictionPimp · · Score: 1

      Jquery makes it easy to work with different frameworks.

      http://docs.jquery.com/Core/jQuery.noConflict

    186. Re:Got it wrong by Anonymous Coward · · Score: 0

      I'm not a bee!

    187. Re:Got it wrong by AKAImBatman · · Score: 1

      So you linked to the article linked to in the Slashdot summary. The article that was debunked by the VERY FIRST POST...

      Well I'm convinced!

    188. Re:Got it wrong by bryce4president · · Score: 1

      I think maybe you missed the point where designing pages in Flash is an inherently bad idea due to its size and loading times. Oh sure, it might be pretty and make you feel all warm inside, but users get pissed when they have to stare at a message that says.. "oh just a minute while our really cool site loads, you're gonna love it, hold on.... almost there... just another few seconds.... "

      This is why flash has been relegated to entertainment sites where all the flashy stuff is wanted and people are willing to wait for it. HTML/JS/DOM allows you to get enough of the "cool" features into a website with minimal load times and an increased user experience. Standardizing that is a great idea, then the browsers (and I'm looking at YOU Microsoft) can finally all work about the same. That leads to those decrease development costs you talk about.

      Its so funny how things evolve. Anybody that doesn't want to do things the "easy" way with Flash are now just programming snobs?

      The reason for using JS and the DOM is that even though it has some problems it has allowed for some really highly function web sites that provide a user experience that is highly acceptable, with very quick response times.

    189. Re:Got it wrong by Allador · · Score: 1

      I think we just talked past each other.

      You're talking about web 'sites'.

      I'm talking about web 'applications'.

      I'm not talking about Flash movies, I'm talking about Flex apps. Yes, both use the Flash player, but they're very different things.

      To do web apps in DHTML/JavaScript/Ajax you have to be real tricky, and its easy for browser settings to disrupt it. Only very recently do some of the javascript frameworks (prototype, dojo, etc etc) help to abstract you away from browser issues. But its not perfect.

      So to do in place grid editing with model and business rule validations, lookups and validation of drop downs, recordset paging, and fast CRUD operations against the database or app server backing the web app. These things are fairly terrible to do in DHTML/JavaScript/Ajax. Can you do them? Yes. Is it easy? Not compared to other platforms like Flex or Silverlight.

      Plus with Flex you get AS3/ES4 which is more of a real grown up language with optional static typing, namespaces, packages, etc. With Silverlight you get C#, VB.NET, Python, or ruby. All of which are better than JavaScript.

      Not to mention you get a real canvas for dropping your controls and can do absolute or relative positioning (ie, flow or fixed) that ACTUALLY WORKS (compared to DHTML/CSS).

      Doing that with HTML means you have to declare it for the least common denominator, then put in a special exception for IE6, and another special exception for Safari for Windows (which of course renders things differently than Safari for Mac), and special javascript libraries for Opera (which of course uses a different javascript engine than the others), and handle IE's auto-padding of images in a cell.

      It just goes on like that endlessly. And its not getting any better! When using a richer platform like Flex or Silverlight, you dont have to deal with any of that crap. You target one platform, and it 'just works'. No trickery required.

      And again, I'm not talking about web 'sites', I'm talking about applications that happen to use browsers as their UI. So Java/Spring/Hibernate/Oracle or RoR/MySQL on the backend, with the Flex/Silverlight talking REST or SOAP (or maybe something like BlazeDS) to these back ends.

      I think you're going to see over the next 5 years a huge move away from DHMTL/JavaScript/Ajax for web apps to the richer platforms like Flex and Silverlight.

      It's just too compelling for all the pieces. Its MUCH more productive from a developer standpoint. Faster time to market for the business. And a better experience for the user, with the only real downside is that they have to suffer through a short 'loading' time up front. But after that its much faster and more interactive than dhtml/ajax.

      You'd be surprised how small the swf files coming out of Flex apps are though compared to typical flash movies. ActionScript code compresses very well, and grids, drop downs, tab controls, text boxes and the like take very little space to declare.

      You can check out some examples at the Flex Showcase.

    190. Re:Got it wrong by jmpeax · · Score: 1

      You're my hero.

      Unfortunately, many Slashdot users have grown up in an atmosphere of resentment towards closed software. Their zealous pride in what is essentially a religious crusade for free software really surprised me when I first came into contact with it; far from "loving" or "hating" companies or corporate philosophies, my love lies in the intellectual game of programming with tools that allow me to both challenge myself and provide solutions that make a difference.

      What I find worrying about the GP's attitude is the implications to customers - if people aren't interested in choosing the tools that give them the best productivity and are most appropriate for the job, but just the ones that are compatible with their irrationality, they're doing themselves, their clients and the industry a massive disservice.

      It makes me think of Byron:
      Hatred is a much more delightful passion and never cloys; it will make us all happy for the rest of our lives.

    191. Re:Got it wrong by PitaBred · · Score: 1

      Not everyone who uses Gnome is an imbecile. But the people that are in charge of the project are.

    192. Re:Got it wrong by Anonymous Coward · · Score: 0

      I have used the MSSQL admin tools, and they're a fucking train wreck. Unbelievable that a sane DBA would hold up MSSQL as an example of good dba tools.

      PHPMyAdmin isn't much better, but at least it can produce an SQL dump which works on databases other than Microsoft ones.

    193. Re:Got it wrong by Anonymous Coward · · Score: 0

      ...and your point is?

      mysql_real_escape_string takes a string full of user input and neuters it so it can't have an effect on the query so that all data is literal, including making it match the character set used by the active db link.

      I don't see how doing it automatically would improve matters; especially if you were dealing with mixed language encoding input.

    194. Re:Got it wrong by Anonymous Coward · · Score: 0

      Seriously. Security errors? What. The. Fuck.

      It is now obvious to me that you have never used PHP nor have even looked at the documentation.

      You say that PHP is really hard to learn. I've seen English majors (with no programming background) pick it up in 3 weeks with no tutoring or fancy books. I've seen them 4 months later turning out solid code, and after being cautioned once about security problems inherent in SQL queries, turning out secure code.

      There's nothing inherently insecure about PHP. The insecurities that imbeciles like throwing around and lazy people parrot are the same security problems present in any other language which makes contact with a database - if you send unfiltered user data to your database, your database will die.

      The poster in question was not just talking about standard headers and footers, but a fully templated website with a consistent visual style. You probably could do that with SSI but if you have a dynamically generated site anyway, there's not much point in doing it (other than making the job of any potential future maintainers a nightmare).

      Finally, I won't argue that SSI may be a better solution for large volume sites because it certainly is more lightweight, but for a majority of sites that use PHP, there simply is no substitute for an actual scripting language - doing sql data formatting may be possible using SSI directives and the sql commandline clients, but it's rather like trying to make a Turing-complete machine out of an anthill.

    195. Re:Got it wrong by Sancho · · Score: 1

      Is reading hard for you?

      You say that PHP is really hard to learn.

      I said that it is hard to really learn. The order of the words changes the connotation significantly. It's pretty trivial to whip up a page in PHP. Debugging it can be hard when things don't act as you expect them to.

      There's nothing inherently insecure about PHP.

      It's far easier to make a mistake with a full programming language than with server side includes.

      The poster in question was not just talking about standard headers and footers, but a fully templated website with a consistent visual style.

      If that was his intent, he didn't make it clear. He said a consistent design. That is easily achieved with SSI and CSS. If he meant templates, he should have said templates.

      Also, please note that it's possible to disagree with someone and to rebut their post without being an ass about it. So go to hell, and don't bother replying to my message.

    196. Re:Got it wrong by Aewyn · · Score: 1

      Heh, didn't even occur to me to try that. None of the other apps I have open seem to create multiple selection ranges when I click-and-drag while holding Ctrl, but Firefox does (seems buggy if I try to e.g. cut/delete the selected text, though). For selectionStart/selectionEnd it looks like it chooses the one that occurs first in the textarea.

    197. Re:Got it wrong by sproketboy · · Score: 1

      Don't taze me bro. You're assertion that JavaScript is useful as an 'enterprise' language is absurd. If you moved out of your mom's basement and got a real job you might find that out.

    198. Re:Got it wrong by AKAImBatman · · Score: 1

      I'll be sure to consult with my wife and kids on that matter. Not to mention the teams I lead in developing sophisticated Java and Javascript applications.

      I don't know why you're complaining. I already said, you totally won me over!

    199. Re:Got it wrong by TedRiot · · Score: 1

      In fact I didn't realize that this is not a normal behaviour until I tried it after your reply and you're right, in a quick test, Firefox was the only program I found that can select multiple texts. Seems that cut or delete doesn't quite work, but copy seems to copy both selections at least when pasted to notepad.

      Now I think multiple selections from text could be handy sometimes and should be standard behaviour, but unfortunately it seems that Firefox is pretty much the only program to implement this and not even TB allows selecting multiple texts.

    200. Re:Got it wrong by Serious+Callers+Only · · Score: 1

      ...and your point is?

      My point is the API and the language are a mess, as evidenced by functions with the same name prepended with 'real', and the function should have been doing that in the first place. Managing this sort of growth and periodic pruning are what allows languages to become more coherent or to dissolve in a confusing morass of similar but deprecated APIs.

      The entire API is an organic, messy rag-bag of functions, which makes working with PHP more than a little frustrating and encourages copy and paste coding. I'm fine with using it for small stuff, but there are definitely flaws in PHP which encourage crappy code.

    201. Re:Got it wrong by Raenex · · Score: 1

      Unfortunately, many Slashdot users have grown up in an atmosphere of resentment towards closed software.

      The resentment of Microsoft goes well beyond "closed software". You really don't know the history of this resentment.

      It's about monopolies over what should be commodity services. Operating systems aren't all that distinguishable, and people resent being forced to pay monopoly prices for them. It gets even worse when the operating system monopoly is used to spread into other areas, like document formats (Microsoft Office). There's a feedback loop where the operating system encourages an application monopoly, which encourages the operating system monopoly.

      Then along comes the Internet and the Web, built on the idea of open standards that anybody can implement. Unix boxes, IBM machines, DEC machines, Windows machines, Macs -- they can all hook up and talk a common language. This is a great thing, the complete opposite of the Microsoft monopoly ecosystem.

      Early on Gates and Microsoft ignored the Net, because they didn't realize its potential, but eventually they caught on. They wanted to own the Web, but at first they had to break into the market. IE at first played along, making sure to be as compatible as possible. They even implemented a version for Linux. But once they gained a dominant share of the market they started coming out with incompatibilities that tied the browser to the operating system (ActiveX), and eliminated any Linux support.

      Once they killed Netscaped and owned the browser market they got lazy. They stopped coming out with new versions of IE. This allowed Mozilla (from the ashes of Netscape) to have some success with Firefox. This woke up Microsoft again, and hence Silverlight, their latest attempt to take control.

      What I find worrying about the GP's attitude is the implications to customers - if people aren't interested in choosing the tools that give them the best productivity and are most appropriate for the job, but just the ones that are compatible with their irrationality, they're doing themselves, their clients and the industry a massive disservice.

      Some people are interested in bigger pictures than just latching on to the latest tech. If it means furthering a Microsoft monopoly and closing down the open nature of the Internet, then yes, there will be resentment and backlash. Fuck Microsoft. Fuck Silverlight. There are better, open alternatives -- open standards, not necessarily open source. That means that IE, Safari, Opera, and Firefox can all play along, without forcing people to choose Windows as their operating system.

    202. Re:Got it wrong by wisty · · Score: 1

      The big problem is that it's got Java in it's name, when it's closer to perl or Python. Static programmers don't know how to use it, and dynamic programmers don't want to tough it.

    203. Re:Got it wrong by asdfghjklqwertyuiop · · Score: 1

      You choose to run an operating system knowing full well it wouldn't work with flash or silverlight. Don't blame your mistakes on others or expect them to cater to your decision.

      He isn't the one who made a mistake.

    204. Re:Got it wrong by Hurricane78 · · Score: 1

      I can see why you're bashing JavaScript. You do not even know the simplest concepts like <body onload="javascript:init()">, but you think you know enough to judge it.
      Certainly, JavaScript is not perfect for everything. But there are many people involved into evolving into the perfect language for web applications.

      As I said, it would be more nice to make the VM language-independend. And as far as I can see, this has already started to happen with the new bytecode-VMs.

      Please do some professional work in JavaScript, and in other languages. If you then come to another conclusion than, that every language has it's upsides and downsides, and JavaScript is nothing especially bad (in fact it's pretty good, and certainly better than the PHP nightmare or the VB joke. [I worked professionally with all those languages.])

      --
      Any sufficiently advanced intelligence is indistinguishable from stupidity.
    205. Re:Got it wrong by MrJay · · Score: 1

      Have you ever attempted to code a real AJAX application? I would love AJAX if it weren't for JavaScript.

      For some apps it doesn't hurt to use a scripting language with "less" features, but for larger applications with 20+ source files and tons of undocumented code, JavaScript simply stinks. It was not intended to be used in the manner it's being used today. I could make the same argument for VB.NET and it's a compiled language.

      My opinion has nothing to do with JavaScript being a scripting language. Any language that doesn't require variable declarations becomes difficult to debug in large programs. I won't write a VB6 app without Option Declare in every file.

    206. Re:Got it wrong by francium+de+neobie · · Score: 1

      It's not the language's fault that programmers suck. If you hate JavaScript because it is hard to read and understand, Perl has a worse reputation in this area. Yet, I've worked with Radius server code in Perl 5 years ago that's well commented and well documented, and it was a pleasure to work with.

      If you doubt my experience with JavaScript, I'm currently a core developer at FCKeditor (note my name in my homepage), and in 2005 I've written a large scale AJAX app from scratch that's now still being developed and extended by a team of 20+ developers, and is currently being used by multiple cities to manage their citywide Wi-Fi installation.

      But of course, credentials are useless in technical discussions. I told you that only because you asked. My point is, it is entirely possible to write easily readable code in JavaScript, Perl or C - as long as you have good development practices in place (e.g. have good coding conventions, code reviews, good comments, good documentations). FCKeditor's internal code doesn't have good documentations right now but we have the former three items, and after a month the code base was easy to work with. Everything in CKEditor 3 is going to be well documented with JSDoc. I recommend you to go take a look at it.

      And... finally, if you *need* to have declared variables because you make too many typoes... Ctrl-P in vim is your friend. ;)

    207. Re:Got it wrong by francium+de+neobie · · Score: 1

      Oops... I've written my reply to myself. My post below was meant for you.

    208. Re:Got it wrong by MrJay · · Score: 1

      Your "oops" post even gets a score of 2.. how could that be?

      Good answer; I accept your opinion. I've programmed mainly in C, C++, Delphi, VB6, VB+C#.Net, JavaScript and VBScript. My preference remains, perhaps because I come from these environments and am more comfortable with the notion of intentional variable usage.

      I haven't used VIM in years; perhaps it's a wake up call. What is your preferred method for developing and testing JavaScript?

  2. yes, this language is a mistake. by Anonymous Coward · · Score: 0

    yes, this language is a mistake.

    javascript:alert('1/0: ' + 1/0 +'\n -1/0: ' + -1/0)

    1. Re:yes, this language is a mistake. by Allador · · Score: 1

      That is awesome.

      I guess infinity is a better answer than an exception. :)

  3. Clearly by Anonymous Coward · · Score: 1, Funny

    We should patent Javascript right now! It's not like the patent office would reject it on the basis of prior art or anything since they don't seem to know what prior art means.

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

      This is why it would be helpful if the editors would correct their stories instead of counting on people like this AC to read enough comments to discover that a given story is completely wrong. (Beyond the fact that he doesn't understand the difference between an application and an approval...)

  4. Javascript/HTML are the way of the past by Anonymous Coward · · Score: 0

    I foresee API-based web development, and web pages/apps are done programatically, rather than as text markup.

    1. Re:Javascript/HTML are the way of the past by AKAImBatman · · Score: 4, Insightful

      I foresee API-based web development, and web pages/apps are done programatically, rather than as text markup.

      You forgot to add "I have a dream!" in your one-liner.

      Let me get out my crystal ball here... *clunk* *crash* *bang* sorry *oof* *whump* haven't *whim* *whim* *whim* used it *whack!* in awhile. So where was I? Ah yes. I am staring DEEP into the past. Looking at the days when UIs were programmatic. I see when UIs caused long lengths of repetitive and ugly code. I see resource files being invented! It's a miracle! UI programmers no longer have to keep their layout in their code! These resource files appear to be getting more complex... they are supporting graphical layout... productivity is improving!

      Wait, what's this? Some silly person on Slashdot is attempting to derail the web form of resource files! He thinks that the DOM should be constructed... programmatically? Has he ever tried building a UI 100% programtically? It's a nightmare!

      Levity aside, it can be done, but it's far from the ideal solution. New document formats like XUL may pop up, but suggesting that we move away from keeping layouts separate from our code simply smacks of inexperience.

      "Those that fail to learn from history, are doomed to repeat it." - Winston Churchill

    2. Re:Javascript/HTML are the way of the past by sskagent · · Score: 1

      ... *clunk* *crash* *bang*..

      Where was this crystal ball, inside a chicken?

    3. Re:Javascript/HTML are the way of the past by Tenebrousedge · · Score: 1

      Why, where do you keep yours?

      --
      Those who advocate genocide deserve every protection afforded by law, and none afforded by common human decency.
    4. Re:Javascript/HTML are the way of the past by CoughDropAddict · · Score: 2, Insightful

      I'm with you, except that I lament that the only way to get the "boxes and springs" tabular model that has been used by pretty much every UI ever invented is to use tables for layout. Which gets you crucified by the web standards crowd. The options that CSS gives you are a sad joke in comparison: in CSS, even creating a layout of three divs in non-overlapping columns is an art. Don't even think about trying to give it rows!

    5. Re:Javascript/HTML are the way of the past by aurelianito · · Score: 1

      Amen!
      I even wrote a post in my blog advocating it. In fact I went further and suggested standardizing on JavaScript even for server side stuff. If you (or anyone else) wants to check it out here is the link (warning, it is written in spanish).

    6. Re:Javascript/HTML are the way of the past by Anonymous Coward · · Score: 0

      Has he ever tried building a UI 100% programtically? It's a nightmare!

      Stangely enough, I have done this a lot with tcl/tk. It has very nice geometry managers which make everything fit together nicely. Controls are placed relative to each other, and can have preferred/min/max size settings, and the manager arbitrates everything out, with very little programmer effort. They wrote a graphical GUI designer, but its results were not as good.

      The DOM is extremely lame in its layout. Many times I just want some element to autosize itself to the height of its parent, but it can be done with the dom or css. So we have to resort to ugly hacks like absolute sizes on everything (no resizable windows for you) or javascripting sizes.

      If all the DOM standardizers were forced to use tk for a year or so, they might be able to come back and design a box model which is actually useful for layout.

  5. Layering is good... by William+Robinson · · Score: 1

    As all architects say. But I guess the problem will be making everybody agree with it. Because, similar to me, many think that there is never going to be 'one solution for everything.'

  6. JavaScript was a horrible mistake by Anonymous Coward · · Score: 0

    If it wasn't for JavaScript, the web would be fully interactive, supporting millions of users and creating a marketplace for billions of dollars of transactions.

  7. "Monoculture" by Anonymous Coward · · Score: 0

    Kind of funny how FOSS advocates only use the term "monoculture" as an attack against Microsoft, and never as a practice among their own projects.

    1. Re:"Monoculture" by mweather · · Score: 1

      Probably because their projects use code from many other projects. It's hard to be a monoculture in FOSS without reinventing the wheel a lot.

  8. Why use Javascript at all? by Anonymous Coward · · Score: 0

    Why would you do anything on the client at all? For one thing you can't rely on it being available and not disabled.

    But the real kicker is that you can't really trust it anyway (for validation and/or screen flow) so you have to do the work on the server anyway.

    So that leaves only the 'glitz' for Javascript. Best not to use it then.

    For a web application, use it as it is intended. If you need a rich client, just use a client-server architecture.

    1. Re:Why use Javascript at all? by Anonymous Coward · · Score: 0

      > For one thing you can't rely on it being available and not disabled.

      In today's web2.0 world, you make that assertion? Anyone with javascript you can simply write off, the numbers are going to be pretty small.

    2. Re:Why use Javascript at all? by Keeper+Of+Keys · · Score: 1

      Almost right. You can't trust javascript on the client, but there is still a reason to use it. Once you have a solid, server-side application which works over HTTP using regular HTML, javascript is a great usability enhancer. Got a long list of options in a form in your plain vanilla site? Use js to hide the less-frequently used options unless needed. Enhance search boxes with autocompletion. Validate client-side as well, to save a server hit. etc. That's not glitz, it's making the experience better for users with js enabled.

    3. Re:Why use Javascript at all? by DamnStupidElf · · Score: 1

      But the real kicker is that you can't really trust it anyway (for validation and/or screen flow) so you have to do the work on the server anyway.
      ...

      For a web application, use it as it is intended. If you need a rich client, just use a client-server architecture.

      Guess what, "rich" clients can't be trusted either! Just ask Blizzard or any other company that makes MMORPGs. All the "glitz" is in the client in those games too, while the real work gets done on the server.

      I'm always appalled to see how many traditional (e.g. rich client) database applications have a SA level database account and password embedded in the client so that they can perform direct queries against the database. Would you include the database username and password in the HTML you send out to the browser?

    4. Re:Why use Javascript at all? by Areyoukiddingme · · Score: 1

      One small voice of sanity in the vast wasteland of "wedge everything into the browser 'cause.... 'cause.... I dunno why but it's a good idea!"

      Seriously folks, network programming is not that hard, and purpose-built code is so much more flexible, which makes it easy to make it so much friendlier and faster. We have multi-gigahertz processors, gigabytes of RAM, and megabits of bandwidth, and a typical web-based "app" feels slower than a BBS door running on a 486 over a 14.4 modem. Even the software developed by the true powerhouses of the industry, like Google, aren't as good as they could be.

      Stop trying to distort a network document rendering application into something it was never meant to be. Please. You're hurting the little fuzzy animals. Please stop.

    5. Re:Why use Javascript at all? by coryking · · Score: 1

      Obviously you cant trust the client input on the server. But you can do "warm and fuzzy" validation on the client side. By "warm and fuzzy" I mean providing instant feedback with useful error messages.

      When a visitor clicks "submit", the server can be a hard-ass and barf on invalid input in mean, nasty ways instead of trying to do complex interaction with the user. When the server gets pissed off in a webapp that does "warm fuzzy" javascript validation, the server-side validation code doesn't have to remember form values, do complex "IF (error) SHOW THE FORM PRINT THIS MESSAGE" kinds of things. It just can return "hey jackass who turned off javascript, why are you feeding me bullshit?" and be done.

    6. Re:Why use Javascript at all? by Otto · · Score: 2, Interesting

      True, and I agree, but have you seen what crazy people are doing these days?

      Take a real hard look at SproutCore. The basic concept is to write code in a Ruby-like template lanaguage which, when compiled/built generates a bunch of HTML. Then you write the actual application logic using Javascript. The back-end server piece is relegated to little more than a way to pull stuff out of and insert changes into a database (along with a thin security layer to prevent people from doing bad things).

      The whole REST model more or less relies on a "thick" client doing all the logic. And these crazy people are doing all that with Javascript, basically. Which is fine from a pretty aspect, but verges on insanity for any sort of serious application.

      --
      - Give a man a fire and he's warm for a day, but set him on fire and he's warm for the rest of his life.
    7. Re:Why use Javascript at all? by Anonymous Coward · · Score: 0

      If you really believe that, I'm at a loss for words...

    8. Re:Why use Javascript at all? by DaveV1.0 · · Score: 1

      Every negative you have described is the fault of bad programming and lazy programmers.

      --
      There is no "-1 offended" or "-1 you don't agree with me" mod options for a reason.
    9. Re:Why use Javascript at all? by Keeper+Of+Keys · · Score: 1

      Why is that more insane than a desktop app which ties into an online database? It's practically the same thing, except you get (nearly) instant portability. It's a whole different elderberry bush full of kippers from what I was describing before, not really a website at all, but not that crazy.

      Client machines and browsers are powerful things, and javascript can be an elegant and powerful language - why not harness that power?

    10. Re:Why use Javascript at all? by LordLucless · · Score: 1

      If you had some numbers to back that up, I'd be at a loss for words.

      --
      Just because you're paranoid doesn't mean there isn't an invisible demon about to eat your face
    11. Re:Why use Javascript at all? by LordLucless · · Score: 1

      Huh? You can implement REST without a single line of javascript. It's a way of defining functions along strict lines, in terms of depending on state and idempotence. It has nothing to do with javascript, and isn't even a web-only concept.

      --
      Just because you're paranoid doesn't mean there isn't an invisible demon about to eat your face
    12. Re:Why use Javascript at all? by Otto · · Score: 1

      Why is that more insane than a desktop app which ties into an online database?

      I didn't say that it was... because they're both equally insane.

      You can't trust the client. So why put all your application logic on there?

      (Note that I'm not talking about a separate application with actual functionality that is useful with or without the data from the server, as that's fine. But a "webapp" implicitly means that without the server-side, the app is mostly useless...)

      --
      - Give a man a fire and he's warm for a day, but set him on fire and he's warm for the rest of his life.
    13. Re:Why use Javascript at all? by Otto · · Score: 1

      Learn to read better. I never said REST had anything to do with javascript.

      --
      - Give a man a fire and he's warm for a day, but set him on fire and he's warm for the rest of his life.
    14. Re:Why use Javascript at all? by Keeper+Of+Keys · · Score: 1

      Sounds like you distrust not only the client but The Cloud, too. Fair enough, but some people want to access the same data from multiple computers. Given that, I think a web app is probably the best solution; certainly easiest from a development point of view.

      Something tells me you're not into World of Warcraft.

    15. Re:Why use Javascript at all? by Otto · · Score: 1

      There's nothing wrong with webapps, but it makes little sense to write all your application logic into the client-side application itself, where it can be messed with and is untrustworthy.

      All you control is the server. Your application logic needs to be there, under your control. The client side should be nothing but the "view" in this MVC model.

      Also, WoW is a whole different kettle of fish. It's basically a graphical interface with some smart predictive logic. All the actual stuff really happening happens on the server-side. The client is still just the view.

      --
      - Give a man a fire and he's warm for a day, but set him on fire and he's warm for the rest of his life.
  9. I Question McAllister's wisdom by Anonymous Coward · · Score: 0

    'nuff said!

  10. No scripting language is going to solve by godefroi · · Score: 4, Insightful

    ... the browser-as-a-ui problem. Browsers are great for online brochures, and terrible for anything more complicated than that. If browsers were a good application framework, we wouldn't need Flash, Air, Silverlight, Java applets, XBAP apps, XUL, etc, etc etc. The sooner we realize that trying to build an "application" directly in html+javascript+whatever-server-side-tech-you-like is a losing strategy, the sooner we can move onto something better.

    --
    Karma: Poor (Mostly affected by lame karma-joke sigs)
    1. Re:No scripting language is going to solve by avandesande · · Score: 5, Insightful

      I guess the last 10 years where I have put food on my table and deployed 10s of applications that are used by thousands of people are really a loss.
      Thanks for clearing that up.

      --
      love is just extroverted narcissism
    2. Re:No scripting language is going to solve by AKAImBatman · · Score: 4, Insightful

      If browsers were a good application framework, we wouldn't need Flash, Air, Silverlight, Java applets, XBAP apps, XUL, etc, etc etc.

      Newsflash! We don't.

      Flash was never welcome on the web. It was responsible for some of the most horrific, unusable sites known to man. For the most part it has disappeared from common UI use. However, it did manage to find two major niches:

      1. A standard for Web Video (because no one can friggin' agree on a standard)

      2. Online Games

      #1 may eventually be taken care of by the new HTML5 <video> tag. Unfortunately, the powers that be still can't agree.

      #2 *is* taken care of. Javascript games already exist:

      PentriiX Online Multiplayer
      DHTML Lemmings
      Hull Breach Online
      Tetris using Canvas
      Pac Man using Canvas

      XUL is a Mozilla technology primarily used to construct Mozilla apps. It is not a web language per se.

      Air and Silverlight are solutions looking for problems. The latter is supposed to be a Flash killer at a time when Flash is already at the end of its life. Smooth move, Microsoft.

      XBAP is effectively the heavy-weight daddy of Silverlight. Except that it's not really a web app.

      The sooner we realize that trying to build an "application" directly in html+javascript+whatever-server-side-tech-you-like is a losing strategy, the sooner we can move onto something better.

      So what you're saying is, the sooner we shut down GMail, Yahoo! Mail, Google Docs, Google Maps, Digg, Meebo, and every other DHTML app in existence, the better off we'll be*?

      * Ok, maybe in the case of Digg we would be, but that's the exception that proves the rule!

    3. Re:No scripting language is going to solve by jojisan · · Score: 1

      Completely disagree. There are tons of "Browser" app's out there. The whole point is that you have an easy to create model for the display using html, dhtml, css etc. The browser model for app's is perfect because if implemented correctly, it is very portable, both across os platforms and across types of internet devices and even flavors of browsers. I would love to see a form of javascript that is even more powerful and easier to code to. The whole point is making the tools to make applications easier, html and javascript for making the UI is great. Now if someone could actually make the event handling and data processing and I/O functions as easy as the html part then application development could be done by the masses, the same as static html pages. The whole point of making the browser to begin with.

      --
      <sig> I wish I had a </sig>
    4. Re:No scripting language is going to solve by mabhatter654 · · Score: 1

      I agree, I think it's time for HTML5 to be the last web page spec then move on to the next thing.

      We need and application framework. It has to break fundamental features of the HTTP/HTML model. It has to be authenticated at OSI session level that fixes huge problems trying to work around statelessness. It has to have something OBDC-like built in to handle data transfers. It can still keep XHTML markup, but streamline it for "moving" apps. It would look a lot like remote X sessions. It would be subject to all the same issues network apps have now, dropped connections would require starting "at the beginning" like other protocols do. I'm thinking something like 5250 or 3730 but with XHTML markup as the stream instead of ugly green-screen. This would require a new kind of server that manages sessions/authentication directly rather than applications managing them, that's more overhead but it would simplify application stacks greatly.

    5. Re:No scripting language is going to solve by avandesande · · Score: 1

      You forgot slashdot.....

      --
      love is just extroverted narcissism
    6. Re:No scripting language is going to solve by betterunixthanunix · · Score: 2, Interesting

      As I recall, the point of making the browser was document retrieval; the name "browser" should give you a clue on that one. Let's see...the model of it was...right, hypertext documents that were linked together, thus forming a "web" of interconnected documents -- the "World Wide Web." Where does "application runtime" fit in with that?

      --
      Palm trees and 8
    7. Re:No scripting language is going to solve by Bryansix · · Score: 2, Insightful

      This is moronic. The browser has been awesome for applications even simply for the fact that it forces user interfaces that are usable as opposed to some of the shit I could come up with in Flash for instance that would confuse the fuck out of people. Have you ever browsed for flash based UIs? Its like stepping into the twilight zone. I mean seriously, tell me one thing you would like to do in an application that you can't do in a simple browser without some plug-ins. I mean obviously some things won't work well like highly interactive games or image editors. But for like 90% of all the business applications out there which account for more than 90% of the market for web programmers I can't think of anything wrong with using the browser the way it is.

    8. Re:No scripting language is going to solve by DarkOx · · Score: 1

      I am sure they are not losses. They are probably successful in that they get the job done and meet the criteria required. Mostly likely they leave a lot to be desired as well. End users more the likely feel they are slow clunky and offer a tedious work flow due to the limitations of the browser paradigm.

      Maintenance programs probably cry, because its hard to write JS apps that seem to be sensibly designed to everyone more them a few of them probably thing your reasoning is bassackwards. They probably spend a great deal of time struggling with understanding data flow, and then coupling and cohesion issues. This is not because you coded the app badly but because JS in a web environment just lends itself to that and forces compromise. They would be happier with something that offered a more JSP(Jackson Structured Programming) or OO approach, perhaps even function if they are into that sort of thing.

      Managers probably like the low frequency of end user problems and zero setup time. They also probably like short development cycles for new features and fixes. They probably don't like the fact their app that they have invested so much in is tied to the browser technology of the day, won't age well and will ultimately have to be replaced with a ground up rewrite once browsers eveolve some compelling new features.

      --
      Repeal the 17th Amendment TODAY! Also Please Read http://www.gnu.org/philosophy/right-to-read.html
    9. Re:No scripting language is going to solve by oyenstikker · · Score: 2, Funny

      Java Web Start!

      --
      The masses are the crack whores of religion.
    10. Re:No scripting language is going to solve by JakeD409 · · Score: 1
    11. Re:No scripting language is going to solve by AKAImBatman · · Score: 1

      Slashdot is so incredibly terrible that I turned off the DHTML. How about you?

      Now if I could just find a way to get the @!#$! Idle stories off the front page...

    12. Re:No scripting language is going to solve by jojisan · · Score: 2, Insightful

      Berners-Lee created a browser-editor with the goal of developing a tool to make the Web a creative space to share and edit information and build a common hypertext. What should they call this new browser: The Mine of Information? The Information Mesh? When they settled on a name in May 1990, it was the WorldWideWeb.

      I'm pretty sure the spirit of the invention was to share information. I don't think the limits of a static document was the end goal. Why build editor features into it?

      A screen shot taken from a NeXT computer running Tim Berners-Lee's original WorldWideWeb browser. It has taken a long time for technology to catch up with Berners-Lee's original vision. The first ever web browser was also an editor, making the web an interactive medium, the problem was that it only ran on the NeXTStep operating system. With recent phenomena like blogs and wikis, the web is beginning to develop the kind of collaborative nature that its inventor envisaged from the start.

      I think application runttime and interactive gui are pretty close to the same idea's.

      --
      <sig> I wish I had a </sig>
    13. Re:No scripting language is going to solve by coryking · · Score: 2, Insightful

      The point of TCP/IP was to keep the military running when the commies nuked our ass to hell. Where does this 'HTTP' fit in with that?

    14. Re:No scripting language is going to solve by brainnolo · · Score: 2, Interesting

      I wholeheartedly agree. Web applications are just abusing the browser forcing them to do what they aren't supposed to. They are very inefficient (the browser is the heaviest application I run) and they have all sort of hacks to overcome the fact that HTTP and HTML were meant for simple stuff. Instead of doing dirty hacks we could do one of the two:

      1) require a separate client for every networked application (should be more a efficient from a technical point of view)

      2) improve the protocols and languages to natively (and uniformly) support asynchronous requests and just drop the concept of "page" altogether as it doesn't mean too much anymore.

    15. Re:No scripting language is going to solve by Ralph+Spoilsport · · Score: 1
      excellent post. I never liked Flash, and I am happy to see it die - but: how does one work the kinds of things flash does, without flash? And if you say "environment x" how is that environment available and explainable to people such that it has the learning curve AND the functionality of Flash? Flash's UI is a nauseating piece of shit that was craptastic right out of the gate. Adobe's done a lot of work to improve it, so now we have a pig covered in lipstick. It still sucks. However, one can do very poweful things, quickly, and without resortign to much code. Does environment (x) have the UI so that people can get their work done quickly and easily? If not, then the geeks in Adobe will start blasting the pig with liposuction and hair extensions and it will start to look like Amy Winehouse, only sober. And willing to eat table scraps. But it will still be a PIG.

      I look forward to your reply.

      cheers, RS

      --
      Shoes for Industry. Shoes for the Dead.
    16. Re:No scripting language is going to solve by mabhatter654 · · Score: 1

      but even Wikipedia is not a collection of unique web pages, it's "pages" are records in a database app with a web browser front end, as far as openness it might as well be written in MS Access. The difference is a big deal, it means that there is a gatekeeper server between you and the data. Then we add another layer of programming to make the "page" tell the server what records to display. It's more flexible than the original idea, but it's become too much different.

      Another example would be in the original plan, I could search slashdot posts with my own method, not relying on access to some search function. We need to get back to "data" being in a static form, that is part of why Google has become so powerful tying up this information because they can write complex apps to search beneath the surface where you can't.

      It's time to build a spec for web applications, that still OPEN. This is where Flash and Silverlight are trying to answer the right question, but also trying to tie up the new web into connecting to just their servers rather than allowing people to build their own.

    17. Re:No scripting language is going to solve by dave420 · · Score: 1

      As with all powerful technologies, it can easily be misused. Just because it's used for many fucked-up things doesn't mean to say it has a very useful part to play in the web. I've used it for navigation in sites before (shock! horror!), and it didn't break the site in any way. The site is still 100% accessible, can still be indexed perfectly by search engines, and works fine for people without flash or javascript. If your client wants a site with something that can only be done in flash, and which won't break the site, what's the problem? It's another tool in the chest. And please check out Google Maps' flash implementation - it shits all over the HTML/JavaScript one.

    18. Re:No scripting language is going to solve by AKAImBatman · · Score: 1

      but: how does one work the kinds of things flash does, without flash?

      The technology is all there as part of the HTML 5 spec. (Look it up over on the W3C or at WHATWG.org.) Canvas, Audio, SVG, and Video all provide alternatives to what Flash does. Even the ability to keep track of complex state information exists in HTML 5. And the API is significantly improved over the simple SharedObjects Flash offers.

      Does environment (x) have the UI so that people can get their work done quickly and easily?

      That's a problem for the tool creators. HTML 5 is merely the technology. The first company to make a Flash Studio-like tool for HTML 5 will probably make quite a bit of money. In the meantime, individual technologies can be addressed with tools like Inkscape. :-)

    19. Re:No scripting language is going to solve by Anonymous Coward · · Score: 1, Insightful

      We don't need those. I've been using the web for years without ever installing Flash, Java or Silverlight and I haven't missed a thing of importance. For Flash, I refuse to downgrade my browser to 32-bit in order to use it. For Java, I refuse to install the 150MB performance hogging JRE just to run some slow and bloated crapplications. For Silverlight, it's not popular and I don't trust Microsoft with anything that has to touch the outside world.

    20. Re:No scripting language is going to solve by bigstrat2003 · · Score: 1

      You can do that in your prefs now, since they "officially announced" (wtf did that even mean, btw? We saw it for months, and then they announed it? I are confuzed.) the idle section. Thank fucking God, too.

      Oh, and I also turned off D2 cause of the issues I have with it. High five!

      --
      "16MB (fuck off, MiB fascists)" - The Mighty Buzzard
    21. Re:No scripting language is going to solve by gpuk · · Score: 1

      "So what you're saying is, the sooner we shut down GMail, Yahoo! Mail, Google Docs, Google Maps, Digg, Meebo, and every other DHTML app in existence, the better off we'll be?"

      No, what he's saying is that we should be achieving so much more than we are doing and the reason we aren't is largely the fault of the current web development paradigm and its associated tools. Lets face it, all of the "apps" you mentioned are essentially clever toys and extremely basic when compared against desktop equivalents. And I don't buy the argument that "they were never meant to compete with desktop apps and so the comparison isn't fair". Why can't they be as good or even better? Answer: the current web development tools and environment prevent it.

      BTW, the above rant comes from someone who makes a living developing and supporting web apps.

    22. Re:No scripting language is going to solve by Jason+Levine · · Score: 1

      I'd agree with your assessment of everything here except for Adobe AIR. I actually looked into developing an in-house AIR application and AIR can be used to run Flash or HTML/JavaScript within an application setting. This means that you don't need to load your web browser and navigate to a URL. You just launch the AIR app and it runs the appropriate files for that application. I would compare it to Mozilla's Prism application on steroids. (Prism being the stripped down browser that makes web-based applications look more like "standalone" applications.)

      Without Flash or HTML/JavaScript, AIR is nothing. And even with them, AIR will only be useful for a limited set of problems. I can't go to any computer and expect to run an AIR-based application. (At least, not without first installing the AIR run-time and then installing the AIR application.) However, I can go to any computer and load a web-based application.

      Browsers can be excellent application frameworks. They might not be perfect for everything (I'm still not convinced that a web-based Photoshop would be better than locally run Photoshop), but no one technology ever is.

      --
      My sci-fi novel, Ghost Thief, is now available from Amazon.com.
    23. Re:No scripting language is going to solve by drharris · · Score: 1

      I mean seriously, tell me one thing you would like to do in an application that you can't do in a simple browser without some plug-ins.

      True multi-threaded architecture? And, no I don't mean setTimeout() calls.. After writing very rich javascript apps for the last few years, this one seems to crop up quite often. When you start relying on a lot of AJAX calls, your message passing queues can really become burdensome without this.

    24. Re:No scripting language is going to solve by SteveFoerster · · Score: 1

      Our ass? I don't share my ass with anyone, pal.

      --
      Space game using normal deck of cards: http://BattleCards.org
    25. Re:No scripting language is going to solve by Eli+Gottlieb · · Score: 1

      Just for that I've officially "Friended" you. The entire field of programming has become too overrun with "web developers" who have scarcely written a real application in their life, and therefore don't even know why a real desktop OS makes a better platform than a web browser.

    26. Re:No scripting language is going to solve by Eli+Gottlieb · · Score: 2, Insightful

      Ever heard of this little thing called "native applications running on your computer"? It works much better than a browser.

    27. Re:No scripting language is going to solve by Anonymous Coward · · Score: 0

      Don't forget Wolfenstein 3D (or, if you prefer, the 5k version)...

    28. Re:No scripting language is going to solve by ultranova · · Score: 2, Interesting

      We need and application framework.

      If you really need all that, you can have it right now: just make a web page that contain nothing but a Java applet that connects back to your server. See http://www.mudmagic.com/java-client/ for example.

      That few people bother doing this implies to me that it isn't, in fact, widely needed.

      --

      Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

    29. Re:No scripting language is going to solve by gbjbaanb · · Score: 1

      If browsers were a good application framework, we wouldn't need Flash, Air, Silverlight, Java applets, XBAP apps, XUL, etc, etc etc

      of course, if any of those were good application frameworks, we wouldn't need all the others...

      Don't try top shoehorn every problem into a single solution; and newer isn't necessarily better, not from a technical and especially not from a business POV.

    30. Re:No scripting language is going to solve by Anonymous Coward · · Score: 0

      There are a lot of things you can do with plain Javascript, but we still need Flash. Some examples:

      - How can you rotate an image with Javascript?
      - How can you draw a diagonal line with Javascript?
      - How can you access the webcam and microphone from Javascript?

      The only solution to some of these problem is SVG, but it isn't widely supported in modern browsers yet.

    31. Re:No scripting language is going to solve by R3d+Jack · · Score: 2, Interesting
      I agree with the sentiment, if not all the details. I started procedural, learned OO and Web tech at the same time. The problem with current Web tech is that it is evolved, not intelligently designed (mod me "troll"). I did a lot of programming in RPG, which had the same problem.

      To me, the ideal solution would be to take what we have now and reinvent it. HTML forms need much more rich controls. Javascript has a lot of rough edges; we really need a clean scripting language and a full development language that inter-operate. Of course, that will never happen. Meanwhile, I'm noticing how much Swing has improved and the possibilities of JNLP...

    32. Re:No scripting language is going to solve by AKAImBatman · · Score: 1

      Ugh. The author forgot to cancel the default key commands. If it scrolls all over the place, paste this into your URL bar and hit enter:

      javascript:var x = document.addEventListener("keypress", function(event){event.preventDefault();}, false);

      That will prevent the scrolling. Otherwise, great demo!

    33. Re:No scripting language is going to solve by AKAImBatman · · Score: 1

      There are a lot of things you can do with plain Javascript, but we still need Flash

      So wrong, it's not even funny.

      - How can you rotate an image with Javascript?

      You call "rotate" on the canvas context before drawing the image to the screen.

      - How can you draw a diagonal line with Javascript?

      lineTo(<coords>)

      - How can you access the webcam and microphone from Javascript?

      You don't. Hopefully not in Flash or Javascript. (Just because the APIs exist in Flash doesn't make them a good idea.) There's some discussion going on over at WHATWG about adding support. I hope it doesn't get very far...

      I recommend you start your research into modern browsers (read: NOT Internet Exploder) here. Then nip over to WHATWG.org and read the current specs for modern browsers.

    34. Re:No scripting language is going to solve by MaWeiTao · · Score: 1

      Flash has disappeared from common UI use? Have you been browsing the web lately? NBC's Olympic site is currently using Flash components. They seem to be using Silverlight for video, but they could have just as easily used Flash. Even the Olympic committee's own site uses Flash components.

      And this is just off the top of my head, thinking about sites I've visited in the past few weeks. Once you get into more consumer-based websites, like automotive or clothing websites Flash becomes far more pervasive and extensive.

      What I think has happened is that Flash development has matured. People are using Flash for more specific implementations. They don't make an entire site Flash for no good reason. So they incorporate it into predetermined areas on a website where it will provide the most impact.

      The fact is that people want something that grabs a visitors attention or conveys information efficiently and dramatically. A static block of text rarely is effective. And the simple fact is that it's far simpler to build something in Flash than to go with some other language and try to get it to work in multiple platforms. Flash just works, and it works almost exactly the same way on both Windows and OSX, which is honestly what the vast majority of visitors will be running on.

      I'd say well over 75% of our clients ask for some level of Flash and in the 6+ years we've used it I don't recall ever having compatibility problems. I certainly can't say the same for the rest of these same websites.

      The problem is that people are encountering poor interface design and crap programming and blaming Flash for these problems. Blame the designers and programmers, not the application. I've encountered code provided by other companies, many times, that is complete and utter garbage.

      One problem with the perception of Flash is that many companies still see it as a designer's tool. So you've got designers forced into a programming role which they aren't equipped for at all. Flash is a full-fledged development environment, even more so with the advent of AS3. Unfortunately, I haven't encountered many developers than know actionscript or care to develop for it. It certainly doesn't help that many developers have such an antipathy for it. And most companies are reluctant to higher a dedicated Flash programmer especially when it might not comprise a significant portion of their business.

      Flash is far from being at the end of its life. I simply think it has found its niche.

    35. Re:No scripting language is going to solve by Anonymous Coward · · Score: 0

      I can't wait for the tag!

    36. Re:No scripting language is going to solve by Bryansix · · Score: 1

      Well then its time to think about if that information needs to even be passed before that pages changes are submitted as a whole. Like is the AJAX actually adding functionality or is it just because everything else is AJAX?

    37. Re:No scripting language is going to solve by Bryansix · · Score: 1

      Yes I even mentioned that some things don't work well in the browser. For those things I think native apps will still be around. True gaming for instance will probably be run natively for a long time.

    38. Re:No scripting language is going to solve by Hythlodaeus · · Score: 1

      I guess the last 10 years where I have put food on my table and deployed 10s of applications that are used by thousands of people are really a loss.
      Thanks for clearing that up.

      If you hadn't used JavaScript, you might have done it in 5 years and put food on your neighbor's table too.

      --
      For great justice.
    39. Re:No scripting language is going to solve by godefroi · · Score: 1

      The fact that it's been done for a long time, and even that you've been successful enough at doing it to make a living at it doesn't make HTML/*script a good application platform. It can be made to work, but you can imagine such BETTER ways do accomplish the same tasks.

      --
      Karma: Poor (Mostly affected by lame karma-joke sigs)
    40. Re:No scripting language is going to solve by godefroi · · Score: 1

      You'll notice I never said any of these "platforms" are good ones. The sooner flash is a video-only tool, the better, in my book. I only use these as examples of platforms that came into existence because HTML/*script is so horrid.

      I also never said we should shut down existing HTML/*script applications. I gave examples of platforms that were produced because the existing state of HTML/*script is so poor.

      The sort of applications you mentioned could be implemented much easier and more consistently in some hypothetical, standard, powerful, framework. That's my point.

      --
      Karma: Poor (Mostly affected by lame karma-joke sigs)
    41. Re:No scripting language is going to solve by godefroi · · Score: 1

      Are you for real? Even (maybe especially) the people who write "awesome" applications in HTML/*script will agree that it's an awful solution to the rich-internet-application problem. As circletimessquare notes, it's HTML's low barrier to entry that makes it popular, not it's power as an application development platform.

      --
      Karma: Poor (Mostly affected by lame karma-joke sigs)
    42. Re:No scripting language is going to solve by godefroi · · Score: 1

      You won't get any arguments from me there. Flash is the devil. I won't say we've gotten to the RIGHT web-app platform yet, I'm just saying that HTML definitely ISN'T it.

      --
      Karma: Poor (Mostly affected by lame karma-joke sigs)
    43. Re:No scripting language is going to solve by stewbacca · · Score: 1

      Don't forget rapid e-learning development and software simulation training as major uses of Flash (easily the most used non-leisure activity use of Flash).

    44. Re:No scripting language is going to solve by Anonymous Coward · · Score: 0

      You don't. Hopefully not in Flash or Javascript. (Just because the APIs exist in Flash doesn't make them a good idea.) There's some discussion going on over at WHATWG about adding support. I hope it doesn't get very far...

      Well, if people want the browser to become a generic application delivery platform, access to other hardware will need to be added, just like it is talked about adding access for hardware accelerated 3d on <canvas>.

    45. Re:No scripting language is going to solve by Bryansix · · Score: 1

      Low barrier of entry? Ya it has nothing to do with the platform independent nature of the web or the fact that applications can be available anywhere in the world with just an Internet connection. Nope, it has nothing to do with those things. Oh and anybody can just write asp.net applications for the web with no experience at all too. Oh wait all those things are wrong? Oh, I'm sorry.

    46. Re:No scripting language is going to solve by mad.frog · · Score: 1

      Canvas isn't portable across browsers.

      Unless of course you add a plugin to IE.

      Let's see, a plugin to IE... that lets you render graphics... and control it using a variety of ECMAScript... what a great idea!

      Maybe we could call it "Flash..."

    47. Re:No scripting language is going to solve by mad.frog · · Score: 1

      I refuse to downgrade my browser to 32-bit in order to use it.

      Wow, you must be browsing some DAMN big pages...

      http://linuxhaters.blogspot.com/2008/07/my-browser-needs-16-exabytes.html

    48. Re:No scripting language is going to solve by Sancho · · Score: 1

      I'd say well over 75% of our clients ask for some level of Flash and in the 6+ years we've used it I don't recall ever having compatibility problems. I certainly can't say the same for the rest of these same websites.

      Why are the clients dictating the tools that you use?

      The problem is that people are encountering poor interface design and crap programming and blaming Flash for these problems. Blame the designers and programmers, not the application. I've encountered code provided by other companies, many times, that is complete and utter garbage.

      Well, if you want to use Flash to convey any information whatsoever, then a good designer now has twice the work--convey the information in Flash, and convey the information in HTML. The existence of Flash virtually requires this, unless you make your site Flash-only, in which case, all of the complaints about Flash become valid again.

      I suppose that the mere existence of Flash is not, in and of itself, terrible. But any site which uses it will either use it exclusively, or will have to duplicate effort in multiple languages. That's the problem.

    49. Re:No scripting language is going to solve by merreborn · · Score: 1

      There's one thing driving the "browser-as-a-ui" movement:

      The browser is a flexible, universal client application that's already installed everywhere. There's no other platform that allows such easy access to decently-sandboxed networked applications with such a wide install base.

      With a single click, people can nearly-instantly start using your application, and be reasonably certain that they're protected from your application doing anything terribly malicious. Nowhere else is the barrier to entry so low.

    50. Re:No scripting language is going to solve by myowntrueself · · Score: 1

      The point of TCP/IP was to keep the military running when the commies nuked our ass to hell. Where does this 'HTTP' fit in with that?

      After the nuclear holocaust you are going to need some way to distribute porn and propaganda to the survivors.

      --
      In the free world the media isn't government run; the government is media run.
    51. Re:No scripting language is going to solve by Anonymous Coward · · Score: 0

      This flat out isn't true. If you're looking to build 1990's style web applications-maybe JS is ok for you. But if you're looking to engineer software that has UI's that are as strong as those found in desktop apps, you can't do this with HTML/JS. The minimal set of form components that exist today are almost the same ones that existed in 1995. In over a decade-no progress has been made. I know there are a number of JS libraries that attempt to provide stronger support for RIA's (jQuery, GWT, Dojo, YUI, Ext et. al.) but for the most part these are largely incompatible with each other and are often buggy due to the insanity of trying to get things to work correctly on all browsers.

      If you use Flash for your rich interface application, it just works.

      Your code is compiled down to a binary format, so its smaller than the JS/HTML equivalent and you even get other benefits such as binary socket access for applications ranging from games to IM(while you can pull some of these things off encasing your data in XML and using HTTP polling, I'm being extremely kind when I say this is horribly inefficient and will usually bite you eventually).

      Although AS3 has dynamic features similar to JS-it also allows static type checking (which makes it much easier to catch problems).

      It's good to see Canvas becoming more widespread, but the truth of the matter is that HTML is just now reaching the point with graphics where Flash was circa 1997.

      The only way you can make the honest claim that 'Flash is only good for video or games' is if you've never actually used Flash (in any depth).

    52. Re:No scripting language is going to solve by AKAImBatman · · Score: 1

      http://java.dnsalias.com/tetris/ie/

      Done. That will work in IE, FireFox, Safari, and Opera. Yet the code targets only the Canvas tag.

      The one caveat is that the shunt does not yet have complete event passing. So you need to click outside of the falling blocks area for the keyboard commands to be read.

    53. Re:No scripting language is going to solve by coryking · · Score: 1

      Dude, go ahead. Try to write a web application that does anything interesting while supporting any browser that has more than 5% marketshare. Go ahead.

      Personally, I have far, far greater respect for people who do web development then people who get the luxury of developing for a non-shifting "real" application. Doing web development work is probably the hardest programming you'll ever do. Hard because your entire set of tools suck ass.

      Doing "real" development for "real" installable software is trivially easy. Your tools dont suck. Your platform doesn't shift on you overnight and break your crap in new exciting ways. Your language and libraries mostly have good documentation. Your IDE knows what the hell you are doing. It is easy. Real application development is sinfully easy compared to web development.

      You have no clue what you are talking about at all. Go do a web app, even something that seems "easy" like say, anything from 37 signals. Come back to me and tell me you still think web developers deserve scare quotes.

    54. Re:No scripting language is going to solve by coryking · · Score: 1

      BTW, the above rant comes from someone who makes a living developing and supporting web apps.

      And you should be happy because even if you think silverlight & flex suck, it says the market agrees with you. Give it some time and things will be much better.

    55. Re:No scripting language is going to solve by coryking · · Score: 1

      The technology is all there as part of the HTML 5 spec. (Look it up over on the W3C or at WHATWG.org.) Canvas, Audio, SVG, and Video all provide alternatives to what Flash does.

      How do those help me? Maybe in ten years when the last computer that can run IE6 dies off, yeah. But until then? Those things are all completely useless. Worse then useless, in fact, because somebody might be tempted to use them.

      HTML5 will be stillborn. HTML4 is too entrenched.

    56. Re:No scripting language is going to solve by dcam · · Score: 2, Informative
      --
      meh
    57. Re:No scripting language is going to solve by mabhatter654 · · Score: 1

      this is exactly an example of what I think the problem is. You have to have a special web server set up, to pass the java app, to do something that's really closer to what old-fashioined telnet used to do! HTTP/HTML assumes that you are looking for a single document per URL. It doesn't keep the proper things needed to run a hosted app like session to the network device or offer ports for things like database transactions. Having to rewrite java apps with 5 of the 10 things you need each time is old, slow, and non-standard. We need to think out the dozen changes from a typical static web browser and put them into something new. Sure there is pain, but the web application stack is pretty crowded right now trying to figure this out without breaking the typical web browser and needs a shake out.

    58. Re:No scripting language is going to solve by Anonymous Coward · · Score: 0

      ah, but think about the real "applications" that are being run in a browser. Siebel CRM, Salesforce.com, ... the big guys. For this, real, big, complicated, busineesprocess-driven applications the browser simply sucks as a platform. and yet, everything is being switched to it.

      the benefits?

      happy IT departments, annoyed end-users. every web-frontend loses against a fat-client when it comes to performance, flexibility.

      everything more compex than a mail client shouldn't be done in a browser.

    59. Re:No scripting language is going to solve by rdebath · · Score: 1

      "Respect"? Yes that's the word.

      The same sort of respect you give the guy who's face is covered in obscene tattoos!

    60. Re:No scripting language is going to solve by tepples · · Score: 1

      We need and application framework.

      So how do you plan to deploy the client for this application framework to the millions of devices that already handle DHTML, including non-PC devices that require that all native code be digitally signed by the platform vendor? Deployment is DHTML's big win, despite its faults.

  11. No ActionScript is great! Really! by thestudio_bob · · Score: 2, Interesting

    An external browser module capable of executing most of the proposed ECMAScript 4 specification already exists: It's the Adobe Flash plug-in. Other platforms are available as plug-ins, as well, including Curl and REBOL.

    As Web developers, we tend to shy away from these alternatives, but only because of the never-ending efforts to refine and standardize JavaScript within the browser itself.

    Paid shill maybe? Sounds to me like Adobe is trying to persuade the public that "their" Flash ActionScript additions to the standard should have been the way to go.

    --
    The real Sig captains the Northwestern. This one captains /.
    1. Re:No ActionScript is great! Really! by bigstrat2003 · · Score: 1

      Informing people that a product has capabilities is not shilling. Learn the difference.

      --
      "16MB (fuck off, MiB fascists)" - The Mighty Buzzard
    2. Re:No ActionScript is great! Really! by thestudio_bob · · Score: 1

      Lighten up Francis. Hence the word "maybe".

      I find it a little bit of a coincidence that he seems to be pushing the "plug-in" architecture methodology right after the Committee abandoned the proposed ECMAScript 4.0 language specification, which Adobe was pushing hard for.

      --
      The real Sig captains the Northwestern. This one captains /.
    3. Re:No ActionScript is great! Really! by mad.frog · · Score: 2, Informative

      You should learn your history... ActionScript 3 was actually based off of an early proposal for "JavaScript 2", written by Mozilla (or maybe it was Netscape at the time.

      The goal was for it to be standards-compliant with the next major revision to JavaScript.

  12. Adobe AIR does this by foniksonik · · Score: 1

    AIR lets you pick your language... it is practically a browser replacement using WebKit as it's html/dom render engine which lets you script however you like.... well, it supports javascript, actionscript and can be extended to allow for coding in C/C++ and all the other languages that sit on top:

    Java, Python, Ruby, PHP, Lua, Perl, C# (Mono), JavaScript

    --
    A fool throws a stone into a well and a thousand sages can not remove it.
    1. Re:Adobe AIR does this by Anonymous Coward · · Score: 0

      AIR lets you pick your language

      Ditto, Silverlight. Not sure about Java but all the rest you mentioned.

  13. Java by Mr.+Slippery · · Score: 1

    Well, you could always use a Java applet.

    Or implement another language - say, Python - in a Java applet.

    But few seem to have had a burning desire to do so. Javascript, bless it's heart, actually works pretty well now.

    --
    Tom Swiss | the infamous tms | my blog
    You cannot wash away blood with blood
    1. Re:Java by betterunixthanunix · · Score: 2, Interesting

      Javascript works well when you have a program that writes half of the Javascript code for you. Try to write an AJAX application on your own, and see how far you get.

      Java applets have an unfortunate reputation for taking a while to load, which is really the only reason they never took off.

      --
      Palm trees and 8
    2. Re:Java by truthsearch · · Score: 2, Interesting

      I write all of my Javascript by hand, including AJAX. Just like my HTML. With libraries like mootools it's easy. And I'm referring to large, complicated sites that take many months to build. I've never found a program that generates JS for us that I've liked. And I don't see the need when good JS is easy to create when it's done right.

    3. Re:Java by betterunixthanunix · · Score: 1

      Last time I tried my hand at that, with browser compatibility being a concern, it wound up being a disaster and we were forced to move to a toolkit. Luckily, the problems started early on, from the very first stages of a prototype, so we didn't lose that much time. Since then, I've moved as far away from web development as I can.

      --
      Palm trees and 8
    4. Re:Java by coryking · · Score: 1

      I'd go so far as to argue Javascript used to get a bad wrap because only a handful of people bothered to learn it. "back in the day", my javascript experiance consisted of searching google for "Javascript Image Swap" and copy & pasting whatever bit of code I found. I used to comment to colleagues that nobody really knew javascript because I figured 99% of all javascript code was copy & paste garbage.

      Once I bothered to learn Javascript and use it ontop of a good cross-browser library like Prototype, I've come to really like Javascript. It is like a cross between my beloved Perl, C# and C.

      Javascript is great. The DOM, the tools and web-browsers are what sucks.

    5. Re:Java by Midnight+Thunder · · Score: 1

      I'd go so far as to argue Javascript used to get a bad wrap because only a handful of people bothered to learn it. "back in the day", my javascript experiance consisted of searching google for "Javascript Image Swap" and copy & pasting whatever bit of code I found. I used to comment to colleagues that nobody really knew javascript because I figured 99% of all javascript code was copy & paste garbage.

      There is another reason, and this is one that no scripting language is going to solve: IE, and any other browser that fails to follows the W3C DOM. I have written plenty of Javascript (though wouldn't claim to be an expert), and once I have it working with the standard DOM (used by Firefox, Safari and Opera), I find I have to spend my time having to work out how to make it play nicely with Internet Explorer, because of the non-standard DOM. Its amazing how a good piece of Javascript starts looking like junk because of having to handle a single browser doing things differently. I wouldn't even bother if it wasn't for the market share of IE.

      --
      Jumpstart the tartan drive.
    6. Re:Java by coryking · · Score: 1

      You are a smart person. Web development, in it's current form, is probably the most needlessly difficult, frustrating line of development work you can do.

      You are programing against a moving target that you have no control over. Worse, those target platforms can really suck and break in insane ways that you'd never catch because you simply cannot test on every target.

      These "anti-flex" and "anti-silverlight" people are gonna get a wakeup call when none of their websites work in lynx anymore. Silverlight/Flex isn't for them, it is to keep us developers from going insane.

    7. Re:Java by Blakey+Rat · · Score: 1

      Even if they follow the DOM 100%, the DOM still sucks. It doesn't have enough widgets, you don't have enough control over the widgets it does have, it's missing very necessary global functions, etc.

      It's great that DOM has setTimeout and setInterval, but how come there's no cookie handling functions? Why is there "getElementBy"-everything *except* className?

      DOM is woefully inadequate for any real application development.

    8. Re:Java by coryking · · Score: 1

      Dammit. This just makes me want to get a drink.

      DOM is woefully inadequate for any real application development.

      Yup. And people can say "Oh, but HTML5 will fix all the problems". Ha! Yeah, right. Even if they pushed the spec out tomorrow, the fancy new thingamajigs, magic tags and CSS3 pixie dust are useless because you still gotta code back to IE6. And I get the feeling that those 25% will probably die in hover car accidents because they were browsing the web using IE6. Some of them will probably be traveling to their vacation homes on mars and kill time browsing the web using IE6.

      My current line of thinking is the only way to "escape" our busted state of web development is to just sidestep around it. Enter Flex and Silverlight--two things who have the potential to make web development fun again (just like when IE7 got transparent PNGs ;-)

  14. XMLHttpRequest aught to be enough for anyone by Lord+Ender · · Score: 4, Insightful

    The combination of HTML's form controls and Javascript's XMLHttpRequest gives web app designers the power they need to implement 99% of applications as webapps with very little compromise vs. thick-client apps.

    Personally, I care very little about the rest of Javascript's abilities. Most often when I see them used, they add nothing useful to the functionality of the applications--just complexity and gee-whiz UI silliness.

    --
    A slashdotter who didn't build his own computer is like a Jedi who didn't build his own lightsaber.
    1. Re:XMLHttpRequest aught to be enough for anyone by coryking · · Score: 1

      The combination of HTML's form controls and Javascript's XMLHttpRequest gives web app designers the power they need to implement 99% of applications as webapps with very little compromise vs. thick-client apps.

      Hahaha.. Yeah. Right pal. Sure you could do it all in HTML/DOM/Javascript, but Jesus, I'd like to ship a product on time and on budget.

      Do you have *any* idea how much of a pain in the ass any kind of *serious* web development is? The minute you want to do something interesting, like oh, fire an event when the page is done loading, you are in a world of pain.

      No, I see the future as Flex & Silverlight. Both are basically really, really, really beefed up versions of Prototype/Scripalicious (or however google spell checks that for me) and jQuery. When properly used, all your javascript code does is act as a shim between the wild wild west of HTML/DOM and your nice, comfy stable runtimes.

      I predict within a year, we'll see many of the "rich" UI controls and "rich" interactions be migrated to Flex/Silverlight. Libraries like Prototype/jQuery will be more centered around acting as shims.

      "Web 2.0" companies that do not adopt Silverlight/Flex will not be able to remain competitive. Sure they might be able to crank out the same stuff a Silverlight/Flex shop will be able to, but their development costs will be 10x higher.

      No. Javascript/DOM is a dinosaur and the faster we can more to a better runtime stack on these great intertubes, the better we all will be.

    2. Re:XMLHttpRequest aught to be enough for anyone by IntlHarvester · · Score: 1

      Are you aware that people said the exact same thing about the future being Java applets, ActiveX controls and Flash?

      Every few years someone declares HTML to be obsolete and they're always wrong.

      --
      Business. Numbers. Money. People. Computer World.
    3. Re:XMLHttpRequest aught to be enough for anyone by Lord+Ender · · Score: 1

      I'm no opensource zealot, but I just can't see a $700 proprietary app platform like Adobe Flex ever replacing an open standard like HTML as the backbone of the web.

      Looking at some flex apps, it seems you can't even use extremely basic features like Ctrl-F to search through the text of the page! Flash has never been good at anything except web video.

      It's telling that Adobe's Flex showcase actually runs the opensource Drupal CMS.

      --
      A slashdotter who didn't build his own computer is like a Jedi who didn't build his own lightsaber.
    4. Re:XMLHttpRequest aught to be enough for anyone by JakeD409 · · Score: 1

      Personally, I share your distaste for "gee-whiz UI silliness". However, I believe a lot of that comes from our general proficiency with computers. The worse you are with a computer, the more help you need from your UI. Though the UI stuff is often buggy, the intention is to make the app more usable for the common person, not just to be pretty.

    5. Re:XMLHttpRequest aught to be enough for anyone by coryking · · Score: 1

      That is because you misunderstand what silverlight and flex are. The are *not* ment to replace HTML or the backend server. What they replace is 90% of the javascript *crap* that is required to do anything "web-appy". For example, Silverlight/Flex are perfect fits to replace the "hidden/show" control bar on the top of each slashdot comment page. The Silverlight/Flex app renders the control and either manipulates the DOM to redraw the comments or fires a javscript event so your javascript code does the DOM stuff instead.

      Take this textbox I'm typing in right now. All that javascript to do the preview/edit was probably a pain in the ass (and it still doesn't work right). Replace it with a Silverlight/Flex widget that does the hard stuff.

      Basically, Silverlight/Flex are great replacement and suppliment for any kind of widget or AJAX code that you've got now. At least on the Silverlight front, you can craft the control in a way that is almost a drop in replacement for the javascript widget you used to have. Best, since it speaks JSON, the server doesn't even need to know.

      Drupal CMS? I'm sure drupal has some kind of WYSIWYG editor like wordpress, right? Replace the javascript editor with a silverlight one. Marvel at how it Just Works and how easy it is to extend over TinyMCE or FCK editor (or whatever that one is).

    6. Re:XMLHttpRequest aught to be enough for anyone by coryking · · Score: 1

      None of those are the same. Java applets were slow and required a giant runtime. ActiveX was windows only. Flash was for video and Adobe's product suite is installed on designers computer, not developers.

      Flex and Silverlight are for developers. The are designed not for crazy animations (though they can be used that way) but as a way to replace the javascript *gunk* that makes web development so frustrating. They are server agnostic and (mostly) client agnostic.

      They are designed to enhance not only the user experience, but arguable more importantly, the developer experience.

      Play with them... once you see how nice it is to target a stable runtime that weaves oh-so-nicely into your existing applicaiton stack, you'll start thinking of all kinds of places you can replace javscript gunk with cleaner Silverlight/Flex code.

    7. Re:XMLHttpRequest aught to be enough for anyone by Lord+Ender · · Score: 1

      According to wikipedia, Flex is based on Flash. I would argue that slashdot's comment threshold control should not be loading flash apps, and shouldn't be doing that weird horizontal scroll thing. Simple html radio buttons would provide sufficient UI controls for selecting your viewing threshold. Many complaints people have with Javascript come from people overusing Javascript.

      I haven't looked much into Silverlight, but my understanding is that, like flash, it requires you install some proprietary software.

      So if your users need to install extra software to make your web apps work (breaking things like searchability in the process) it would seem that acheives the opposite of "it Just Works."

      If I am still misunderstanding Flex/Silverlight, please correct me. As a web app developer, I would be interested in tools that hide the complexity of HTML/Javascript, but NOT at the expense of forcing my users to install plugins like Flash.

      --
      A slashdotter who didn't build his own computer is like a Jedi who didn't build his own lightsaber.
    8. Re:XMLHttpRequest aught to be enough for anyone by coryking · · Score: 1

      Many complaints people have with Javascript come from people overusing Javascript.

      It isn't overuse. It is because they see the side-effects from how fucking hard it is to write robust code for web applications. At least for me, the javascript code I write tends to be very, very brittle when it is done "correctly".

      and shouldn't be doing that weird horizontal scroll thing

      I'm sure the developers are aware of this. I also bet they go home and kick their dogs every night because their *code* is correct, but thanks to some unknown bug in $RANDOM_BROWSER, it breaks for a good swath of their userbase. Bonus if it is on a platform they cannot easily test on. Some of these are so hard to track down you pretty much have to use remote access software and *interact* with your site on their computer.

      If I am still misunderstanding Flex/Silverlight, please correct me. As a web app developer, I would be interested in tools that hide the complexity of HTML/Javascript, but NOT at the expense of forcing my users to install plugins like Flash.

      Flash is like a 3 meg plugin that only needs to be installed once. It runs on all major platforms. It is required for Youtube and probably without it MySpace wouldn't work (but probably look a hell of a lot better ;-).

      Silverlight is a 3 meg runtime that can be installed without exiting the browser and can reload your page once it installs. Like Flash, once the user has it installed, it works everywhere.

      My hunch is, outside of the slashdot echo chamber, "real" users dont care about installing plugins. If the watched any of the olympics online, they've already got Silverlight 2 installed. Once a few websites out there offer a compelling reason to install it, everybody will have to install it to function, just like flash.

      But dont trust me... go play with silverlight or flex and get back to me. I was skeptical myself, but once I saw how easy it was to swap out complex bits of javascript with in my case silverlight, I started to realize it was exactly what we web dudes were looking for.

    9. Re:XMLHttpRequest aught to be enough for anyone by daemonburrito · · Score: 1

      [...] I started to realize it was exactly what we web dudes were looking for.

      This is the second time in the discussion (that I can tell) that you've made this appeal. Count me out. Silverlight is not what I am looking for.

      And while you're at it, stop this "Silverlight exists for developers" stuff. Silverlight exists to break the web and help Microsoft, afaict.

    10. Re:XMLHttpRequest aught to be enough for anyone by Lord+Ender · · Score: 1

      Flash does NOT work with 64bit Firefox on 64bit Linux, at least last time I checked. It doesn't work on some mobile phones, either.

      So AJAX done right will be more widely supported, and completely open, but it takes more effort to develop than Flex apps. OK that's a simple tradeoff if you don't mind vendor lock-in.

      You've convinced me to look at the Flex "Hello World" example:
      http://www.adobe.com/devnet/flex/quickstart/your_first_application/

      If it is really very much quicker than traditional AJAX development, I might consider the trade-off worth it.

      --
      A slashdotter who didn't build his own computer is like a Jedi who didn't build his own lightsaber.
    11. Re:XMLHttpRequest aught to be enough for anyone by coryking · · Score: 1

      It doesn't work on some mobile phones, either.

      Sadly, most of our fancy javascript won't work on those ones either. At least on my Razr, HTML is first massaged by some cell phone company proxy server leaving no javascript bits left.

      That said, if one are serious about targeting mobile phones, they probably are doing a separate site that is tailored for the constraints. This will probably change in a year or two with iPhones and Androids that can eat "real" HTML.

      BTW: I suspect, despite huge political pressure, Apple doesn't do flash yet because they dont want somebody to make a VoIP app that doesn't use the cell phone for calls, or streaming media app that cuts into iTunes downloads. Eventually they'll cave in, but not without a fight.

      If it is really very much quicker than traditional AJAX development, I might consider the trade-off worth it.

      Find a part of your website right now that has been a bitch to do in javascript and try replacing that. On my website, it is the interaction between TinyMCE and a plugin I wrote to handle how stories are composed on my sites. On Slashdot, that slider control would be a good bet. On Digg, I'd do the "thumbs up/thumbs down" for comment rating as a first start.

    12. Re:XMLHttpRequest aught to be enough for anyone by Lord+Ender · · Score: 1

      The apps I write use XMLHttpRequest and change the contents of div elements. This seems supported on Opera Mobile.

      It seems Flex 3.0 doesn't work unless you have the latest version of Flash. So not only does it break for certain Linux users, but also for people who don't update their plugins (example: my parents, who NEVER see the little yellow bar that says "click here to install").

      AJAX is definitely more widely supported, but for apps which are used internally to my company, I have don't have to worry about supporting oddball systems. If I can get this Flex app I'm working on right now to populate a table from a database when the user clicks a button, and it's not too hard, I really will give flex a go for the next internal app.......

      --
      A slashdotter who didn't build his own computer is like a Jedi who didn't build his own lightsaber.
    13. Re:XMLHttpRequest aught to be enough for anyone by DragonWriter · · Score: 1

      The combination of HTML's form controls and Javascript's XMLHttpRequest gives web app designers the power they need to implement 99% of applications as webapps with very little compromise vs. thick-client apps.

      For a ridiculously tolerant definition of "very little"; there is a reason that all kinds of new features like local storage to support webapps integrated into the browser are being added to support web apps, its because HTML form controls but XMLHttpRequest without a whole lot of other things that are only just starting to become available make 99% of applications absolutely horrible compared to thick client apps.

      Those new features will probably knock that percentage somewhere into the mid-80s.

      Yes, my percentages are completely made up, but no more than yours.

    14. Re:XMLHttpRequest aught to be enough for anyone by DarrylKegger · · Score: 1

      I have thoroughly read through this slashdot page and this coryking guy you are replying to has excreted about 20 comments, all pumping up flex and silverlight in authentic corporate toadie prose. Must be getting paid by the paragraph.

  15. Better than other "standards" by pubjames · · Score: 1

    Some things are standards by default. Like Microsoft Word format. So by comparison Javascript doesn't look so bad.

  16. lol wut by Alex+Belits · · Score: 2, Insightful

    1. The author is stupid.

    Language for client scripts is standardized not based on its convenience for web site developer. It has to be implemented in all clients, and all implementations have to provide clear separation of actions that happen within interface handled by this language's implementation, an anything that affect client platform's security. More things to implement means more incompatibilities and security holes, so standards have to limit the amount of things to implement and clearly provide limits to their functionality. Microsoft tried to break this principle with ActiveX use in its "web technologies", and ended up destroying compatibility and security even within its own product lines.

    2. "Model-view-controller" is a misnomer.

    Properly it should be called "model-view", there is no "controller". Internal representation of data the program operates on is the "model". Interface between program and everything outside provides "view". Program itself would exist regardless of someone calling it "controller" or not, because without a program nothing would be there to implement model, view, and their relationship, so their description would not be applicable to anything at all. No other term specifies both design principle and simultaneously treats the mechanism that implements it as a component of the principle -- it's not even apples and oranges, it's apples and Z axis.

    --
    Contrary to the popular belief, there indeed is no God.
    1. Re:lol wut by ultranova · · Score: 1

      Properly it should be called "model-view", there is no "controller". Internal representation of data the program operates on is the "model". Interface between program and everything outside provides "view". Program itself would exist regardless of someone calling it "controller" or not, because without a program nothing would be there to implement model, view, and their relationship, so their description would not be applicable to anything at all.

      Suppose you have a webstore. The "model" would be the data sitting on a database, the "view" would be your browser, and the "controller" would be the web server.

      --

      Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

    2. Re:lol wut by Alex+Belits · · Score: 1

      No.

      1. Web server plays no role in data processing, it's a part of interface that implements HTTP protocol, passes requests between backends and clients, and manages resources. In no way it implements data model or logic behind the scripts and backends.

      2. Database DOES NOT IMPLEMENT DATA MODEL OF THE APPLICATION. It implements persistent storage model of the application (described in SQL) that is not the same as data model -- a model that is usually more complex, and is implemented in a much more sophisticated language.

      3. "View" is presentation of interface over HTTP through HTML(and CSS/Javascript/...) pages and requests produced by those pages through forms and Javascript. What browser does with them is not a part of application running on the server, it's another application that operated on "view" and implements translation between HTTP and GUI. Scripts that it runs are supposed to be very limited in scope, and are treated as untrusted by everything outside of this GUI.

      I am sick and tired of people who develop their "software" while believing that they can have data model of their application identical to either GUI structure or database. They always get surprised when they discover fundamental incompatibility between those models and the very purpose of their application -- what is always the case unless the application is a phonebook.

      --
      Contrary to the popular belief, there indeed is no God.
  17. When the student is ready the master will appear ? by what+about · · Score: 1

    The web was invented right, HTML for documents, HTML forms for simple data entry and APPLETS/OBJECT for complex and "rich" content

    The problem is that not all developers look for the right tool for the job, they have a screwdriver and think how to adapt it to a wrench

    Of course the correct solution is to use the right tool, but, hey, this means learning something new !

    Having javascript doing what java/C# does is just reinventing the wheel, it can be done, someone will even be happy to slam Java once again but really it is just pain
    can you immagine having to support all the variations of javascript what will be coming out ?? even if you use google web toolkit the pain will be there in the form of something not working on some browser (with associated angry customer)

    I hope that the developers thinking "KISS" (Keep It Simple Stupid) are not too few and apart

    Yes, I know, the managers are the ones demanding the wirl, sliding, panning, fading, zooming, jarring, smearing... effects on a simple dataentry web page, I suppose is the Peter Law

  18. Bypass the eBrochure Model by Tablizer · · Score: 1

    The HTML browser model is currently an eBrochure model. If one wants to create CRUD screens (business forms and grids), you have to make the eBrochure model bend over backward to achieve it. To allow a more desk-top like feel, the widgets and screen need to be more state-ful. That is, if you issue the command "draw screen X", screen-X will stay there until you tell it to close screen X. (For security-related isolation, an MDI model can be used.)

    Further, we need a GUI interface language/standard that is more declarative. Current GUI techniques seem to tie the libraries to specific languages. We need to get away from that. The protocols cannot assume just Java-type inheritance or just Python-type polymorphism, etc. They need to find something that works well despite the paradigm and typing model of the application or scripting language used to process events. A movement away from the influences of ParcPlace-style MVC may be needed to pull it off. It's grown a bit long in the tooth.

  19. What is "Model-View-Controller" (MVC) by SplatMan_DK · · Score: 1

    Having used the Model-View-Controller (MVC) Design Pattern for years, I know that many people (even programmers) are not aware of what it actually is.

    I recommend skimming through Martin Fowlers excellent description.

    You can also get additional links to PHP, .NET, Ruby, Python and Java examples from the main Wiki article on MVC.

    If you have never heard about it (and many of you haven't), you are missing out on a great design pattern.

    - Jesper

    --
    My security clearance is so high I have to kill myself if I remember I have it...
  20. Oh please... by Anonymous Coward · · Score: 0

    So why JavaScript? Why not Python, or Lisp, or some other, new language designed with an alternative Web application development methodology in mind?

    GWT and Haxe compile to javascript, then there are solutions like hotRuby. Javascript is fine for what it is, Microsoft may want to push their CLR and fanbois their pet languange but I'll never be running these in my browser and ultimately feel there's nothing to be gained by reinventing the wheel.

  21. MVCVC by Doctor+Crumb · · Score: 1

    "Let the browser handle the View. Let the Controller exist somewhere else, independent of the presentation layer.'"

    Has the author ever actually developed a web app? Javascript may be doing things like fetching data and sorting lists, but I have never seen a real application that had sufficient non-display javascript to justify splitting it into a MVC pattern. Despite the fact that we have heavyweight JS frameworks like JQuery and mootools, those are still spending their time rendering the view.

  22. Oh quit worrying by Anonymous Coward · · Score: 0

    Does the name Silverlight mean anything to you??

  23. Since when is javascript only one language? by MarkusQ · · Score: 4, Insightful

    We standardized on one language?

    Cool. I must have missed that. Now I can strip out all that browser and version detection cruft and just code to the one standard language, right?

    --MarkusQ::sarcasm

    1. Re:Since when is javascript only one language? by dword · · Score: 1

      JavaScript is OK. I've already posted this and I will do it again. The problem lies within the implementation of the DOM and access to the DOM in web browsers. As a programming language JavaScript is incredibly powerful if you take your head out of your ass for a few minutes, forget about traditional OOP involving classes and look at prototypes.

    2. Re:Since when is javascript only one language? by Anonymous Coward · · Score: 0

      I can't think of a single case where I've had to add browser or version detection for a core JavaScript language difference. The huge problem is the incomplete and poor implementations of the DOM in some browsers *COUGH* IE *COUGH*

    3. Re:Since when is javascript only one language? by Anonymous Coward · · Score: 0

      Sure! But when you do that, I'm pretty sure it won't work on -any- browser in existence.

      From what little I used to look at with Javascript, even the "all-powerful" Gecko engine is pretty poor at being standard with it.

    4. Re:Since when is javascript only one language? by zobier · · Score: 1

      DOM != JavaScript

      Anyway, you should use object detection not browser detection.

      --
      Me lost me cookie at the disco.
    5. Re:Since when is javascript only one language? by timdown · · Score: 1

      JavaScript itself is pretty consistent between browsers. It's the DOM that varies so much.

  24. JavaScript Great! Need Standard DOM presentation by Anonymous Coward · · Score: 1, Insightful

    Javascript isn't the problem, it does a great job. The problem is all of the presentation differences between browsers. Having to code for every nuance in every browser makes things difficult. Show me a standard that insures that all of the browsers (IE, Firefox, Opera, Safari, etc.) display the DOM the same way and that is what I will back.

  25. Short Answer by CrazyTalk · · Score: 1

    Yes. Yes it was.

  26. End the web-apps by evilviper · · Score: 1

    I have a better idea. Give up the "web app" mentality all together.

    When you need to access your e-mail, load up an MTA. It works an order of magnitude faster, without maxing out your CPU to display a message. It requires an infinitesimal amount of bandwidth, and allows you to read and respond to e-mails even when you're nowhere near an internet connection.

    When I'm looking at several items, and want them sorted by popularity, I REALLY DON'T NEED to see an animated status bar show up to tell me that the page is being loaded. Come to think of it, I don't need that fancy menu, made up of hundreds of images. A plain old HTML listbox works better, and IMHO even looks better.

    If you have a break-through network application that's going to change the world... GREAT! Write an actual program that will merely communicate over the net. Not some hacked together Javascript that just barely works on a good day, on the right version of the right browser, with all the settings done by your CTO.

    Tell me... how would you feel if "whois" was implemented entirely as a web-app? Only way to get whois information was to load-up netsol.com, input an IP/URL and parse the output? It would sure suck, wouldn't it? Yet the trend of the week is to lock-up as many of our programs as possible just like that. And usability suffers dramatically. For all the complaints about Microsoft, I bet most people would be extremely happy with a slow computer if it wasn't for browsing with multiple tabs of unresponsive web-apps that max-out your CPU and RAM. Of course Mozilla and kin are partly to blame as well, but that's rather high hanging fruit when the root of the problem is glorified Visual Basic apps redone over again, even clunkier, in HTML.

    --
    Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
    1. Re:End the web-apps by Random+BedHead+Ed · · Score: 5, Insightful

      If you have a break-through network application that's going to change the world... GREAT! Write an actual program that will merely communicate over the net. Not some hacked together Javascript that just barely works on a good day, on the right version of the right browser, with all the settings done by your CTO.

      Relying upon non-web network programs is what we've been doing for decades. The result is that people use inflexible proprietary software that locks them to their propriety desktop platforms, and those platforms (and we're not naming any names here) have stagnated for years, there being no real competition to drive innovation at the OS level.

      The promise of these web apps is that it doesn't matter whether you buy a Thinkpad with Windows, a MacBook with OS X or an Asus netbook. In any case, online apps like Facebook and GMail work the same anywhere. It's not perfect, and you're right that there's a lot of entropy out there, but everyone can see by now that this is a move away from the Bad Old Days of "I need to be able to use Outlook and IE so I can't buy a Mac."

    2. Re:End the web-apps by coryking · · Score: 1

      load up an MTA

      I'm in a library. Which MTA do I use when I cannot install software?

      When I'm looking at several items, and want them sorted by popularity, I REALLY DON'T NEED to see an animated status bar show up to tell me that the page is being loaded.

      But what if you wanted to sort in descending order instead of ascending order? With javascript your browser can sort the list instantly instead of making another request and waiting a few seconds for a reply.

      Write an actual program that will merely communicate over the net

      For which OS/hardware? How does it install on a locked down machine at the airport?

      glorified Visual Basic apps

      VB only runs on Windows. The redone version runs anywhere. You are an idiot.

    3. Re:End the web-apps by dave420 · · Score: 1

      So we can fix this in two ways:

      1. Everyone stops using web apps
      2. You stop using web apps

      Considering option 1. will mean many people who actually like using web apps, and who use them to do work, will have to find some other way of working because evilviper doesn't approve of their preferred tools, I think option 2. might be better for everyone.

      You != every other motherfucker on this planet. Once you realise that, hopefully /. will be free of these "get off my lawn" bullshit "I am the universe" posts.

    4. Re:End the web-apps by DaveV1.0 · · Score: 1

      Your argument is bullshit. "Inflexible proprietary software" has nothing to do with "non-web network programs". Last I checked, the protocols that those "non-web network programs" use are open standards. You know: HTTP, SNMP, SMTP, IP, TCP, UDP. About the only thing that one can point to as being closed off is chat programs, but that is because there is not Simple Chat Transport Protocol. There is, however, IRC.

      And, from the looks of your last line, your post is an anti-MS screed in disguise.

      --
      There is no "-1 offended" or "-1 you don't agree with me" mod options for a reason.
    5. Re:End the web-apps by the+eric+conspiracy · · Score: 1

      I'm not particularly a fan of web apps, but I sure can understand why the IT guys love not having to install all these apps on their client machines.

    6. Re:End the web-apps by mweather · · Score: 1

      About the only thing that one can point to as being closed off is chat programs, but that is because there is not Simple Chat Transport Protocol.

      You mean Extensible Messaging and Presence Protocol?

    7. Re:End the web-apps by Anonymous Coward · · Score: 0

      I'm in a library. Which MTA do I use when I cannot install software?

      The one on your laptop or sub-notebook. Via the open wireless connection your library provides.

      But what if you wanted to sort in descending order instead of ascending order? With javascript your browser can sort the list instantly instead of making another request and waiting a few seconds for a reply.

      Your local MTA can sort it far faster than Javascript could ever hope to do.

      For which OS/hardware? How does it install on a locked down machine at the airport?

      No need to install anything, as your notebook has already everything you need.

      And if you, in this day and age, don't have a laptop and/or can't afford one, you have lost already. You're doing it wrong.

    8. Re:End the web-apps by Random+BedHead+Ed · · Score: 2, Insightful

      Your argument is bullshit.

      Ah, we're back at the playground. OK then: your argument is horse dookie. And you smell.

      And, from the looks of your last line, your post is an anti-MS screed in disguise.

      It isn't in disguise. And it isn't specific to MS. Reliance on these web apps is changing the market substantially. It just as easily means a Mac shop can tolerate a Vista box, whereas that was a harder sell in days past.

    9. Re:End the web-apps by godefroi · · Score: 1

      So wait. You don't like proprietary software that locks you into a single application, so instead, you propose that we use web-based proprietary software that locks you into a single application.

      Right.

      Just because the border around the gmail window can change with your browser preference doesn't mean gmail's purpose isn't to keep you in google's applications as long as possible.

      Furthermore, I kinda like that when I'm in outlook, I only see the sort of advertisements that I can *delete*. Also, Microsoft doesn't look through my outlook mail attempting to build a consumer profile of me. That's kinda a plus, I guess.

      --
      Karma: Poor (Mostly affected by lame karma-joke sigs)
    10. Re:End the web-apps by godefroi · · Score: 1

      Well, see, that's the whole point of the discussion here (at least, that was the point when I started it...). We have come to understand that applications delivered over the web in an architecture/os-neutral way can be very convenient in some situations.

      We have also come to realize that HTML/*script as a platform for accomplishing this on-demand internet-delivered os-neutral application paradigm is, well, lacking.

      We're trying to decide what can replace it. There seems to be general agreement that the current options (flash/silverlight/etc) are not compelling enough.

      --
      Karma: Poor (Mostly affected by lame karma-joke sigs)
    11. Re:End the web-apps by marcosdumay · · Score: 1

      You can have free applications on the client too, see, no need for web apps to solve that problem.

      Also, current web apps are an order of magnitude worse than current locked client side apps, they lock your data (in the 'you can't put your hands at it'), while client side apps just lock the format of the data, so you can still reverse engineer it.

      I said it on a previous post, but I'll repeat it here. If you have a licencing problem, go negotiate another licence (free or not). Migrating to the web won't solve the problem.

    12. Re:End the web-apps by Anonymous Coward · · Score: 0

      I don't see how "I need to be able to use IE because this site doesn't work in firefox" differs from "I need to be able to use Outlook and IE so I can't buy a Mac".

      Maybe in the old days there weren't many cross-platform toolkits. Now, you can write a completely cross-platform program if you stick to file access, network access and GUI. Basicly the same set provided by the "browser OS". I have written many small programs which work on multiple platforms without a line of change in the code (C++). Maybe you could also implement a JS toolkit portable across multiple platforms, but then where is the benefit of using a browser at all?

  27. Reasons why browsers are poor application runtimes by betterunixthanunix · · Score: 4, Informative
    1. HTTP is connectionless, but many applications don't make sense in a connectionless setting
    2. Client side privileges are difficult to control, and relying solely on the server for security is not always possible
    3. HTML/XML requests use more bandwidth than binary protocols, which strains slow connections (yes, some people still use dialup, especially mobile users, and here in America many mobile users still rely on 9.6kbps cell phone connections). *ML requests also include a lot of useless tags that describe the "document," even though it is really an RPC request.
    4. XMLHTTPRequest is not standardized across all browsers, and multiple copies of some sections of code must be sent, wasting even more bandwidth.

    Anyone who wishes to amend this list is welcome to. I'm *ML requests sure there are even more reasons, that I am just not thinking of at the moment.

    --
    Palm trees and 8
  28. I would think... by SirGarlon · · Score: 2, Interesting

    Now it's been what, almost 10 years since The Cathedral and the Bazaar, and we still have guys like this author telling us the Wisdom of the Enlightened Few should be dictating standards to us ignorant masses who are, well, doing all the productive work.

    I would think we'd be beyond that point by now.

    --
    [Sir Garlon] is the marvellest knight that is now living, for he destroyeth many good knights, for he goeth invisible.
  29. Re:Reasons why browsers are poor application runti by avandesande · · Score: 1

    You can poke holes in any programming environment, it doesn't make it a 'losing strategy'.

    --
    love is just extroverted narcissism
  30. Plug-Ins? by Underfoot · · Score: 1

    Did anyone else read this and think... doesn't this already exist in the form of plug-ins? Flash, QT, Silverlight, etc. They provide this "seperation from the browser for the scripting layer". Not that I'm a fan; I would much rather work natively in the browser with a well crafted javascript library.

    --
    I mentioned tinker-toys once in a post - now I'm modded down for life.
  31. AJAX is doomed by c0d3r · · Score: 1

    It is my opinion that AJAX is doomed, because all of these toolkits have come out that are essentially complex Javascript libraries that jump through hoops to work on all browsers. What happens when a new browser is released? What happens when an old browser is used? Its not like there is some company qualifying javascript interpreters to meet some standard so a toolkit can be written that will always work in all cases in the future. Its probably going to go back to a Java VM scenario, which is exactly what silverlight is - a minimal .NET VM. Flash/Actionscript (which is an ecmascript interpreter and library in a VM shows hope), but then they don't want to standardize on the ecmascript 4 that it is based on. I just find hopeless to try to write an AJAX application for the enterprise that will work on all browsers since the standardization of Javascript is such a cluster f*ck that we can't be certain whether a script is going to run on all browsers or not.

    1. Re:AJAX is doomed by maxume · · Score: 1

      The standardization is reasonable. The implementations of that standard are not. Mostly Jscript. Webkit and Mozilla are reasonably compatible; at this point, someone looking to compete with them would have less trouble matching their bugs than they would trying to get people to fix their javascript for a new browser.

      --
      Nerd rage is the funniest rage.
  32. When it's all said and done... by klondike · · Score: 4, Insightful

    ...you have reinvented X11

    1. Re:When it's all said and done... by Eli+Gottlieb · · Score: 1

      Please mod parent +5 insightful. I don't have mod points because I don't like to spend 3 days meta-moderating to get mod points for 5 minutes.

    2. Re:When it's all said and done... by godefroi · · Score: 1

      Wow, I never thought of it that way. You, sir, have my respect and admiration.

      --
      Karma: Poor (Mostly affected by lame karma-joke sigs)
    3. Re:When it's all said and done... by arethuza · · Score: 1

      Actually, more like NeWS except without the funky programming model (based on PostScript) and the cool graphics.

  33. It's for scripting, silly! by Pedrito · · Score: 2, Interesting

    I think the problem is the failure to distinguish a scripting language from an application development language. JavaScript is designed for the square hole of scripting. It shouldn't be mashed into the round hole of application development. Nothing lives in a vacuum. Different tools are used for different jobs. Look at any major web app and you'll probably find compiled code and scripting languages like JavaScript and maybe some Perl and maybe some other stuff.

    If you make all the tools do everything, then they'll all be cluttered masses of junk. If on the other hand, different tools perform different functions, then instead of using one cluttered mass of junk, you can uses several tools that each perform specific types of tasks that they're appropriate to, as it should be.

    Sure, it can be a pain in the butt to learn to use different tools, but it's far less of a pain in the butt than trying to maintain a big app written with a nasty language that tries to do more than it should.

    1. Re:It's for scripting, silly! by Anonymous Coward · · Score: 0

      I think the problem is the failure to distinguish a scripting language from an application development language.

      I thought the same thing. Adding some of the stuff the OP was talking about takes the focus off the main purpose of JavaScript, and probably brings about security issues and whatnot.

      I also found it funny that someone cited Flash as coming about due to the shortcomings of JavaScript, considering ActionScript is a ECMAscript implementation

      Anyway, I love JavaScript. Long live JavaScript

    2. Re:It's for scripting, silly! by Anonymous Coward · · Score: 0

      To summarize your post,

      "Surgeons do not use Swiss Army Knives".

      Nicely put.

  34. Was Standardizing On JavaScript a Mistake? by fartrader · · Score: 1

    > Was JavaScript a Mistake?

    There, fixed it for you.

    1. Re: Was Standardizing On JavaScript a Mistake? by Anonymous Coward · · Score: 0

      As a long-time developer of web apps, let me respond to this question simply:

      YES!!!

  35. Plugins get a bad rap. by argent · · Score: 2, Insightful

    I agree, plugins get a bad rap, but the biggest problem with plugins is that they are restricted to a little box in the browser window. What is needed is not a better Javascript, but a better way of doing plugins. What he's talking about, I think (correct me if I'm wrong), is this: let a web page have a Java component (for example) that doesn't run in a little box... but instead runs in the background and updates the page, hiding and showing components, triggering little bits of javascript glue, and generally doing the heavy lifting without having any graphical elements of its own...

    1. Re:Plugins get a bad rap. by dave420 · · Score: 1

      You can do that in Flash quite easily. AS3 has this ExternalInterface class that can communicate with JavaScript, which in turn can update the DOM. Ideally Flash would do it itself, but I guess for compatibility they made it work that way. You can make a 10x10 Flash movie that is only AS3 - it's invisible, loads in a few seconds, and can do all kinds of things, such as robust and fast XML handling, communication over the web, etc. It's interesting stuff. Then there's the alternative of having a flash app load in the entire window, which can be fantastically useful (though easily abused).

    2. Re:Plugins get a bad rap. by argent · · Score: 1

      You still have a flash "box" on the page... but in this case it's probably a good thing. You see, I've run into a few pages that use this, but I have flash disabled until I click on the box otherwise a page with many Flash plugins (and I've run into some with dozens of the things) more or less locks up my browser for minutes until they all start up.

      Also, isn't Actionscript another implementation of ECMAscript?

    3. Re:Plugins get a bad rap. by barius · · Score: 1

      It already exists in Firefox, with the use of XUL + XPCOM + XBL. You can do anything to the browser you want, and even call external binary libs to do heavy lifting if necessary. It is what ActiveX was promised to be, without the security issues and with far more power.

      I would kiss my own ass to see XUL become a popular standard for creating rich web apps. Consider Thunderbird, Sunbird, Songbird and other such products as examples of what can be done with this technology.

    4. Re:Plugins get a bad rap. by argent · · Score: 1

      It already exists in Firefox, with the use of XUL + XPCOM + XBL.

      XUL's scripting language is ECMAscript, though, yesno?

      The point of this is to have a plugin that implements a sandboxed programming language that is richer than ECMAscript and acts as the controller for the HTML+ECMAscript view in the browser.

      You could of course implement such a thing in a library called from XUL, but then that library is the component addressed here, and XUL is merely an implementation mechanism. And a browser-dependent one.

      Oh, and XUL is not really "what ActiveX was promised to be", because what ActiveX was promised to be can not be implemented. Even if you call it Silverlight and/or Moonlight. This is a good thing.

    5. Re:Plugins get a bad rap. by dave420 · · Score: 1

      I hear ya. And yeah, ActionScript 3 is ECMAscript-compliant. It's a pretty good language, actually. It's been tied in very nicely with the flash "MovieClip" paradigm.

  36. Mistakes? by LibertineR · · Score: 1
    Not after I built more than 40 web sites on standard ASP with VB Script.

    Not after I became a Fireworks god, because Photoshop wasnt supposed to be a 'web tool'.

    Dont you dare ask me about Alpha Channel support under IE 5-6.

    Mistakes,...I've had a few,.....and now I reach.....the...oh fuck it.

  37. In this case, the real question: is ECMA a mistake by expro · · Score: 4, Interesting

    Netscape went with ECMA early on and got good results standardizing Javascript. Since that time ECMA whole-sale sold out to Microsoft. Ask any normal party that has been involved and I think you will get the same answer. They are to be blamed for not only this Javascript failure, but for the whole OOXML fiasco. Microsoft went there with a single goal in mind: to block Javascript to allow their own .net-related standards to become relevant, which they get rubber-stamped through ECMA.

    To a lesser degree, W3C has also sold out to Microsoft in their efforts to sell SOAP, deemphasize all the web standards Microsoft does not want to be important so, for example, they don't have to waste effort competing in the browser wars when they think they should just forever be declared the winner without having to do anything that benefits the web in general.

    Should Javascript be the defacto standard on the web? Only in so far as it is useful. Like anything else on the web, if it ceases being useful, people will build a new path and do something else (whatwg, anyone?). But it is silly to call it useful or not useful based upon Microsoft/ECMA blocking the way. It sounds to me like there is some good work going on inspite of the monopolist blocade. I would hate to never see it come to light because of the many formal committees that sold out to Microsoft.

    I love competition and would love to see something an order of magnitude better take over and rule the day, but that should be based upon technical merit and competing against the current success, ubiquity, and any irreparable flaws of Javascript.

    I have every confidence that as ECMA continues to be paid to make good things irrelevant and bad things relevant, other standards organizations, which may start out being ad-hoc, will rise up to fill the void, and Microsoft will continue being irrelevant to those they do not own until they can really come up with something generally useful as a standard.

  38. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  39. A real way to include other javascript files.

    The "real" way is via the DOM.

    function include(url){
    var s = document.createElement("script");
    s.setAttribute("type", "text/javascript");
    s.setAttribute("src", url);
    var nodes = document.getElementsByTagName("*");
    var node = nodes[nodes.length -1].parentNode;
    node.appendChild(s);
    }

    A well defined way to say "The page is loaded, all your variables and objects are loaded, Time to execute!" rather then "You can only see the variables and objects that are defined 'above' you and not 'below' you in unloaded portions of the page".

    window.onload is the DOM event you're looking for.

  40. Standardization vs. invention by Hugonz · · Score: 1, Troll

    Had the work continued, McAllister argues, it could have ushered in an era of large-scale application development that would ensure the browser's ability to meet our evolving needs in the years ahead.

    This is simply a misconception. The idea that creativity can come out of a standards body is flawed. Individual coders and companies come up with the tools, the implementation and the interaction, and standard bodies later take notice... they cannot usher in their way out of a paper bag....

  41. Re:Reasons why browsers are poor application runti by betterunixthanunix · · Score: 4, Insightful

    Yes, but those "holes" are usually evident when you try to force an environment to do something that falls way outside of what it was designed for. HTTP is a connectionless, stateless protocol, by design. It makes a lot of sense for document retrieval. Forms make sense, even email front ends make sense. Instant messengers, word processors, spreadsheets, etc. make no sense in the context of document retrieval or exchange. We are going down a fundamentally misguided path when we try to force those applications onto the web. That was my point.

    --
    Palm trees and 8
  42. ECMA and ISO are pawns for large businesses by Locutus · · Score: 1

    so the development community should do what is right and forget what business interest(s) have done to manipulate those organizations committee projects.

    If MS-Office Open XML did not show you this then I would have no idea how else to make this so obvious.

    So the community should either just get it done on their own or find an organization which has not shown they can be bought and/or over run by business-only interests. IMO.

    The ECMA and ISO have outlived their usefulness.

    LoB

    --
    "Anyone who stands out in the middle of a road looks like roadkill to me." --Linus
  43. Was Standardizing On JavaScript a Mistake? by John+Hasler · · Score: 1

    Yes, as was standardizing on HTML. We should have used S-expressions, which would have led naturally to Lisp as the standard scripting language.

    --
    Warning: this article may contain humor, sarcasm, parody, and perhaps even irony. Read at your own risk.
  44. Got it wrong by maestroX · · Score: 1
    Javascript is the glue and the glitz for web apps.

    McAlister points out that Javascript is inept for maintaining large apps, with which I agree.

    The hours burnt at getting javascript right and maintainable are ridiculous compared to other modern languages.

    No alternative for frontend web programming, fine, but I'd never consider javascript for the backend.

  45. Uhh? by austin987 · · Score: 1

    Yes

  46. Re:Reasons why browsers are poor application runti by DamnStupidElf · · Score: 1

    1. Just treat HTTP as a message passing facility and build a connectionless layer on top of it when you need to.

    2. Client side privileges are *impossible* to control, period.

    3. Turn on gzip compression for server responses, and send your own requests compressed if you really care about it that much. Or simplify the requests.

    4. The semantics of "open" is not standardized across all operating systems. You may or may not have file locking, 64-bit offset support, long file name support, case insensitivity, extended attributes, ACLs, alternate data streams, or a host of other features. Welcome to programming.

  47. Re:Reasons why browsers are poor application runti by hypnagogue · · Score: 5, Interesting

    1. IP is connectionless, but somehow TCP works anyway. Session is a layer.
    2. Client side privileges are IMPOSSIBLE to control, relying on the server for security is mandatory.
    3. Bandwidth does not govern RPC performance -- service time does.
    4. The W3C is addressing XMLHTTPRequest standardization.

    --
    Liberty you never use is liberty you lose.
  48. The 1990s called and offered you a job. by jellomizer · · Score: 2, Informative

    1. By Many you mean 1% of the total applications excluding games written. Most frameworks for applications are this. Take Input process data produce output. Step one takes time so there is no need to keep a connection there. step 2 - 3 is done on the server. After you get the data you don't need the connection until the next input. Your way will have the server get overloaded much quicker then with Web Apps as it needs to keep connections until they quit.

    2. I have heard this argument before however I have NEVER in 10 years ever seen this to come across a situation where not relying solely on the server for security didn't work. The server controls what the client see and it also can filer or reject what the client asks. The only case I can think of preventing someone from printing your document... However this exists across all other apps where doing a screen shot and printing that works too.

    3. Most of the bandwidth used is not text data but binary information like pictures which take the most time. 9.6kbs is 1k a second. normally an complex page is about 10k so that is 10 seconds. But wait most browsers will render the html before it is completely downloaded so you can read input before it completes. Secondly most mobile users who use this speed are on phones that aren't designed well for the web and not recommended to for use of most apps. The iPhones and other smartphones more suitable for wireless web use a faster connection.

    4. The extra stuff will only take a fraction of a second.

    Techniques such as AJAX actually improve speed as it allows the server to handle smaller chunks and send it smaller chunks using the clients PC (which normally has a LOT of CPU Free to do most of the work) Covering the gap you mentioned in 1.

    --
    If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    1. Re:The 1990s called and offered you a job. by Eli+Gottlieb · · Score: 1

      But why should there be a server? We all have machines today that would be considered miracles only 10 years ago, but nothing besides gaming actually uses up a substantial fraction of that computing power.

    2. Re:The 1990s called and offered you a job. by gbjbaanb · · Score: 1

      sometimes you need asynchronous notifications back to the client - so you take input, send input, and then stop blocking for a response. When the response is ready, you want to be told about it. Current http tech forces you to poll, which isn't too efficient. If async notifications could be implemented, then the browser could replace all client applications completely.

    3. Re:The 1990s called and offered you a job. by jellomizer · · Score: 2, Informative

      Well...
      * Most applications we need to store information to be commonly shared.
      * Giving people access to install and update apps is stupid.
      * Having an IT Staff update every clients app for every small (but critical) change is expensive and time consuming.
      * Having multiple apps point to the same file is a BAD idea.
      * Syncing multible files can be troublesome,
      * Making sure the binary file is secure is much more difficult (text based passwords embedded in executables, names of servers/odbc even particular SQL calls are often readable and modifiable.
      * Diversity of hardware/software configuration which may cause random bugs.
      * Remote access.
      * Scaling the company up is easer.
      * Upgrade and New OS's are easier.
      * Usage monitoring.
      * Disaster Recovery
      * Easier DB Secuirty

      Most apps are not doing tons of calculations. Most of the speed loss is via IO.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    4. Re:The 1990s called and offered you a job. by jellomizer · · Score: 1

      Granted. However pulling while inefficient isn't that bad on the grand scheme of things if done correctly. As well using Ajax's A (for Asynchronous) you can get a server request to hold on until an update. Then when the update gets in you can update your data... Granted this looses the ability to get more connections. However for the particular sections it can work rather well.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    5. Re:The 1990s called and offered you a job. by Eli+Gottlieb · · Score: 1

      I recommend you look into technologies such as Sun NeWS and Plan 9. They were solving the problem of centralizing applications for maintenance/administration in application platforms long before there was a "web", let alone "web applications".

    6. Re:The 1990s called and offered you a job. by AKAImBatman · · Score: 1

      Sun NeWS and DHTML are nearly the exact same methodology. All that has changed is the document format and the controller language.

    7. Re:The 1990s called and offered you a job. by jellomizer · · Score: 1

      Where is the client that is default installed for major Operating Systems made in the past 10 years... I never stated that HTML is the only way to go. But for practical sakes of finding developers who can use the product from hire date, no extra client installs and configurations, and not stuck with a vendor. Web Apps are the way to go. Are there other ways sure. Remote X, Telnet, SSH... however HTML while may not be the best at anything is a good balance.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
  49. MVC? Again? by EddyPearson · · Score: 2, Interesting

    What is with this strange new breed of programmer who thinks that everything should be crammed into the MVC pattern?

    Sensibilities be damned, they're going to make it work like Ruby-On-Rails if it kills them. Why not look at the requirement and then decide on an established design pattern (if any!)? Don't go trying to change a language we're all very happy with just because your knowledge is limited to one paradigm.

    We should going back to designing things that work, not working things to a design.

    Javascript (well, ECMAScript) is actually quite powerful. True it lacks a few of the features you'd expect to see on common UI languages (multhreading anybody?), but you can't have a strop and fragment ECMAScript because of that.

    It is, by the way, a prototype-based language, so the sooner you stop deluding yourselves into thinking that you can code like it's OO, the better.

    If you want to complain about something, whine about the totally fucking USELESS Document Object Model (DOM) we're given to work with today, talk about the weakest link... If there's ANYTHING that needs a total overhaul on the web today, its the DOM.

    --
    You feel sleepy. Close your eyes. The opinions stated above are yours. You cannot imagine why you ever felt otherwise.
  50. Re:Reasons why browsers are poor application runti by Anonymous Coward · · Score: 1, Informative

    1. You mean stateless but that's been solved with sessions.

    2. Privileges must be controlled on the server. That's the only reasonably safe place to do it. If you don't have access to the server, don't expect the app to be secure.

    3. Enable gzip on the webserver.

    4. XMLHTTPRequest might not be an official standard but it is supported in all major browsers so it is a standard that way.

  51. I think that's been done. Anyone ever use it? by Animats · · Score: 1

    let a web page have a Java component (for example) that doesn't run in a little box... but instead runs in the background and updates the page

    I've never tried it, but there's "com.sun.java.browser.dom", which is supposed to let your applet access the browser's Document Object Model. In keeping with the applet security model, there are limits on what can be done to the DOM; I think access is read-only, although the documentation isn't clear.

    In typical Sun fashion, rather than having a basic API that works, this is tied in with "Project Metro" and "GlassFish", and is supposed to work with a Java applications server, so Sun can make some money on the server side. Try these JMaki examples, which correspond to simple AJAX applications but are implemented in Java.

    Java itself would be a good alternative to JavaScript. At least it scales up better. But Sun insists on burying the language under a mountain of mediocre and ever-changing libraries.

    1. Re:I think that's been done. Anyone ever use it? by argent · · Score: 1

      I've never tried it, but there's "com.sun.java.browser.dom", which is supposed to let your applet access the browser's Document Object Model. In keeping with the applet security model, there are limits on what can be done to the DOM; I think access is read-only, although the documentation isn't clear.

      Of course if it's readonly, there's no point to it. :(

      Java itself would be a good alternative to JavaScript. At least it scales up better. But Sun insists on burying the language under a mountain of mediocre and ever-changing libraries.

      Microsoft seems to be doing the same thing with .NET.

      I think there's some intention that Android will address the problem of poor Java libraries, but unfortunately that will also be tied to a platform.

  52. Ease of Use VS Power. by EddyPearson · · Score: 1

    As we all know, all manner of rich web applications can be created using ONLY XHTML and Javascript. So I must assume that the REAL problem this chap has is ease of use.

    Now I'm sure there's something to be said for that, and yes, it'd be nice if browsers could agree on an implementation and stick to it, but shit happens.

    However the when you start sacrificing power for ease of use, you'll eventually end up with RoR. At which point all the serious developers will tell you to piss off and you'll end up with a language good for doing about four things.

    --
    You feel sleepy. Close your eyes. The opinions stated above are yours. You cannot imagine why you ever felt otherwise.
  53. new language by Anonymous Coward · · Score: 0

    Take it for what its worth, but OO is a more prevalent model, than proto-type based languages or for that matter functional languages; we need an alternative.

    It would be easier to keep working with the same OO mind set, instead of switching back and fourth between javascript and your language of choice.

  54. Re:Reasons why browsers are poor application runti by metamatic · · Score: 1

    These days #3 is dealt with by using JSON, which has very little bloat over a binary protocol.

    --
    GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
  55. Re:Reasons why browsers are poor application runti by IntlHarvester · · Score: 1

    This post could be rewritten as "Reason browsers are the most popular runtimes"

    1. HTTP is connectionless, leading to much great scability and better ease of use
    2. Server-side security is much better than client-side and solves many problems with classic client-server architectures
    3. HTML/XML requests are much easier to create and use than binary protocols (which were poorly standardized)
    4. Innovations like XMLHTTPRequest have improved the browser experience far beyond originally envisioned
    --
    Business. Numbers. Money. People. Computer World.
  56. Re:Reasons why browsers are poor application runti by Anonymous Coward · · Score: 1, Insightful

    Reason why users like web apps even though they kind of suck: can go from computer to computer and still get your stuff. Not limited to a particular OS or browser.

  57. Re:In this case, the real question: is ECMA a mist by street+struttin' · · Score: 1

    Ad hoc standards? Interesting. If we can open source the code, and have an open standard, both of which are made up of volunteers' work, maybe we should open the standards bodies, as well? It's an interesting thought that if a standards body were to become corrupt, you could fork it and keep on truckin'.... :)

  58. Questions from a total non-programmer by Colonel+Korn · · Score: 1

    1) Why are languages like Java used for web applications when they are used for not many local applications?

    2) Why is every web app, after loading fully, very sluggish in my experience? Is the Java(script) inherently slow or do people just implement it poorly?

    --
    "I zero-index my hamsters" - Willtor (147206)
    1. Re:Questions from a total non-programmer by Blakey+Rat · · Score: 1

      Javascript is not Java. At all. Not one bit. It has an extremely misleading name. (Actually, it's real name is ECMAScript, but Netscape called it Javascript and it stuck. Sadly. Microsoft calls it JScript.)

      Anyway, Javascript is inherently super-fast, but DOM changes can be inherently slow. If you benchmarked a pure computing task, Javascript would compare very favorably to other scripting languages. But since Javascript on the web usually does more DOM element shuffling than actual computation, it can be slowed down by that.

      There's also the possibility it's implemented poorly. I've seen frameworks-upon-frameworks, so many that the simpliest task (like populating a slideshow) are agonizingly slow. For example, grab a stopwatch and see how long it takes this site to populate the list of clips in the slideshow: http://abc.go.com/primetime/dancingwiththestars/index?pn=index That's not JS, that's ABC's crummy web developers.

    2. Re:Questions from a total non-programmer by Kz · · Score: 1

      1) Why are languages like Java used for web applications when they are used for not many local applications?

      a) mindshare.
      b) libraries. Java GUI libraries are bad. not just not nice; bad, really bad (compare with nice ones like Qt, PowerPlant, wx, etc). the first implementations were also buggy and dog-slow, that's solved now (i think); but the bad taste remains, and today it's not first choice for almost anybody that need a GUI.

      2) Why is every web app, after loading fully, very sluggish in my experience? Is the Java(script) inherently slow or do people just implement it poorly?

      first, let me repeat that Java and JavaScript doesn't have anything in common, except the first four letters of their name.

      now, JavaScript is usually slow because it's poorly implemented (only recently we're getting the first bytecode VMs and JITs); but also because some language definitions are not easily optimizable.

      i'm not talking about type strictness, or dynamic (very) late binding. (take a look at Lua to see a beautiful language with similar ideas but far faster than most scripting languages. (Lua vs. Python, LuaJIT vs. Python+Psyco)). There are some nasty details about hash table references, and lack of proper lexical scoping that make an optimizer's work a lot harder.

      also, using HTML+DOM for a GUI is a huge performance drag.

      --
      -Kz-
    3. Re:Questions from a total non-programmer by Colonel+Korn · · Score: 1

      Great answer, thanks! I knew that Java and Javascript weren't functionally similar, but the impression I've had since their inception was that Java was supposed to be the powerful, fast language, while javascript was only suitable for running a few lines of code for, say, running something locally via an insecure web browser.

      Also you get a point for mentioning .lua, which I know on a very basic level from making WoW UI mods.

      --
      "I zero-index my hamsters" - Willtor (147206)
    4. Re:Questions from a total non-programmer by Kz · · Score: 1

      I knew that Java and Javascript weren't functionally similar, but the impression I've had since their inception was that Java was supposed to be the powerful, fast language, while javascript was only suitable for running a few lines of code for, say, running something locally via an insecure web browser.

      Java and JavaScript were implemented roughly at the same time by two different teams on different companies (Sun and Netscape), i don't think either knew about the other. At the end JavaScript was renamed to make it 'hip', since Java was all the rage, and Sun allowed that in exchange of getting Java included in the browser.

      IOW, there wasn't any "this is for that, that other is for this". both languages were trying to take over the world; but being engineers, they knew that no language can be all things to all people, and choice is good

      --
      -Kz-
  59. Since when is does sarcasm justify verbal abuse? by MarkusQ · · Score: 1

    JavaScript is OK...As a programming language JavaScript is incredibly powerful...

    Agreed. I'd actually call it a great language, in the abstract. I was poking fun at the implementations, many of which aren't so hot.

    ...if you take your head out of your ass for a few minutes, forget about traditional OOP involving classes and look at prototypes.

    Whoa. Where the heck did that come from? As someone who started OOP with Simula in the '70s, and has actually implemented several OOP languages, including one that was prototype based and one that was method pattern based (sort of like CLOS, but not as ambitious) I'd say you were way out of line with that remark.

    Don't automatically assume that you know more than everyone you meet on line, you'll just wind up looking like a jerk.

    --MarkusQ

  60. Mistake? Not. by Zermatt+Chris · · Score: 1

    The Javascript from a few years ago is gone (even though the actual language hasn't changed much).

    There are some very slick applications being written in .js these days, and the trend is accelerating due to the rapidly improving quality of both Javascript frameworks and the browsers themselves...

    Not convinced?

    Take a look at qooxdoo: http://demo.qooxdoo.org/devel/demobrowser/

    -Chris

    1. Re:Mistake? Not. by Anonymous Coward · · Score: 0

      Wow! Just wow. Every click takes seconds of CPU time. Closing the window takes at least 2 solid minutes of CPU time. It must have taken lots of clever engineering to make my 2GHz machine seem as slow as an IBM XT.

      dom

  61. Re:Reasons why browsers are poor application runti by ultranova · · Score: 1

    HTTP is connectionless, but many applications don't make sense in a connectionless setting

    Internet is connectionless. It is based on exchange of data packets. If you need connections, you have to emulate them over the underlying packet protocol; the only question is whether you do this on OS (TCP/IP) or application (session id's) level. Both work.

    Client side privileges are difficult to control, and relying solely on the server for security is not always possible

    Relying on a client for security is unbelievably stupid when that client is running on the machine possessed, owned and operated by the very entity the security is directed against. You either implement security in the server or not at all.

    HTML/XML requests use more bandwidth than binary protocols, which strains slow connections (yes, some people still use dialup, especially mobile users, and here in America many mobile users still rely on 9.6kbps cell phone connections). *ML requests also include a lot of useless tags that describe the "document," even though it is really an RPC request.

    How likely do you think those cellphones would support the new, non-browser webapp client ? Which, in all likelihood, would be geared towards presenting lots and lots and lots of graphics and animations, in the exact layout the graphics designer intended and damn the different resolutions ?

    XMLHTTPRequest is not standardized across all browsers, and multiple copies of some sections of code must be sent, wasting even more bandwidth.

    True. However, if you add a new contender, and it starts gaining popularity, Microsoft will simply publish their own, slightly incompatible client in an attempt to get lockdown, which will return us to the current situation.

    --

    Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

  62. HTML is designed for rendering documents... by Anik315 · · Score: 1

    I agree. HTML is good at rendering documents, not advanced 2D or 3D graphics which is what people seem to want on the web on the web right now. You might be able do this with ECMA Script + HTML5, but you might as well shove a watermelon down a garbage disposal.

    If you want graphics on the web, just combine ECMA Script with a runtime environment desgined for rendering graphics. No surprise, this exists in the form of Flash. The only problem with using Flash as the 'view' for web applications is that it isn't very well integrated with DOM. Flash also isn't fast enough yet to do advanced 3D graphics very well yet, but this should change with the next generation.

    Standardizing ECMA Script was not a bad idea, but standardzing the ECMA Script 4 draft specification used for Action Script 2 would be a bad idea since it would take the crux of a commercial technology and make into a web standard.

    Just because it's not an ECMA standard, however, doesn't mean the technology can't be used by people other than Adobe. If Microsoft or Mozilla want to roll out commercial browsers with an OpenGL style implementations the ES4 draft spec, no one is stopping them.

    1. Re:HTML is designed for rendering documents... by Blakey+Rat · · Score: 1

      I'm not even talking about graphics (although that's another good example for the crappyness of DOM).

      I'm just talking about widgets. For the widgets HTML/DOM does include, there's only a small percentage of the control a OS-native app has. And there are a million widgets HTML/DOM doesn't include at all-- progress bars, grid view, disclosure triangles, scrollbars with a 'lock' or 'split' function, etc.

      Sure you can hack these together with tons of JS and by mis-using DIVs, but why should you have to? They come by default in any other development environment.

  63. Re:Since when is does sarcasm justify verbal abuse by Anonymous Coward · · Score: 0

    That wasn't directed at you. It was a general "you" directed to those who complain about the lack of features such as inheritance.

  64. What a novel idea... by psykocrime · · Score: 2, Insightful

    You mean we could - theoretically - use browsers for what they were meant for (browsing hypermedia) and NOT try to turn the browser into the all-in-one universal application delivery platform????

    BRILLIANT!

    I'd like to hear more about your ideas, please subscribe me to your newsletter.

    --
    // TODO: Insert Cool Sig
  65. Inconsistency by tepples · · Score: 1

    The HTML DOM is the view, the Browser is the Controller, the Model is implemented in Javascript, and the server would be a source of data.

    You have to implement some of the model on the server too. Otherwise, it will become possible to make the data inconsistent. In addition, you may have to make the data accessible to user agents that do not implement script.

  66. Re:Reasons why browsers are poor application runti by moderatorrater · · Score: 1

    Client side privileges are difficult to control, and relying solely on the server for security is not always possible

    Bullshit. Client side priveleges are impossible to control, as someone else said. Just ask the RIAA or MPAA is you can control the way someone uses their own computer.

    As for why servers can't control security, I ask you why not? Everything that takes place between computers takes place on the server. All of the code that actually processes and stores the request happens on the server. What access would you like to control in an application that you can't control on the server?

  67. Re:Reasons why browsers are poor application runti by Serious+Callers+Only · · Score: 1

    1. This is a feature, not a bug - stateless connections force you to push the state elsewhere (database,client) and allow you to scale easier to large user bases
    2. As a user, I like having control over the client side thanks
    3. mod_deflate
    4. Not a fundamental flaw, and something that could easily be addressed if certain browser makers didn't want to strangle the web

    There are certainly some applications where web servers are not well suited like real-time video editing, but the success of the web has partly been due to these deficiencies that you point out (stateless, anarchic). In fact I think you'll see it encroach more and more on traditionally desktop areas - already many help documents, most email, and many online shopping activities are done via the browser.

    Anything involving fetching/editing/sharing discrete resources is well suited to the web and the strictures it imposes. That includes most of what we consider to be natural desktop applications today.

  68. Re:Reasons why browsers are poor application runti by Anonymous Coward · · Score: 0

    Please stop saying HTTP is connectionless, it is not. It is only stateless.

  69. Re:Reasons why browsers are poor application runti by tepples · · Score: 2, Insightful

    We are going down a fundamentally misguided path when we try to force those applications onto the web. That was my point.

    Then what should we use instead of the web to instantly deploy these applications to end users?

  70. Disadvantages of native apps by tepples · · Score: 1

    Ever heard of this little thing called "native applications running on your computer"?

    Ever heard of this little thing called "not owning the computer you use therefore not having privileges to install native applications"? What about "owning a Dell PC running Ubuntu when the developer uses a Mac running Mac OS X"?

    1. Re:Disadvantages of native apps by Eli+Gottlieb · · Score: 1

      1) We have networked window systems for people who don't own their own computers. I mean it. The technology to do that right was available 20 years ago, but everyone preferred the "openness" and cheapness of X11.

      2) Writing a portable native app is no harder than writing a portable web app, but it produces better results.

  71. wrong operating assumption by circletimessquare · · Score: 1

    you are asking the question "what is the best way to build applications on the internet?"

    you should be asking the question "how can i do {xyz} without needing an application at all?"

    Browsers are great for online brochures, and terrible for anything more complicated than that.

    you are 100% correct. but in that observation of yours is not the weakness of the internet, but the reason the internet is as popular as it is, its strength: anyone can get on there and build something. low barrier to entry. thats why it so popular

    you assume the internet exists so that developers can write applications easily in their ivory towers of clean and robust code. wrong. the internet exists so joe shmoe in his rec room pc can paste something up there in mangled html without closing tags

    in other words, get used to the tower of babel. it rankles that wing of the developer community which is extremely anal retentive. now, being very anal retentive is a very useful skill when being a programmer. but its not a very useful tool for figuring out why the world is as messy at is

    so let me explain it to you one more time: sure, you can build some sort of application interface that you infer is the "superior" way to go in your comment above, but this will be an esoteric niche development environment not many people familiarize themselves with, while everyone else keeps cranking out html. such that, when it comes time to finally build a large complicated application, the developers will be catering to the most popular environment in the house, the html one, even though they would have a much easier time of it in your specialized environment. your "superior" interface will remain dusty and forgotten and unused

    repeat after me: low barrier to entry is a more important consideration than writing clean code

    low barrier to entry creates popularity. popularity establishes dominance. domainance dictates the environment in which you code. that's why

    --
    intellectual property law is philosophically incoherent. it is your moral duty to ignore it or sabotage it
  72. Re:Reasons why browsers are poor application runti by Gulthek · · Score: 1

    A new application-serving (rather than text-serving) Internet protocol.

    You know how FTP, email, and the web are all different types of Internet connections? Yes? Ok! Now imagine an Application-Web designed from the ground up for serving applications.

  73. Javascript language concepts by MobyDisk · · Score: 4, Interesting

    Upon a cursory glance, Javascript seems like a good language. It takes elements from some of the most popular and well-known languages (C,C++,Java) and makes it into something appropriate for scripting. But with experience, I've found that Javascript really only borrowed the most trivial features of those languages, and forgot everything we learned about computer science in the last 20 years.

    The most awful example is the concept of "undefined." Javascript is the only language I know of where it is legal to say:

    if (MyObject.NonExistantVariable == 7)
    { // Do some work
    }

    (BTW: This expression returns false)

    That is the source of most Javascript errors in a large project. A property was removed, a variable renamed, or misspelled, or never initialized. The value of the non-existant variable is "undefined" which is the bane of Javascript. There's even a special === operator for specifically comparing to undefined! And people thought NULL was bad!

    It gets worse because Javascript is a glue language between other things like the HTML DOM or XML/SOAP/JSON so those object definitions can change at any time, and you won't know it broke your Javascript until you hit the right line of code in the right order.

    Javascript is a language with totally dynamic typing and scoping. So it is impossible to compile, or type check. Even most scripty languages like PERL can detect more errors at load-time of the file than can be detected in Javascript.

    1. Re:Javascript language concepts by ahabswhale · · Score: 1

      I agree with most of what you said. However, I don't have an issue with dynamic typing generally speaking. Any problems that dynamic typing can have can be solved with unit testing. Of course, there's almost zero unit testing done for Javascript.

      I will also add, that I don't like prototyping as a concept and prefer OO over it. I find it very unfortunate that Javascript is essentially your only choice for in-browser execution languages. Unfortunately, that will likely not change for many years to come.

      --
      Are agnostics skeptical of unicorns too?
    2. Re:Javascript language concepts by Anonymous Coward · · Score: 1, Informative

      Really? You've never developed in PHP, Perl, Python or any other language that does autovivification?

    3. Re:Javascript language concepts by MobyDisk · · Score: 1

      You are right about unit testing in both respects - unit testing solves this problem (somewhat) and it is also hard to do with Javascript. :( If you can make a unit testing framework for

      How are prototyping and OO mutually exclusive concepts? I've written lots of prototypes, and most of them were OO.

    4. Re:Javascript language concepts by againjj · · Score: 2, Informative
    5. Re:Javascript language concepts by ahabswhale · · Score: 1

      For something to be OO, it has to support inheritance. Prototyping is more like making copies of something and then adding some stuff on. You might view it as a semantic difference but it does effect design of the code.

      --
      Are agnostics skeptical of unicorns too?
    6. Re:Javascript language concepts by fredrik70 · · Score: 2, Informative
      --
      if (!signature) { throw std::runtime_error("No sig!"); }
    7. Re:Javascript language concepts by lennier · · Score: 2, Informative

      "I will also add, that I don't like prototyping as a concept and prefer OO over it. "

      Huh? That makes no sense. Prototyping *is* OO. What it is not is *class-based* OO. It's in fact a much more flexible and natural way of doing OO and allows for better modelling of real-world situations.

      The point of prototype-based OO is that you don't have two separate entities for 'class' and 'object': you only have one, and then you have the 'prototype' relation which is runtime-assignable to implement inheritance. Logically, this means you have much cleaner semantics (you don't need, ie, a meta-object protocol to define what kind of object a 'class' is); pragmatically, if you do it right, it means you can *change the class of an object at runtime*, which is in fact something that happens in The Real World.

      (A Person starts out as a Baby, becomes a Child, then an Adult, all over the lifecycle of one object. Try doing *that* in Java with fixed class hierarchies. That's a bug in the Platonic idea of immutable 'classes', not a bug in the Real World.)

      The other case where prototype OO rocks the house is where you have a heavily data-driven model with lots of singleton objects. In prototype OO, there's nothing at all weird about putting special-purpose methods or slots onto instance objects - in class-based OO, methods can only be put on classes, and instance objects can't have special-case slots at all.

      Where this is a *huge* win is in GUI code, where you have all these special-case object instances representing widgets *with bound events*.

      If you can't put method code directly on your instance objects, then you have to go through hideous convolutions of method calls on the class to simulate this by passing it as data. But with prototype OO, you can just put the code right where it needs to be, tweak the instance exactly how it needs to be tweaked, and it just works.

      To really make this work you also need to have a language that allows the code you put on instance methods to also be special-cased in the same way; in other words, it needs to support the concept of *closures*. IE, the sweet spot for GUI development is a language that combines functional and prototype OO features. Javascript does this, and that's why it wins in the UI game.

      --
      You are not a brain: http://books.google.com/books?id=2oV61CeDx-YC
    8. Re:Javascript language concepts by lennier · · Score: 2, Interesting

      Followup note: the reason why this is a big deal is that there is actually an unexamined problem in the whole definition of OO, in that *functions need to be objects in their own right* and they currently aren't - even prototype OO still has two fundamental entities, 'objects' and 'functions'. So many OO languages just don't grasp the concept that you could assign functions as values to slots at runtime. Prototype OO with functional features does, but it only takes that concept so far. There's still a lot of manual 'glue code' needed to build a GUI; ideally, you should be able to describe a set of widgets and bound events purely as a data structure and let the system figure out what if any 'code' needs to be generated. Dataflow engines like Flapjax are taking the next step in that direction; there's still a few more needed to completely close the loop and get to a really humane programming environment.

      But that's a story for another day.

      --
      You are not a brain: http://books.google.com/books?id=2oV61CeDx-YC
    9. Re:Javascript language concepts by lennier · · Score: 1

      "For something to be OO, it has to support inheritance. Prototyping is more like making copies of something and then adding some stuff on."

      Sorry, wrong. That's one definition of "prototyping" but it's not the type used by Javascript (or the nicer prototype OO language Lua).

      You *do* have inheritance in Javascript. The 'Prototype' property is looked up dynamically and acts just like a class in a class-based language.

      --
      You are not a brain: http://books.google.com/books?id=2oV61CeDx-YC
    10. Re:Javascript language concepts by ahabswhale · · Score: 1

      We're gonna have to agree to disagree. Prototyping is NOT OO even though Wikipedia refers to it as "a style of object-oriented programming". It fundamentally changes the way you archetect your code (unless you have no clue what you're doing with javascript). OO languages from the very start (Simula) has been CLASS based. Period, end of story. As for the limitations you feel this lends to architecture, I suggest you look at other dynamic languages like Groovy or Ruby. They can do everything you described in a far more elegant manner IMHO.

      --
      Are agnostics skeptical of unicorns too?
    11. Re:Javascript language concepts by Phroggy · · Score: 2, Informative

      The most awful example is the concept of "undefined." Javascript is the only language I know of where it is legal to say:

      Perl will let you do that, although the warnings pragma will remind you "Use of uninitialized value in numeric eq (==)". But in Perl, you test whether or not something is defined with defined(), or whether a hash key exists with exists(), so you don't need a crazy === operator.

      --
      $x='S24;r)>63/* h@<5+oZ)32"5cz';$me='phroggy'x$];
      $x=~y+ -xz+\0-Tx+;print$_^chop$me for split'',$x;
    12. Re:Javascript language concepts by Anonymous Coward · · Score: 0

      Since you asked... The following is pseudocode, and should be understood to be held in separate Java files. The final main would be separate also.

      public abstract class Person {

              abstract String stateYourAge();

      }

      public class Baby extends Person {

              public String stateYourAge(){

                      return("I'm a wee little baby!");

              }

      }

      public class Child extends Person {

              public String stateYourAge(){

                      return("I'm a little kid.");

              }

      }

      public class Adult extends Person {

              public String stateYourAge(){

                      return("I'm all grown up.");

              }

      }

      public static void main(){

              Person myself;

              myself = new Baby();
              system.out.println(myself.stateYourAge());

              myself = new Child();
              system.out.println(myself.stateYourAge());

              myself = new Adult();
              system.out.println(myself.stateYourAge());

      }

      NOTE: Of course, in real life, you'd have some way to merge and update data as the person grows, which is very easy to implement.

      As long as you have a common interface (here set by the abstract base class) this sort of thing is EASY.

      Tsk... Learn Java! THEN complain about it!

       

    13. Re:Javascript language concepts by Anonymous Coward · · Score: 0

      Your problem is, you've got Religion.

      You state that "functions need to be objects in their own right" without giving any reason why this should be so -- because your professor told you so, or a book said so, and you don't even feel the need to question it. Then you go on to make silly assertions about "problems" with OO languages, and how they "just don't get it". This is Religion with a capital "R". Do you really think -- REALLY??? -- that the brilliant men who built Java and C++ haven't thought of your little idea? Do you really think the reason they didn't implement it was a lack of understanding??? What hubris!!!

      Why should functions be objects? Why not merely contain them IN objects along with variables, as we currently do? If you want alternate functions to be called depending on one or another circumstance, that's what the if/then/else is for. If you want functions to be able to grow and change over time, that's what OOP is for (inheritance and polymorphism, look it up).

      You overlook all this and state your personal Creed for us, without justifying it. You sound like a comp.sci sophomore, complete with the idol-worship of your T.A. and his thesis.

      The truth is, some guy out there (maybe your T.A!) decided it would be neat-o if he could treat functions as objects, and worked up some sort of paper on it, it caught on a little, and you like it too, so you're drinking the Kool-Aid and repeating it as though it were Gospel.

      It's one way to handle the problem, not the only way, and not even the currently commonplace way.

      Religion makes you look like a zealot and a novice one at that. Don't go there.

    14. Re:Javascript language concepts by shalmaneser1 · · Score: 1

      you make a lot of good points while i'm a little off topic here .... the fault in the Baby/Adult modeling problem under oop lies mainly with programmers who think of classes solely as Nouns. if you model behavior with classes -- a *much* more generic "Person" that contains a "Move" object -- then that Person can be parametrized differently at each stage of its lifetime. that same style of coding may happen more naturally in a prototype language but it is possible in oop.

  74. If your customers can't install the Java player by tepples · · Score: 1

    just make a web page that contain nothing but a Java applet that connects back to your server. See http://www.mudmagic.com/java-client/ for example.

    This breaks for customers who use any of several non-PC platforms such as Wii and iPod Touch/iPhone. Neither has a JVM. Compare the number of angry customers who use an obscure setup for which your JavaScript code breaks to the number of angry customers you'll get when Java applets don't work at all on several common setups.

    1. Re:If your customers can't install the Java player by ultranova · · Score: 3, Insightful

      This breaks for customers who use any of several non-PC platforms such as Wii and iPod Touch/iPhone. Neither has a JVM.

      The premise of this discussion was the need to design something completely new, which would replace HTTP and HTML in order to support easier to develop Web apps. Do you think that these platforms would have that something, if it doesn't have even something as common as the JVM ?

      Compare the number of angry customers who use an obscure setup for which your JavaScript code breaks to the number of angry customers you'll get when Java applets don't work at all on several common setups.

      I'd imagine it would still pale in comparison to people who wouldn't have Brave New Browser.

      --

      Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

  75. Then what is for application development? by tepples · · Score: 1

    JavaScript is designed for the square hole of scripting. It shouldn't be mashed into the round hole of application development.

    What application development language and deployment method do you recommend for applications that can be deployed from a web site to end users, even if the end users are not the administrator of the computer that they happen to be using?

    1. Re:Then what is for application development? by dgun · · Score: 1

      What application development language and deployment method do you recommend for applications that can be deployed from a web site to end users, even if the end users are not the administrator of the computer that they happen to be using?

      There use to be this thing called applets. I like Java applets, but apparently there are only a few of us left.

      But we need a client side scripting language, don't we? I mean, something has to fill that niche. Personally, I like JavaScript.

      --
      FAQs are evil.
    2. Re:Then what is for application development? by tepples · · Score: 1

      There use to be this thing called applets.

      Internet Channel on Wii doesn't run them. More importantly, iPhone doesn't run them. And a lot of people get annoyed when they have to wait for the Java virtual machine to start up when they first visit a page containing an applet during a browsing session.

    3. Re:Then what is for application development? by dgun · · Score: 1

      Internet Channel on Wii doesn't run them.

      Wii is stupid.

      More importantly, iPhone doesn't run them.

      iPhone is even more stupid.

      And a lot of people get annoyed when they have to wait for the Java virtual machine to start up when they first visit a page containing an applet during a browsing session.

      People are stupid.

      Ok, so that's my trolling for the day.

      --
      FAQs are evil.
  76. Seems to be written by a clueless "Architect" by cyberjessy · · Score: 1

    underlying client-side logic... the browser handle the View.... Controller exist somewhere else.... independent of the presentation layer.

    I have to listen to this architectural BS two hours every day at work, you insensitive clod!

    Joke aside, I read TFA - it is naive.
    Like, An external browser module capable of executing most of the proposed ECMAScript 4 specification already exists: It's the Adobe Flash plug-in. Other platforms are available as plug-ins, as well, including Curl and REBOL.

    So, you mean build the site with flash? Btw, Curl and REBOL - what are you smoking! If the browser capabilities are so unpredictable, which baseline do I target? How many assumptions can I make?

    But if sticking to a single way of doing things is what we want, .... at thousands of enterprises worldwide, right now. It's called Lotus Notes.

    God.

    --
    Life is just a conviction.
  77. Chicken and egg by tepples · · Score: 1

    Now imagine an Application-Web designed from the ground up for serving applications.

    So how would you recommend to deploy this Application-Web browser to end users?

  78. This page best viewed in.... by morgauo · · Score: 1

    Great! First we had browsers which never could quite follow the HTML standard in the same way. Then we get Flash for Windows and Mac with second class Linux support, no chance of support on any other emerging desktop platform and embedded support that doesn't seem to acutally do anything. (Ever seen flash for Windows Mobile actually render something?). Now we have silverlight, and if this guy has his way...

    I can't wait to have to install Microsoft Python to get website A to work which breaks Website B because it conflicts with Mozilla Python Browser Plugin while Website C is still waiting for a decent version of Adobe C# plugin to be released on Linux and Yet another website requires D# which requires F# which circularly depends on D#...

    And that's on the user's end, can't wait to deal with these issues as a developer!

    Please, XML, CSS and ECMASript with a few annoying missing features added and let's be done with it.

  79. Re:Reasons why browsers are poor application runti by godefroi · · Score: 1

    Right. I even gave several examples of such platforms (I'm talking platforms, you're talking protocol, but I think you mean platform).

    Air, Flash, Sliverlight, Applets, ActiveX, there've been lots of entries.

    --
    Karma: Poor (Mostly affected by lame karma-joke sigs)
  80. Yes it was by dannys42 · · Score: 2, Insightful

    It's not specifically JavaScript that's the problem. The problem is thinking that one language will solve all application requirements.

    What we need is a way to write applications for this (web) platform with any language you want/need... just like the desktop.

    Ideally we'd first have a VM of sorts on the browser... Separate the language from the execution. This would allow people to use their language of choice, and to take advantage of existing languages in order to write web-based display applications. For example, if you look at all the display methods right now: JavaScript, Flash, Java applets, etc. They all have pros and cons to their underlying technologies and browser tie-ins, but they're all tied to the specific language... I may like Java's concept of having a VM/byte-code interpreter, but I'm stuck with doing everything in Java. For some tasks, that just may not be ideal.

    Once you've got that separation, then you can do some interesting things and actually learn past lessons. This whole concept of networked computing, remote displays, and server-oriented applications is actually quite old. The primary thing that's changed in the past 20 years is that we have smarter terminals.

    So the next step is to develop something like X11 (or perhaps just extend X11?), but take advantage of the fact that we have smart terminals. Allow for the widgets and toolkit stuff (eg. gtk, Qt, etc.) to be loadable onto the remote display. This would provide the benefit that we want... low network overhead and high user interactivity for applications.

    This would also allow us to standardize on UI toolkits much more so than we do now with AJAX, et. al. But because the UI can now be standardized, they can also be cached. Once you download a toolkit, you don't need to download it again.

    But at the same time if some developers don't like the toolkit, you could easily have others without having to re-write your entire infrastructure. (Think Xaw, Motif, GTK, Qt. If you think that's too many, try to count the number of display toolkits commonly used in today's web application space).

    The other benefit this gives you is the ability to just write applications once. You'd actually be able to share code bases when trying to support applications on the desktop and on the web. And this would be no more work than supporting, say Windows and Mac.

    So the mistake we actually have has developers (in my view) is not recognizing that the web is a platform just like any other platform. And that we should treat it as such.

  81. Now that you got that figured out...extra credit. by expro · · Score: 2, Interesting

    Talk to someone who knows the inside story and can tell you (because you work for the same company and can discuss what happens at W3C) what happened to the DOM committee and vigorous efforts to add modules, cleanup, or take other actions to solve precisely those deficiencies at W3C.

    Hint. For the sake of argument, assume Microsoft owns W3C control to some extend the same way they own ECMA (now obviously after .net, OOXML, and Javascript subversive actions).

  82. Comment removed by account_deleted · · Score: 2, Informative

    Comment removed based on user account deletion

  83. Re:Now that you got that figured out...extra credi by Blakey+Rat · · Score: 1

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

  84. Buying multiple machines; getting code signed by tepples · · Score: 2, Interesting

    We have networked window systems for people who don't own their own computers.

    Which such window system is widely deployed in both homes and businesses as of 2008?

    Writing a portable native app is no harder than writing a portable web app

    Citation needed. The developer needs to own and maintain at least one machine of each architecture and operating system to compile and test on, which can get prohibitively expensive for hobbyists and small businesses. In particular, this would mean that a developer who had previously tested web apps in Safari for Windows would have to buy a Mac to reach Mac users. Worse, on several platforms such as Wii with Internet Channel, PSP, PLAYSTATION 3, and iPhone/iPod Touch, DHTML apps will run just fine, but native apps need to be digitally signed by the platform vendor or the operating system will refuse to run them.

  85. The rules by Anonymous Coward · · Score: 0

    One of the biggest issues I see with the current system is that you have to have business rules in two places with no easy way to synchronize between those two places. You have rules on the back end server and data base and you have to re-implement those rules again in all your client software that runs in someones browser. This sucks and leads to a lot of errors.

  86. We know by Anonymous Coward · · Score: 0

    PHPMyAdmin, OSCommerce, CodeIgniter... yep. Just quick and dirty hacks.

    We know.

  87. No. Hemming and hawing and messing about was/is. by Qbertino · · Score: 1

    Focusing on one standard to an ever present tech problem isn't bad. However, hemming, hawing, messing about and eventually chickening out of a process well underway *is*.
    I was struck with bedazzlement when I read some hissy-fit sissy problem in getting the next technology upgrade for JS underway. WTF?
    Imagine this with the Linux kernel. It would be less popular than Hurd, if they'd constantly pull such amature shit.

    We've got Linus Torwalds, who, as far as I can tell, does a really good job at gouverning the kernel. And unless he suddenly does something completely insane, like demanding that all FSes get removed in favour of a FAT16 clone or something other equally bizar, what ever he decides for the kernel trumps everyone else. And since he - and everyone he listens to - is involved in kernel developement on a daily basis, all infighting takes place by praticed & educated professionals, well before they go public with a new stable.

    You *ONLY* get such PR disasters as the recent JS standardisation botch with to many PhD-cert waving wisecracks involved in the decicision who actually don't do any real day-to-day work on the project. Such as a relevant reference implementation of JS or something. Add in a few companies with diverging commercial interests and some academic pissing contests and shit like this happens.

    Another example:
    PHP is a lovable quirky piece of domain specific language. Each time they do an upgrade it breaks the last one. Yet how many do actually complain? Nearly zilch, compared to the size of the userbase. People are aware that all involved in the upgrade did carefull considerations of all cons and pros of each aspect, so the can easyly accept the specs of the new release. You don't see PHP fraying about into different dialects, *because* it's a fairly tight professional crew who's responsible for it.

    Bottom line:
    Nothing to see here, move on. Let's hope they don't do such PR disasters again.

    --
    We suffer more in our imagination than in reality. - Seneca
  88. No such thing as a standard by stewbacca · · Score: 1

    One thing I've learned over the years is that any technology declared to be "the standard" is probably not anywhere near being a standard. Just because a lot of people use something doesn't make it a standard. Furthermore, when something is declared "the standard" I usually find myself using non-standard stuff that does things better than the supposed "standard" stuff does. The last thing I've noticed is that even the most standard standards don't work as well as they should across multiple platforms or the Internet, so why the hell bother with a standard in the first place?

  89. Re:Now that you got that figured out...extra credi by expro · · Score: 1

    You were 100% right on the deficiencies of the DOM. Sorry I can't spell it out for you. Since W3C participants sign a non-disclosure, speculate for yourself why, and as a clue you have the advantage of seeing exactly what Microsoft is doing to Javascript through ECMA and seeing how they would just like those troublesome browsers to go away due to their neglect.

    Were all the bright browser vendors previously at the W3C working on DOM and related standards just too stupid to see that DOM had deficiencies with respect to good web applications? Did they all just lose interest? If you think that, you haven't looked very hard.

  90. support for other scripting languages by Anonymous Coward · · Score: 0

    I never understood why more browsers don't support arbitrary scripting languages. The DOM isn't ECMAScript specific. Microsoft did this for a while with vbscript, and the html standard supports both the language and type fields to specify the script you're using within the script block. Rather then overly complicate the original JavaScript programming paradigm to support new web standards, why not just support python/perl client-side in addition to javascript?

  91. Re:Now that you got that figured out...extra credi by IntlHarvester · · Score: 1

    I got the impression that the W3C decided that "XForms Is The Future", and therefore was steadfastly ignoring the deficiencies in HTML forms. (Which are still virtually identical to those found in Netscape 2, and never were completely documented in "DOM0".)

    Obviously MS and other W3C companies have their own competing technologies, but prior to HTML5 I don't know of any efforts to improve the state of HTML forms.

    --
    Business. Numbers. Money. People. Computer World.
  92. Re:Now that you got that figured out...extra credi by expro · · Score: 1

    HTML forms is not DOM, Javascript, or the bulk of web applications, nor am I aware of significant support of XForms from any browser vendor. Deficiencies in DOM would have nothing to do with XForms. Interesting, though, how HTML5, too, was mostly forced to occur outside of W3C and the participants were, to the extent I know of, browser people. Is a pattern emerging?

  93. Limitation of Slash by tepples · · Score: 1

    The premise of this discussion was the need to design something completely new, which would replace HTTP and HTML in order to support easier to develop Web apps.

    Slash does not allow a comment to have more than one parent. How should I have made it clearer that I was replying to both your comment and mabhatter654's comment?

    1. Re:Limitation of Slash by ultranova · · Score: 1

      Slash does not allow a comment to have more than one parent. How should I have made it clearer that I was replying to both your comment and mabhatter654's comment?

      Try including the text "This is in reply to both you and the grandparent" at the top of your message. It's part of the archaic protocol known as "English" ;).

      --

      Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

  94. I see where you are coming from by daemonburrito · · Score: 1
    http://slashdot.org/~coryking/journal/190660

    Google doesn't give a shit about my semantic markup so it wont improve my search engine rankings. [...] I dont give a flying fuck about supporting people who want to leech my content by describing the content better, so I'd rather not make it easy for them either.

    You are against the core philosophies of the web, whether you realize it or not.

    [...] I see the future as Flex & Silverlight.

    Your vision of the future of the web is my worst nightmare.

  95. Re:Now that you got that figured out...extra credi by IntlHarvester · · Score: 1

    Well, the original complaint was about form elements and 'widgets', so yes I believe it's directly relevant. How much javascript "gunk" is directly related to data input?

    --
    Business. Numbers. Money. People. Computer World.
  96. Re:Reasons why browsers are poor application runti by encoderer · · Score: 2, Interesting

    You don't HAVE to use XML for RPC requests. Heck, the XmlHttpRequest object doesn't even force you to use XML.

    JSON is a much more concise RPC vehicle.

    Further, HTTP isn't SUCH a bad RPC protocol. It's remarkably light-weight. HTTP Headers can be a little as 2 lines of text. And a lot of RPC functionality that doesn't involve sending or receiving much data (for example, marking a message as Read in Gmail) you can use a simple HEAD request instead of GET or POST and use the HTTP Status code to determine success/failure in your browser.

    A binary protocol would be faster. No doubt about it. But if a dev understands HTTP and uses JSON, it can be pretty speedy.

  97. IDE by Anonymous Coward · · Score: 0

    The only problem with javascript is lack of tools for it. I work on a large web app that has tons of javascript, but we use Eclipse and the only decent syntax checker out there for Eclipse, Aptana, causes my Eclipse to become unstable and constantly crash.

  98. Re:Reasons why browsers are poor application runti by Sancho · · Score: 1

    1) Others debunked quite well.
    2) When is relying on the server for security not possible? That's really the only time you can guarantee that a modified client isn't doing bad things.
    3) Ah, but once the main page is loaded, XMLHTTPRequest lets you get smaller chunks of data than you would normally get. With JSON, you can reduce that even further. And nothing's stopping you from writing your own codec to send information down the pipeline.
          Slashdot is a great example of AJAX making things lighter. With Discussion2, I don't have to download the entire Slashdot page to view nested comments. I just click on the comment, and it loads the relevant data.
    4) Yeah, standardization is a problem :(

  99. Don't knock it till you've tried it. by mad.frog · · Score: 1

    ES4 didn't prevent any of the prototype-based coding techniques used in ES3 (aka "JavaScript") -- in fact, it bent over backwards to preserve them.

    Rather, it added an additional, *optional* set of tools for the programmer to use -- classes, namespaces, early binding, optional typing, etc.

    I realize most Slashdot readers probably won't have any experience coding in ActionScript 3 -- OMG, a "proprietary" language! -- but it's essentially a subset of the proposed ES4, and being able to use the above tools, in addition to prototypes and completely soft typing, makes for a wonderful coding experience IMHO.

  100. GWT Got It Right by arjay-tea · · Score: 1

    The Google Web Toolkit has it right: treat JavaScript as a fancy virtual machine, and compile full featured languages down to it. I don't worry about JavaScript any more.

  101. WTF? Anybody know JAVA? by bussdriver · · Score: 1

    Javascript and the DOM API are by different organizations! DOM could use work and better support but javascript is fine.

    Javascript can add some minor changes but nothing major like class definitions and strict typing are required nor should they be desired.

    Javascript is a SCRIPTING LANGUAGE!

    Javascript doesn't need to evolve into JAVA, we already HAVE JAVA!

    Somebody make DOM for JAVA applets before they screw up Javascript!

    How about better integration of JAVA applets into webpages? If you want major desktop application development on a website you can use the #1 programming language with its tons of bloated features and slow compilation (and tiny executable foot print) that is ALREADY powering massive desktop and web applications.

  102. Re:Now that you got that figured out...extra credi by expro · · Score: 1

    If that is the best you can do, I apologize for wasting your time.

  103. Re:Reasons why browsers are poor application runti by marcosdumay · · Score: 1

    Or, maybe, we can have some programs that run localy to the client, they can send files throug the net if needed. I know it is a new, untested idea, but makes some sense to me.

    What is really annoying is that distributing ECMAScript apps over the web is a solution to a legal problem (licencing), not a technical one, that a few players decided to create and could be solved by several ways (one of them being free software, but there are others). Now everybody is strugling to reinvent lots and lots of weels just because of that.

  104. Badly by marcosdumay · · Score: 1

    Ok, not by that margin, but Java Script is still worse.

  105. And then there are the rest of us by Giant+Electronic+Bra · · Score: 1

    Who happen to think javascript is a particularly cheezy dynamic scripting language and would jettison it in 14 milliseconds if there WAS any way to have a viable alternative.

    The only reason javascript still exists is because any author of client side code that tried to use anything else would have to get all their clients to download another plugin. Worse, you would have to implement said plugin for at least 4 browsers on 3 major desktop platforms and who knows what all on mobile.

    So really, javascript need not be anything beyond marginally functional to be de-facto the one and only client side scripting language.

    I won't even go into its deficiencies. Suffice it to say we are all paying for Brendan Eich's hubris in thinking he was the next Larry Wall. Sorry, not hardly.

    --
    "Malo periculosam, libertatem quam quietam servitutem." -- Jefferson
  106. Anonymous Coward by Anonymous Coward · · Score: 0

    JavaScript 1.5 already allows different modes of programming, procedural, functional (functions are first class citizens, supporting closures) and various flavours of OO (It could provide slightly more support to make inheritance more effecient. Freeing up __proto__ would be nice as well).

    I even implemented a simple property list unification facility, allowing some logical programming tricks.

  107. Core language differences by MarkusQ · · Score: 1

    Agreed, the main problem is the DOM.

    But still, there have been a number of core differences over the years, from event bubbling to Function#caller(), some edge cases w. nested functions, things like (1 != "1"), Date#getYear(), string subscripting, and so on.

    Nothing as bad as the DOM differences, granted, but enough to gripe about in what is, after all, a pretty small language. -- MarkusQ

  108. Livescript by Giant+Electronic+Bra · · Score: 1

    You CAN call java from javascript, and the other way around too. The hitch is you still have to have a BIT of javascript in there, but it could be as trivial as an event handler that proxies to java.

    There are plenty of other issues with applets though, trust me, I've written some fairly decent complexity ones. The only GUI library you have is AWT, which is best not described, the expletives would be unpleasant...

    In any case, you can do what you describe now. Frankly though if JS was a better language this would not be an issue, but it isn't...

    --
    "Malo periculosam, libertatem quam quietam servitutem." -- Jefferson
    1. Re:Livescript by argent · · Score: 1

      The only GUI library you have is AWT, which is best not described

      In this situation, you wouldn't call any native Java GUI library. The "GUI" would be HTML, modified by modifying the page's DOM through Javascript hooks.

      Personally, I prefer Javascript to Java for what Javascript was designed for.

      The problem is not a shortcoming in Javascript, it's the use of Javascript in ways it was never intended.

  109. Politically explosive by recharged95 · · Score: 1

    ". Let the browser handle the View. Let the Controller exist somewhere else, independent of the presentation layer.'""

    Then you've just created JSF...which to pretty much the whole web, for some reason I don't understand, hates. Yes, that's a harsh hate [for Java]--maybe due to the huge contingency of PHP/Python/Perl/Ruby/C# folks which write code that powers most of the 'free' web? (needed to jab)

  110. Getting it there by Requiem18th · · Score: 1

    The "problem" with web applications is that most people don't ever think of upgrading their browsers and some will refuse to simply because it's new and because their existing browser works, thus the huge number of IE5 users in the wild.

      So if you want to get a better platform for web applications what you need to do is convince Microsoft of installing it by default in windows and wait.

      Of course there is no way Microsoft is going to cooperate with a GPL scripting engine, it will have to be BSD if not "Shared Source" licenced with copyrights assigned to Microsoft. And you can bet your shoes it is going to be extended in incompatible; Windows oriented ways.

      Mind you, isn't this what Silverlight is about?

      Ok, right now Microsoft is being very cooperative with Silverlight since it has to beat flash before E.E.E.-ing it. Flash got there because people *DID* install it so perhaps a better javascript can be distributed in the form of a free plugin for IE et all.

      The second problem of course is that document oriented programing is very easy. perhaps web applications *are* the way most applications should be organized because document orientation mkes a lot of sense.

    --
    But... the future refused to change.
  111. Please...give us a real language by Anonymous Coward · · Score: 0

    Javascript fails miserably. It needs the same things that made old school POSIX C a standard:

    - A good language (e.g., multiple return values)
    - POSIX like libraries as standard features
    - A compiler/syntax/semantic checker

    I'm hoping that silverlight (ugh Microsoft fear!) actaully becomes an ISO/ANSI/ECMA standard so that I can develop multi-platform for both desktop forms based applications and widgets hosted in the browser.

  112. Uh oh. He's a "strong typing" fanatic by doom · · Score: 1

    For every methodical, disciplined Java programmer there's a Perl hacker who would much rather play everything by ear. Strong typing, packages, and namespaces may make it a lot easier to maintain large applications, but they're virtually useless to any Web coder who just wants to bash out a little bit of UI glitz.

    Well, maybe I'm a little sensitive to the now standardized swipes at perl, but may I point out that perl does indeed have lexical namespaces? It could be the author was thinking of PHP (which if I understand correctly, also has namespaces now, though only in it's latest version).

    In any case: does anyone have any real evidence that strong typing actually works? Java was sold to people on the basis of it's maintainability -- was that claim true? How would you know?

    Myself, I've been primarily a perl programmer for a decade, and you can easily count the number of occasions I've had my fingers burned by type-confusion on one hand. There are CS geeks out there who are incredibly strong-typing fanatics, way out of proportion to how useful the feature is.

    (Just a hint: if you want to attack perl intelligently, try "lack of standardization". For example, there are multiple ways of implementing perl objects, if you just pick one you'll probably get it to work well enough for you. But if you use someone else's modules, there's no way to know in advance what kind of objects they're using -- you've got to inspect the code before you can even think about sub-classing it.)

  113. Re:In this case, the real question: is ECMA a mist by magus_melchior · · Score: 1

    Perhaps it's time for a standards body that won't take money or volunteers from corporations.

    --
    "We are Microsoft. You shall be assimilated. Competition is futile."
  114. Oh great: he likes language plug-ins by doom · · Score: 1

    We already have a means to achieve this separation for client-side code today: browser plug-ins. Of course, most Web developers will tell you that plug-ins are a Bad Thing. Every time you force the user to download and install a plug-in, says the popular wisdom, you throw a roadblock in front of your code. But is that really true?

    Well, yes, it really is true. And further, plug-ins are apparently a severe pain to implement in a cross-platform way -- I use AMD64 boxes myself, and there's still no native flash plug-in, for example. And if firefox extensions are any guide, we can also look forward to plug-ins breaking when you do browser upgrades.

    Further, the entire premise (what the web needs is more languages!) is fundamentally flawed, because it obsesses about the technical characteristics of languages, and ignores the social aspects -- as you get more languages in play, you sub-divide the community of developers and complicate the sharing of techniques and so on.

  115. Re:Reasons why browsers are poor application runti by cr_nucleus · · Score: 1

    Instant messengers, word processors, spreadsheets, etc. make no sense in the context of document retrieval or exchange. We are going down a fundamentally misguided path when we try to force those applications onto the web.

    If the tool doesn't allow you to meet your requirements, then you should change the tool.

    What's so wrong about trying to capitalize on the webapps advantages ?
    If our expectations reveal that HTML is no longer adequate, then let's make it evolve or create something else.

    Or maybe let's keep everything as it is and see webapp development become even more of a pain than it already is.

    I for one can't take it anymore, this endless tweaking of HTML and CSS to get a site to work on the major browsers (and i'm not even talking about js).
    I am now a happy flex developer.

  116. JavaScript is Extensible! by RonGHolmes · · Score: 1

    There's a team of developers who've been able to build the Cocoa frameworks for JavaScript - MVC if you will. 280 Degrees

    1. Re:JavaScript is Extensible! by RonGHolmes · · Score: 1

      I mean http://www.280slides.com/ - Sorry all.

  117. Re:When the student is ready the master will appea by Doctor+Crumb · · Score: 1

    Java and C#? When I started writing web apps, we had C and the CGI spec. Your new-fangled languages don't bring anything new to the table, they're just marketing buzzwords!

  118. One problem: Security by FlyingBishop · · Score: 2, Insightful

    Everyone who continuously complains about the inadequacy of the web browser needs to step back, and remember that it is designed to be crippled. If it were as fully functional as the desktop, any yahoo could come by and completely replace your desktop with something of their choosing. I don't need DHTML to watch movies and read the news. I need Firefox and some interlinked markup. Anything more than that is opening up the web to all sorts of attacks that don't need to happen. We don't need a better JavaScript. It would be nice for programmers, but less secure for users.

    1. Re:One problem: Security by rootooftheworld · · Score: 0

      Sandboxing anyone?

      --
      I know full well that tobacco is bad for you, so I smoke weed with crack
  119. Re:Since when is does sarcasm justify verbal abuse by Phroggy · · Score: 1

    I don't think he meant "you" personally, but was referring to the large number of people who don't understand how to use JavaScript properly.

    --
    $x='S24;r)>63/* h@<5+oZ)32"5cz';$me='phroggy'x$];
    $x=~y+ -xz+\0-Tx+;print$_^chop$me for split'',$x;
  120. Re:Reasons why browsers are poor application runti by zobier · · Score: 1

    Uh huh.

    It really should be WebDev 101:

          Rules 1 & 2: Don't trust the client!

    --
    Me lost me cookie at the disco.
  121. Moving from its original vision? by Stu+Charlton · · Score: 2, Insightful

    I don't think the author really understands what TBL's original vision was, except in the narrowest of contexts. The idea of code on demand was certainly described as part of REST.

    The problem with JavaScript standardization arguably comes down to vendor politics (as do most standards efforts). We're in a wave of proprietary "innovations" being pushed, like MS Silverlight, Adobe AIR, Sun JavaFX, etc. It's not in these gorilla's interests to commoditize a richer browser experience before they try to take over a portion of the web on their own.

    --
    -Stu
  122. Reactionary? by WoollyMittens · · Score: 1

    So what this gentleman is proposing is that we scrap client-side functionality and go back to dumb terminals?

    1. Re:Reactionary? by _Shad0w_ · · Score: 1

      No, he's talking about separating the View from the Controller, ie changing the browser so it is no longer concerned with deciding what to display, just how to display it. In fact he specifically mentions the Model-View-Controller design pattern (one I'm particularly fond of myself).

      --

      Yeah, I had a sig once; I got bored of it.

  123. Re:Reasons why browsers are poor application runti by sveinb · · Score: 1

    1. Connection-oriented protocols can be implemented in lower-level, connectionless protocols using a session id. HTTP/1.1 keeps its connection alive, which mitigates the overhead in establishing new connections.
    2. Don't quite understand what you have in mind here.
    3. XMLHTTPRequest can send text or binary data, despite its name.
    4. We are talking about ~1 kB of code, to be loaded once per website.

  124. Gmail is just like a rich email client done in X11 by patio11 · · Score: 1

    Except it, you know, exists. And it works on my PC.

  125. Keep your hands off my f***ing ***BROWSER***. by knorthern+knight · · Score: 1

    > If the tool doesn't allow you to meet your requirements, then you should change the tool.

    If you want to invent a new internet protocol that lets the remote server take over your desktop, feel free to do so. The reason you run into so much backlash is that you want to ram *YOUR* singing/dancing Web2.0 "goodness" down the throats of people who merely want a lightweight browser that browses the web. Ever heard the joke about how an elephant is actually a mouse designed by a committee? That's the problem we're running into now. The same applies to assholes who want to turn email clients into singing/dancing Web2.0 "rich media experiences".

    --

    I'm not repeating myself
    I'm an X window user; I'm an ex-Windows user
  126. Re:Reasons why browsers are poor application runti by mgiuca · · Score: 1

    1. IP is connectionless, but somehow TCP works anyway. Session is a layer.

    That is a good point, but I feel it's just too many layers; you're being very inefficient.

    On IP (connectionless) you add TCP (adds a persistent connection), then you add HTTP (takes that persistence away), then you add session state (adds persistent connection again). You solve the same problem if you take HTTP away, but with about 1/10th of the bandwidth (and that's a conservative approximation).

  127. Re:Reasons why browsers are poor application runti by Anonymous Coward · · Score: 0

    Err, maybe you're forgetting that XMLHttpRequest was originally created by Microsoft as part of MSXML. It was then copied by Mozilla and everyone else.

  128. Mmmm, yeah, well by Giant+Electronic+Bra · · Score: 1

    Opinions differ on that last topic. There are perfectly good scripting languages Netscape could have chosen to embedd which are both standard and considerably more suitable for non-trivial use.

    It is water under the bridge now at any rate, we have js and we'll just have to live with it.

    --
    "Malo periculosam, libertatem quam quietam servitutem." -- Jefferson
    1. Re:Mmmm, yeah, well by argent · · Score: 1

      There are perfectly good scripting languages Netscape could have chosen to embedd which are both standard and considerably more suitable for non-trivial use.

      I'm curious. What scripting languages are you thinking of. The open embeddable scripting languages that I can think of that were available then (the ones I was familiar with, back in the mid '90s) are things like REXX, Tcl, Forth, and *ostscript.

    2. Re:Mmmm, yeah, well by Giant+Electronic+Bra · · Score: 1

      Sure, REXX would have been a pretty reasonable choice at the time. I don't think it is particularly astoundingly great, but if you look at it from the perspective of the time it was certainly a mature scripting language, well supported, and designed for exactly that sort of task.

      I happen to have spent 4 years writing a few million lines of FORTH, so yeah, that would have suited ME fine. Probably wouldn't have gone over so well with the 'I understand it because it has curley braces' crowd though ;)

      Perl was a perfectly viable choice. It has always been quite embeddable. Dirt simple even at a basic level. Of course you would need bindings, but that is true with any interpreter. It was certainly the premiere choice 10 years ago and I'd have voted for it in 3 milliseconds flat.

      Instead we got YASL. There are certainly far worse scripting languages out there, and every one will have its fans, but javascript is mediocre. I say this from the platform of a really large amount of development experience in several scripting languages. Just to use perl as an example it is just as convenient to use for small tasks as javascript, yet manages to hang together well on much larger ones quite a lot better. Plus it has a real set of library modules. How it irks me not to have access to a good library on the client side! Honestly, good libraries are worth more by far than this or that language feature. Good library implementations are non-trivial in a lot of cases and will save vastly more time, energy, and quality than one or two debatable language features.

      --
      "Malo periculosam, libertatem quam quietam servitutem." -- Jefferson
    3. Re:Mmmm, yeah, well by argent · · Score: 1

      Perl is right out. Other than the fact that it's a horrid language, It's not designed for embedding, so you'd have to rip a lot of code out of it and redesign the core for security, and you wouldn't have been looking at Perl5, you'd have been looking at Perl4... you remember Perl4? And you wouldn't get any benefit from CPAN... you'd need to build a new library from scratch, one designed for the limited environment of a sandbox, and that's nothing you couldn't do with Javascript.

      Languages for this purpose need to be designed with embedding and security in mind, which rules out a lot of options. Forth is highly embeddable, but you'd need a high level derivitive of it (like, say, Postscript) to satisfy the security requirements. I love Forth, and Postscript was a much-requested extension back then, but I suspect that it would have ended up with more complaints by now.

      I used REXX, as AREXX on the Amiga, and it's barely better than Basic, and it's got some really amazing design flaws... such as uninitialised variables defaulting to their name as their value which was probably OK on OS/360 ... but sheesh.

      The only existing languages that I'm familiar with that they could have realistically used were Lisp derivatives. And of those Tcl or a similarly licensed Scheme would have been the best choices.

      Javascript is actually quite a nice language. The object model is an excellent one for a scripting environment, much better than a formal class based structure. The syntax is straightforward. I would love a command line Javascript with a good built-in string library for the things I use awk/sh/perl/tclsh for now.

    4. Re:Mmmm, yeah, well by Giant+Electronic+Bra · · Score: 1

      Perl is right out. Other than the fact that it's a horrid language, It's not designed for embedding,

      Sorry to burst that bubble but perl 5 has been completely embeddable from the very start.

      and you wouldn't have been looking at Perl5, you'd have been looking at Perl4...

      Again, not accurate. Perl 5 predates javascript by a number of years, 5+ in fact.

      And you wouldn't get any benefit from CPAN... you'd need to build a new library from scratch, one designed for the limited environment of a sandbox, and that's nothing you couldn't do with Javascript.

      Again, I disagree entirely. The vast majority of available CPAN modules are perfectly useful in a client side environment, even within the confines of a sandbox. At the 'chrome' level there is no compelling argument against the possibility of using absolutely ANY CPAN module if you really wanted to.

      Furthermore perl has a perfectly good sandbox model, you can execute any code you want within restricted environments, specify exactly what classes of operations are permissible within that environment, and restrict the sandboxed code to any particular desired subset of data within the containing interpreter environment. See the 'Safe' module if you doubt me, it works. Furthermore it was available from the outset of perl 5. Beyond that no other dynamic environment had anything like complete taint checking a dozen years ago. All that infrastructure had to be built for javascript, it was already on the table with perl.

      Languages for this purpose need to be designed with embedding and security in mind, which rules out a lot of options. Forth is highly embeddable, but you'd need a high level derivitive of it (like, say, Postscript) to satisfy the security requirements. I love Forth, and Postscript was a much-requested extension back then, but I suspect that it would have ended up with more complaints by now.

      Well, I did EXTENSIVE work with FORTH back in the '80s. My experience with it says that the basic model is exceedingly flexible. It is one of the simplest and most elegant software designs in the history of software engineeering, if not THE most elegant. I am utterly confident an implementation could have met the desired requirements in regard to security and performance. There are certainly plenty of arguments against it on other grounds, but it was a very feasible alternative from a purely technical standpoint.

      I used REXX, as AREXX on the Amiga, and it's barely better than Basic, and it's got some really amazing design flaws... such as uninitialised variables defaulting to their name as their value which was probably OK on OS/360 ... but sheesh.

      Oh, I used AREXX plenty myself. I don't think it was a great language, but it was a workable alternative, and certainly a lot of the drawbacks of this or that particular implementation need not have been carried forward. Still, you mentioned REXX. Wouldn't likely have been one of my serious candidates, but still possible.

      The only existing languages that I'm familiar with that they could have realistically used were Lisp derivatives. And of those Tcl or a similarly licensed Scheme would have been the best choices.

      TCL is a sort of horrible little language. It operates on some good principles, but it was never capable at any level of being in the same class with FORTH, perl, javascript, etc. Certainly not in anything like the form it has taken.

      Javascript is actually quite a nice language. The object model is an excellent one for a scripting environment, much better than a formal class based structure. The syntax is straightforward. I would love a command line Javascript with a good built-in string library for the things I use awk/sh/perl/tclsh for now.

      It is partially a matter of taste of course. I find that javascript managed to incorporate

      --
      "Malo periculosam, libertatem quam quietam servitutem." -- Jefferson
    5. Re:Mmmm, yeah, well by argent · · Score: 1

      Compared to the appalling design decisions in Perl, things like using "+" for string concatenation are trivia. But it sounds like you're pretty sold on Perl and I suspect we'd be here a week if I started to bring those up. But let's at least get the dates right.

      Again, not accurate. Perl 5 predates javascript by a number of years, 5+ in fact.

      Perl5 was released late in 1994.
      Javascript first showed up in 1995.

      I don't think that starting with a newbie Perl5, which was basically a completely new language, end embedding it in a browser using an extension module that was still in beta when Netscape released Javascript, would have been a really safe move. And that's assuming that Javascript development started after October 1994... which is a pretty short lead time.

  129. Re:Reasons why browsers are poor application runti by deanlandolt · · Score: 1

    HTTP is connectionless, but many applications don't make sense in a connectionless setting

    Which ones? Connectionless != stateless. See: REpresentational State Transfer

    Client side privileges are difficult to control, and relying solely on the server for security is not always possible

    Why? This seems like a pretty sweeping generalization. What kind of use cases are you referring to? Whether you're writing the client side in javascript or gtk or some winforms control, it's *never* a good idea to rely on the security of the client. See: DRM

    HTML/XML requests use more bandwidth than binary protocols, which strains slow connections (yes, some people still use dialup, especially mobile users, and here in America many mobile users still rely on 9.6kbps cell phone connections). *ML requests also include a lot of useless tags that describe the "document," even though it is really an RPC request.

    Perhaps you're unaware of this, but those verbose tags can be gzipped into an incredibly tight binary. And unlike most everything else, it's even a (well supported) standard. As for javascript and css, it's trivial to minify or pack and then compress for deployment. As part of a tool chain, devs get all this for free (unlike someone hacking together their own binary wire format).

    As for your assertion that most requests are ultimately very similar to RPC, you are correct. However, you are certainly not the first to notice this: see JSON-RPC (I would have mentioned XML-RPC but JSON even disposes of those pesky tags you so disapprove of).

    XMLHTTPRequest is not standardized across all browsers, and multiple copies of some sections of code must be sent, wasting even more bandwidth.

    And the code to abstract away XHR differences is trivial, a few dozen lines at most. Standard in a decent dev's toolchain -- see: minification and gzip compression.

    So by all means, keep adding to the list. But from where I stand I don't see any real architectural downsides to web apps listed (not that they don't exist).

  130. Re:In this case, the real question: is ECMA a mist by Anonymous Coward · · Score: 0

    Yeah, damn Microsoft always dicking everything up. I mean look how they always want to add proprietary extensions to everything like JavaScript. I remember when they added this one proprietary extension to JavaScript called... hmmm... what was it, oh yeah XMLHTTPREQUEST!

    How many of these fucking clown shoes JavaScript developers dog Microsoft for "blocking" the JavaScript process, when JavaScript would have died as it should have years ago if not for that little idea that let you dumbasses stuff way too much client side logic into your web applications.

    The sooner we realize that client side web application programming is going to only serve to create heavier and heavier web applications and turn the web into even more of a gaping anus of security vulnerabilities, the sooner we can get down to restoring the browser as a client side view of server-side web applications.

  131. Yes. by Zarf · · Score: 1

    Standardizing on JavaScript was a mistake. But it wasn't as stupid as standardizing on the alternative.

    --
    [signature]