Cameron Laird's personal notes on the Web Scripting Forum
Table of Contents
"That's cool." "I've been working six months to develop what
you just described in your talk." "I didn't know you could
do that."
Those were a few of the comments from the
audience at
the Web
Scripting Language Forum. The Forum was one of the eight
tracks
of the
Developer's
Day at the
Eight International World Wide
Web Conference. As the chairman of the session,
I maintain this page to promote
the efforts of the participants to get
their messages out. On the whole, they were successful.
The only press coverage of the Forum I know
appeared
in
SunWorld Online.
Fuller versions of the presentations are available by selecting
the titles.
Python is a popular, free, cross-platform object-oriented
scripting language that's very easy to learn (see
www.python.org).
Python has many applications on the web, from traditional CGI scripts
to all-Python web servers. Guido (Python's creator) will present some
of the hottest tools available to the Python programmer for processing
and generating HTML, XML and other web data types, as well as for
back-end processing. He will then clear the stage for Paul (CEO of
Digital Creations, where Zope was born), who will present the Z Object
Publishing Environment, a.k.a. Zope (see
www.zope.org).
Zope is a
free,
Open Source(tm) web
application platform used for building
high-performance, dynamic web sites. It is perhaps the ultimate and
definitely the coolest Python-based web tool around.
Paul will discuss object publishing, defining resources, and object-relational
integration, new portal toolkit facilities, and the WebDAV/FTP server.
The web is growing at a tremendous pace and the demands for content
beyond simple static pages keeps increasing. There is a critical
shortage of people capable of producing pages with dynamic content.
PHP
is an html-embedded web scripting language which attempts to
lower the bar somewhat and make building dynamic web pages faster
and easier for web site developers of all skill-levels.
In this talk we will go over how PHP came to be, its basic features
and also discuss how PHP has been used in the real world. The
presentation will be made by Rasmus Lerdorf and Stig Bakken, two of
the core developers of the language, so the discussion can get as
technical and low-level as interest warrants.
Lua
is a scripting language that combines procedural features with powerful
data description facilities and reflexive mechanisms. Instead of providing
a myriad of ad-hoc facilities, Lua provides a few powerful mechanisms (e.g.
functions as first-class values) that can be used to simulate many
different language construct, like classes and inheritance.
CGILua
is a CGI application that uses Lua as its language for writing CGI
scripts. CGILua supports both templates (static HTML pages with embedded
code) and scripts, and allows interesting mixes of these two
paradigms. The main design goals of CGILua (most of them shared by Lua)
are:
- simplicity
- portability
- extensibility
Moreover, CGILua uses Lua as its own configuration language, which makes the
tool highly configurable.
The W3C's public working draft
eXtensible Hypertext
Markup Language (XHTML) makes it
possible to extend HTML with new tagsets. How can we use this
today? Note that XHMTL is on schedule to become a Proposed
Recommendation in Spring 1999.
Forms Markup Language (FML), a member of the XHTML family of
document types we have defined, combines common HTML with an enhanced
forms tagset and other interesting new features.
Introducing Mozquito, a large-scale JavaScript application, we
demonstrate the implementation of FML in today's fourth-generation-
browsers.
Our working examples provide a first impression of the benefits
of client-side processing of enhanced forms in the development of
web applications.
Tcl is used by some of the largest Web sites on the Internet for
dynamic page generation and interactive web publishing. This talk
explains why these customers chose Tcl, and goes into detail
to describe how Tcl is used on the
www.scriptics.com Web site and
e-commerce facility.
The Scriptics
web site is built with Tcl Httpd, a pure-Tcl
implementation of a
web server that is available as an open source distribution. The server is
extensible, so you can build a single application that presents a Web interface
to content, an e-commerce facility, and the backend database infrastructure.
Like several other
Tcl-based web servers,
Tcl Httpd implements Tcl+HTML
templates that embed Tcl commands into web pages. These Tcl commands are
processed on the server and get replaced their their result, which can be any
HTML. A template-based approach to dynamic page generation turns around the
standard CGI model. Templates are web pages with small programs in them, and
CGI applications are programs that have web pages inside them. It is much
more natural for site developers and maintainers to work with dynamic web pages
in
template form than to work with CGI scripts.
President of Digital Creations;
first member of the
Python Software Activity.
Stig co-authored the paper on PHP, of which he
has been a co-developer since 1996.
Developer's Day
Program Chair and co-founder of
Groveware
Roberto is an associate professor at
PUC-Rio
(the Catholic University of Rio de Janeiro),
and co-authored Lua and CGILua. His is the paper on
"Lua and the Web".
I chair the Forum, and also will present the paper on
CGILua and act as proxy chair
for the
Open
Source Forum.
I'm an independent consultant who often implements Web and/or
scripted projects. I frequently
write
for the trade press on scripting.
Rasmus co-authored the paper on PHP,
which he originated.
Ellen, a marketing consultant for
Scriptics, is
collaborating on "Tcl in the Scriptics Web
Site and E-Commerce System".
Sebastian co-founded
Stack Overflow AG,
is a co-leader of the Mozquito
programming project, and wrote
"Using XHTML with Mozquito".
Guido invented Python.
Malte co-founded
Stack Overflow AG,
is a co-leader of the Mozquito
programming project, and contributed to
"Using XHTML with Mozquito".
Brent is the author of "Tcl in the Scriptics Web
Site and E-Commerce System", and also
Practical Programming
in Tcl and Tk, which we believe was the top-selling
book on Tcl in 1998.
The audience count ranged from a couple of dozen to over forty.
While the quantity mildly disappointed me (apparently most
attendees that day went to learn XML), the quality was as
high as we all expected. Folks kept up with the ideas,
and seemed generally to be making plenty of connections
between the speakers' offerings and their own needs.
Facilities
Ian tells me
The rooms are to be equipped with a digital projector (at least
800x600 resolution), and with a high-end Windows 95/98 PC. The
PC will have a direct high-speed internet connection, and will
be equipped with CD-ROM and floppy drives (no Zip or other
large-format devices). I've requested the following set of
preloaded software:
- Netscape Navigator 4.5,
- Internet Explorer 4 and 5,
- Powerpoint 97 (maybe '98).
If there are other requests for software, please let me know.
Also let me know if someone needs a Macintosh (giving type
of machine, and required peripherals/software), and I will
try and arrange for one to be available.
You can also plug your own laptops into the display projector --
but note that it may be 800x600, so you may have to drop your
resolution to get things to work. There will also be an ethernet
drop available for laptops, but if you wish to use that, you
should contact me (the day chair) and/or the technical staff
at the conference, so that you can properly configure the machine
ahead of time.
There will also be an overhead projector (I know, I'm
old-fashioned).
Annotated jump pages
I've prepared pages of useful links and a few personal comments on
JavaScript,
Lua,
PHP,
Web scripting with
Python
and
Tcl,
and
Zope.
[Magazine coverage ...]
"Why no Perl?"
A few listeners found
Perl
and VBScript conspicuously absent
from the schedule, and wondered whether a "political" motive
was at work. The answer is, no.
I negotiated with a few potential Perl speakers. The usual
constraints of time-space-matter-energy resulted in the
particular program we had. I was
happy with it.
My goal going in was to make the session memorable. My most
political bias is that Perl and VBScript (and, to a lesser
extent, JavaScript) have plenty of venues, and lose little
by their absence from our session. In any case, as I challenged
the audience during my introduction, their opportunity is to
distinguish each speaker's ideas, implementing language, and
application, and re-combine them to their own best advantage.
By "idea", I mean a proposition such as, "Templating and
scripting are duals" or "Publishing Web objects is a good
model." I was pleased when audience members said afterward
that they'd picked up techniques they planned to use with
Perl.
Cameron
Laird's personal notes on the Web Scripting
Forum/claird@phaseit.net