About this site
















Perl and XML

Monday, March 23, 1998 by Dave Winer.

Good morning!

Today I have a technical tale to tell.

Once upon a time Permalink to Once upon a time

Early in the 90s, Apple had a good idea called the Open Scripting Architecture.

It was a good idea for two reasons. First, it said that scripting would play a large role as the Mac OS went forward. And second, it said that script writers could have a choice of syntax.

History has proved them right, on both counts. The Internet is built around scripting. And choice of syntax is an even bigger issue today than it was in the early 90s.

Plaform-independent OSA Permalink to Plaform-independent OSA

But Apple's OSA didn't catch on because it's very much a Mac thing. It built on the Apple Event Manager and the Component Manager. I think this stuff became part of OpenDoc, and was lost when OpenDoc was cancelled. I'm not sure. But one thing's for sure, if these protocols have been implemented elsewhere, they are not popular outside the Mac.

If OSA had achieved its potential, it would have allowed languages such as Python, Rexx, Perl, Java, JavaScript, Tcl and AppleScript to become plug-ins for applications such as Oracle, PhotoShop, Visual Interdev, Apache, Director, and basically everything.

Therefore, just as the push to do RPC over HTTP via XML has the potential of getting COM, CORBA and Apple Events to talk to each other, an open cross-platform scripting architecture holds the promise of bringing together cultures from every nook and cranny of the software business, from mainframes to handhelds, from graphics people to the folks who keep the Hubble telescope humming.

Imagine writing a PhotoShop plugin in JavaScript or Python.

I think the benefits are obvious.

Perl & donuts Permalink to Perl & donuts

I want Perl to run in Frontier!

I want it the same way Homer Simpson wants donuts.

My eyes roll to the back of my head.

My tongue wags out of my mouth.

I lose consciousness for a moment.

Perl. Hmmm.

Perl & XML Permalink to Perl & XML

Now the Perl guys, our friends at O'Reilly, are talking about making Perl the ideal scripting language for XML. I support that, because I want XML to be everywhere, and Perl already is in a lot of places.


But I wonder if there isn't some way they can leverage our ground-breaking work in XML databases, and get the Perl community up the hill as soon as possible, as strongly as possible, instead of waiting for them to reinvent what we already have working.


We're in a unique position because we already have a database that's well-suited for storing XML structures, and it's integrated with our scripting environment and tool and verb set and multi-threaded runtime.

There's one problem that could neatly be solved by an open OSA. Our environment only runs our own language on Windows, and Apple OSA languages (a very small set, mostly Frontier and AppleScript) on the Mac. We want to offer a choice of syntaxes everywhere.

Microsoft has a scripting architecture called ActiveX Scripting. It gets us a lot of languages, JavaScript, VB Script, Perl. But it doesn't work on the Mac. Further, the Perl culture is centered in Unix, a world where they don't wire up (necessarily) to Microsoft sponsored APIs (an understatement).

The answer is one I think the Perl guys can support. Let's get together a group of the best designers and developers of scripting languages and environments and work out a common protocol that works on and across all popular OSes (HTTP based?) that allows script interpreters to hook into all flavors of tools and runtimes.

Our motive should be clear -- we want all the popular languages to run in our world, and we want to do as little work as possible. In return for not having to do a lot of work, we're willing to invest in an open standard, so our software can be replaced by others who wish to compete with us.

I think the answer is an open cross-platform scripting architecture.

What do you think?

Fastpace Permalink to Fastpace

It's a fast pace these days.

This weekend we delivered on the promise of two DaveNet pieces, Sandboxes and XML Databases.

But there's barely a chance to mention it.

Gotta get back to work.

Seeya sooon!

Dave Winer

© Copyright 1994-2004 Dave Winer. Last update: 2/5/07; 10:50:05 AM Pacific. "There's no time like now."