spacer
Webref WebRef   Sitemap · Experts · Tools · Services · Newsletters · About i.com

home / programming / javascript / j_s

Web Project Manager
Aquent
US-PA-Collegeville

Justtechjobs.com Post A Job | Post A Resume
Developer News
Mandrake Linux Founder Back, Virtually
Amazon: We're a Technology Company
Sun Expands MySQL With Closed Source

Netscape's JavaScript ?

In the complex world of web development, arriving at good, open standards - even for a language as solid as JavaScript - can be a process as mysterious and complex as atomic particles whizzing and mutating during brief moments in time.

Okay I admit it, even after a few hours of research, I still didn't know who was responsible for the scripting language, Javascript. I knew that Netscape originated the language back in the heady days of 1995 when both Java and JavaScript (see the original press release) emerged from Sun and Netscape respectively. But what happened to JavaScript in the interim since certain parties "cut off the oxygen" to Netscape by promising to give away their Internet Explorer browser for free and their IIS Web Server for free in perpetuity? Well, Microsoft has just settled with AOL, current owners of Netscape, to the tune of $750 million in their antitrust civil lawsuit. But had JavaScript been sold or established as an open project like Open Office (developers of Star Office) or Mozilla (the organization responsible for the basic engine for the Netscape browser )? Or had JavaScript become the responsibility of ECMA-the European Computer Manufacturers Association which is the standard body for JavaScript (designated ECMAScript), and also, incidentally, for Microsoft's C# and the open portion of .NET framework?

What emerges is like one of those quantum bubble chamber photographs, a lot of events whizzing through; but like the SCO Linux controversy, who owns what and who is responsible for the entity that is JavaScript/JScript/ ECMAScript - well, that is subject to interpretation.

ECMAScript : Not-To-War Document

One of the consequences of the browser wars (1996 - 1999) between Microsoft and Netscape is that all the major browser standards - HTML, CSS, DOM, and JavaScript/JScript still remain scarred - that is they are tenuously compatible in many key areas. This is due in part to the fact that IE6 is over two years old and has only received quarterly security breach updates. In contrast, in this same period Mozilla and Opera browsers have seen 2-3 updates and are now standards compliant. Part of this is due to the DOT.Com Bust - Netscape has not updated JavaScript beyond the 1.5 version of 1999.

Whatever the reason, whenever doing anything new on the Web (with the exception of Java and Flash SWF), one colleague's rule of thumb is to add 30% more time to resolve inconsistencies between browser implementations. Strange, but code like "if (NS6plus || MZx)doItThisWay(); elseif (IE4 || IE5 && !IE6)doItAnotherWay()..." is considered par for the course. In my experience, it's wise to have a good JavaScript debugger for both Microsoft and Netscape browsers because that is where most of the incompatible action takes place. Also, of great help are books like Steve Holzner's JavaScript Unleashed or Danny Goodman's The Definitive Guide to DHTML, which gives all the gory details about JavaScript/JScript command in/compatibility with all the major browser editions along with their examples of good JavaScript code.

At the height of the browser wars with IT organizations demanding some compatibility between languages, ECMAScript evolved not as sign of peace, but as a minimum declaration of what was compatible between NetScape's JavaScript and Microsoft's JScript. To their credit (for the past 4 years), "ECMA is in the process of harmonizing the various diverging extensions of ECMAScript. The full second version of the language is scheduled for publication in 2003 Q1". But that didn't happen, possiby because of the BEA proposed extensions to the basic syntax of JavaScript in early March. Or, it may have been delayed because of the $750M settlement with Microsoft, where AOL indicated that Netscape was not part of the deal but that it might be put up for sale. And why not? Netscape is sitting on some very valuable intellectual property; not the least of which is JavaScript.

JavaScript- Valuable Commodity

There is no doubt that JavaScript is a valuable commodity. First it's a fairly simple language to pick up with its Java-like syntax, operators, and flow of control. Its dynamic, typeless variables; easy array definitions and processing, plus robust but approachable object model make it easy to program and develop with. ECMA estimates that 70% of all browser pages incorporate some ECMAScript-compaible code. In addition, Mozilla/Netscape make available two open source versions (C++ and Java) of JavaScript as a free download (source or binary).

Microsoft's variant, JScript, has been updated to be a full .NET enabled programming language. In this context JScript gains the benefit of dynamically compiled execution which can be important for performance in large-scale applications. Also, given that VB.NET has moved so close to C# in design and complexity, Microsoft needs a simple, easy to use yet OO-capable language to close the complexity gap in its .NET language offerings. And as a bonus, JScript also offers client-side and server-side capabilities. Finally, JScript is one of the key languages in Microsoft's WSH - Windows Scripting Host batch control language.

And Microsoft is not alone; Macromedia has heavily invested in JavaScript. It uses JavaScript as the macro command language for many of its applications and its ActionScript command language for Flash adheres to ECMAScript edition 2 (the current standard is edition 3). Ditto Adobe, which uses JavaScript for macros in its GoLive web development tool and ActionScript in its LiveMotion animation tool. And since freely downloadable JavaScript engines are available JavaScript has been adopted by nearly a dozen independent software vendors.


So, JavaScript prospers despite the wounds from the browser wars. But there remains a question of who is in charge. For example, BEA's E4X proposal to extend the syntax of JavaScript (in order to simplify XML processing) was made to ECMA in Mid March of 2003. This proposal garnered praise from Microsoft, Mozilla and RIM. It changes the syntax of the language by adding a new construct to the for loop - for( var atom in srcDoc..Atom) //Loops through each Atom tag in the source XML - which changes the internal syntax of JavaScript. The result simplifies XML processing as the demo linked to above readily shows. This puts JavaScript back on par with Perl and PHP which have nifty foreach command syntax which is very useful in processing associative arrays and XML tags. But curiously, there was no comment on this proposal by key JavaScript players such as Netscape, Macromedia or Adobe. Like the atomic particles whizzing by in the nearby CERN bubble chambers, ECMA officials are hard pressed to explain the reaction or even prognosticate on how the E4X extension will proceed. Perhaps this is an example of how hard it is to draw sweet water from a browser-war poisoned well. At the very least, it casts light on the delicate process of arriving at good, open standards.

Jacques Surveyer is a web developer who can be contacted at www.theOpenSourcery.com

home / programming / javascript / j_s  

internet.comearthweb.comDevx.commediabistro.comGraphics.com

Search:

Jupitermedia Corporation has two divisions: Jupiterimages and JupiterOnlineMedia

Jupitermedia Corporate Info

Legal Notices, Licensing, Reprints, Permissions, Privacy Policy.
Advertise | Newsletters | Tech Jobs | Shopping | E-mail Offers

Whitepapers and eBooks

Symantec Whitepaper: Converging System and Data Protection for Complete Disaster Recovery
Intel Whitepaper: Comparing Two- and Four-Socket Platforms for Server Virtualization
IBM Solutions Brief: Go Green With IBM System xTM And Intel
HP eBook: Simplifying SQL Server Management
IBM Contest: Are You the Next Superstar? Join the "Search for the XML Superstar" Contest to Find Out
Intel PDF: Quad-Core Impacts More Than the Data Center
Intel PDF: Virtualization Delivers Data Center Efficiency
Go Parallel Article: PDC 2008 in Review
Avaya Article: Communication-Enabled Mashups: Empowering Both Business Owners and IT
Intel Whitepaper: Building a Real-World Model to Assess Virtualization Platforms
PDF: Intel Centrino Duo Processor Technology with Intel Core2 Duo Processor
Microsoft Article: Build and Run Virtual Machines with Hyper-V Server 2008
  Go Parallel Article: Q&A with a TBB Junkie
IBM Whitepaper: Innovative Collaboration to Advance Your Business
Internet.com eBook: Real Life Rails
IBM eBook: The Pros and Cons of Outsourcing
Internet.com eBook: Best Practices for Developing a Web Site
IBM CXO Whitepaper: The 2008 Global CEO Study "The Enterprise of the Future"
Avaya Article: Call Control XML in Action - A CCXML Auto Attendant
IBM CXO Whitepaper: Unlocking the DNA of the Adaptable Workforce--The Global Human Capital Study 2008
Adobe Acrobat Connect Pro: Web Conferencing and eLearning Whitepapers
Symantec Whitepaper: Comprehensive Backup and Recovery of VMware Virtual Infrastructure
MORE WHITEPAPERS, EBOOKS, AND ARTICLES
webref The latest from WebReference.com Browse >
Popular JavaScript Framework Libraries: An Overview - Part 3 · Accessing Your MySQL Database from the Web with PHP · Working with the DOM Stylesheets Collection
Sitemap · Experts · Tools · Services · Email a Colleague · Contact FREE Newsletters 
 The latest from internet.com
Fixing MySQL Replication · Firewall Guide: First Steps to Securing the Enterprise · VoxOx Tames the Tumultuous Communications Tangle

Created: June 2, 2003
Revised: June 2, 2003

URL: http://webreference.com/programming/javascript/j_s