Slash Boxes
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
More | Login | Reply
Loading... please wait.
  • Web scripting...

    To have Javascript enabled on your browser, you really should stay plugged in to the various Certs and patches that may arise due to security problems. I hate the nagging feeling that I'm never quite safe when browsing... There's always that 0-day exploit that will get me some day.

    Sure, some things have been found in HTML, forms in particular, that are similar, but I feel a lot safer knowing that the site isn't executing code behind my back.

    The other thing I hate about Web Scripting is that, with HTML and browsers, we've finally hit upon a Least Common Denominator User Interface that is nearly universally available and can be made to fit 95% of the applications we use daily. Sure, it's klunky for a lot of those applications, but it does work, which says a lot in the world of computer applications. Then, Web Scipting comes along and throws all kinds of odd curves and wrenches in.

    You have to be worried about language versions, and platform specific features, and security (see above) and a hundred other things. When something doesn't work, you don't know if it's the site, your setup or both.

    For various reasons, I sometimes need to fall back to a text-mode browser sometimes. For example, sometimes I can ssh into a site, but their policy doesn't allow me to get HTTP access from a machine that has a web application. If it's straight HTML, lynx or w3m works pretty well here. The next alternative is to tunnel X through ssh and run an X-Windows based browser. This works, but it's a lot more hassle.

    Then, there's another BIG issue. ADA and Section 508 compliance. If you do very much in web scripting, it's increasingly difficult to meet standards for making your pages accessible to the disabled. In many environments, you have to make two versions or make your pages work with scripting disabled. If it's going to work with scripting disabled, why bother with the scripting at all?

    Last, web scripting interferes with a wonderful application domain that I love for it's simplicity and power. Web Automation from Perl programs can be used to automate practically anything today that has a Web Interface, and more and more everything has some kind of Web Interface. Hey, automation is what I do for a living and a hobby. Web Scripting gets in the way, making it more difficult at a minimum and sometimes impossible to implement Web Automation.

    Most of the time, Javascript pages can be figured out and some sort of Web Automation can be applied to them. This is far less true of certain Java applications. Javascript still makes it harder, though.

    There is only one feature that I consider a "must have" that I've ever seen implemented in Javascript. That is the checkbox that checks a whole list of boxes in a table. Then, you can go down and uncheck specific items you wish not to have checked for some operation. THAT'S REALLY NICE. I'm willing to tolerate this as it doesn't interfere with Web Automation or 508 compliance at all. I still have the security issues of running Javascript in my browser, but I can turn it on and off for this feature. I think that this "check all" feature could be added to a future HTML standard and we wouldn't need web scripting at all.

    I mean, really, what for? Fancy rollovers? Hey, I was really impressed with some of those in 1997, but I'm over it now. I have to say that I do like various 'tree-view' implementations I've seen implemented in Javascript, but I could live without them. You can implement the tree-views in CGI, too, but that's a lot klunkier than implementing them in the browser. I think some sort of tree-view could be added pretty easily to HTML.

    • Most excellent points and I agree with you, mostly. Here are some comments :

      1. Tree-views and fancy rollovers can be implemented without scripting, in pure CSS (of course this requires recent browsers, but also this degrades nicely, unlike script-based implementations.)

      2. The article I linked to discusses JavaScript from the point of view of language design : as it says, Lisp in C's Clothing, with that unusual function-are-objects approach. Quoting again : JavaScript is well suited to a large class of non

      • I think it's also well-suited as an easily embeddable generic scripting language, saving application developers the work of creating yet another half-baked domain specific environment. It's used in Dreamweaver (or at least it was the last time I looked) and these guys [] seem to be having a productive time with it as well.