Come on! I was recently at a class at IBM Rochester and was inundated with TLAs (Three Letter Acronyms). I mean, I used to pride myself on knowing everything there was to know about RPG III and RPG IV and even CL. Today, I find that by the time I comprehend the meaning of the acronym of the latest Web technology, they've already decided to replace it with something else. If it's so good, why replace it so quickly?
The World Wide Web is a good name because our industry is in fact creating a tangled web of TLAs and technologies. We are doing ourselves and the World Wide Web audience a disservice. By trying to standardize things on "our standard" before the other guy's standard becomes "the" standard, we end up with standards built on a house of cards. Then, to fix the shortcomings, we create another "open standard" that creates another software layer, another programming language, and yes, yet another language syntax. All of this on top of the shortcomings of the original standard. Has it gotten out of control yet?
To illustrate my point, I'll use the initial Web technology, HTML, as an example. In the beginning there was HTML and CGI. HTML did a good job of presenting raw data to the end user via a Web browser. But wait, HTML didn't allow document-wide style changes. What if I need to change all my paragraph headings to blue? You mean I have to go into the HTML source and change each and every heading entry independently? (What? No record-level keywords?) So they created a new standard: Enter CSS (Cascading Style Sheets).
Okay, apparently the standard for CSS wasn't robust enough, so they came out with CSS 2.0. We now have HTML, CSS 1.0, and CSS 2.0. Apparently, the syntax of HTML wasn't good enough for the team that designed CSS, so they came up with something that is close to HTML (emphasis on the word "close").
Okay, so then this whole XML thing started to happen. I'll get to XML in a minute, but apparently CSS 2.0 isn't robust enough for XML, so the World Wide Web Consortium (W3C) decided to design something called XSL. XSL stands for Extensible Stylesheet Language and is a language for expressing style sheets with an XML document. An XSL style sheet is like a CSS, but it's used by an XML document instead of an HTML document. What's XML? Glad you asked!
XML is Extensible Markup Language, a language used to define other tag-based languages. What is a tag-based language? It is a language that is like HTML but with different keywords, or "tags" as they are called. You can use XML to describe data. I've seen XML used to send small pieces of data between different database architectures. By small pieces of data I mean you probably wouldn't want to send a million-record database file as an XML document as it would be huge compared to the data itself. But for a few hundred records or a few thousand records, it works pretty well.
A good place to get a high-level overview of what XML is all about is the W3C's "XML in10 Points" page.
Here is a quote off the W3C's Web site:
"XML 1.0 is the specification that defines what 'tags' and 'attributes' are. Beyond XML 1.0, 'the XML family' is a growing set of modules that offer useful services to accomplish important and frequently demanded tasks. Xlink describes a standard way to add hyperlinks to an XML file. XPointer and XFragments are syntaxes in development for pointing to parts of an XML document. An XPointer is a bit like a URL, but instead of pointing to documents on the Web, it points to pieces of data inside an XML file. CSS, the style sheet language, is applicable to XML as it is to HTML. XSL is the advanced language for expressing style sheets. It is based on XSLT, a transformation language used for rearranging, adding, and deleting tags and attributes. The DOM is a standard set of function calls for manipulating XML (and HTML) files from a programming language. XML Schemas 1 and 2 help developers to precisely define the structures of their own XML-based formats. There are several more modules and tools available or under development."
Is it me, or are we just out of control? Consider this, in the 1980s we had RPG III, DDS, and CL to deal with. Then IBM began pushing SQL. It took nearly 10 years before the AS/400 community embraced SQL syntax. Why? What I've been told is that SQL syntax was too difficult to learn. Yet today nearly everyone I know knows SQL--it just took time to learn. Even so, SQL is still not the de facto standard in all iSeries shops.
Today we have RPG IV, RPG III, CL, DDS, and SQL. And yet on the W3C Web site there are HTML, XML, CSS, XSL, XSLT, DTD, and the balance of 17 other acronyms that are listed before you even get to the "more topics" button.
I have never been confident that Java would survive. I have seen the promise of portability fulfilled, but that's really not interesting to me. I mean, the only people who truly need portability are either software developers or end users who want to move to less expensive hardware.
Look at the direction Microsoft is going; they are not really supporting Java. The runtime performance of Java is poor compared with natively compiled code and, by definition, will always be slower. The thing that could really save Java is if Sun Microsystems would turn over control to an open standards organization. That is, Sun should consider relinquishing control of the Java definition.
As the standards continue to evolve, HTML, CSS, and CGI will be around forever. JavaServer Pages (JSPs) will probably stick around for a few years. Active Server Pages (ASPs--the Microsoft version of JSPs) will be here forever. XML will probably stick around, if not in its present form then in some hybrid variation. As to the rest of the alphabet, who knows? I though DTDs were something that needed to be understood, but now I see that there is a new "XML Schema" standard that is emerging to replace DTDs.
And just when I thought I could use these acronyms in a sentence...