1998: Breakthrough year for scripting
SunWorld debuts biweekly column on scripting news
August 1, 1998: Breakthrough year for scripting -- If you care at all about scripting, you'll want to read this new column dedicated to news, issues and events in the world of scripting languages. This month, columnists Cameron Laird and Kathryn Soraiz write about the Windows Scripting Host, Lua, Perl and Tcl. (1,000 words) August 17, 1998: Report from Pythonia -- Interesting news from the world of Python: the language's "To Do List" and source code have been opened up to the public, and there's talk of a Python consortium being formed. We've also got news on Tcl, MetaCard, and an answer to the reader question: Why do you care about the Oracle Linux port? (1,200 words)
No, not because Perl has been made safe for MacOS and Windows, or because there's now a bona fide company behind Tcl, or any of the other obvious technical accomplishments. What really mattered to scripting languages over the last year were three breakthroughs in the outside world: Microsoft conceded the importance of scripting with its announcement of the Windows Scripting Host (WSH); Netscape forced MIS managers to take open source software seriously with its release of Communicator's source code; and Oracle announced it was porting its database to Linux.
Scripting languages have always received less attention than their engineering merits warrant. Apparently the trade press feared someone would accuse them of wasting space on toy technologies or academic playthings. Whatever the reason, there's been a gap in coverage of these workhorses.
The purpose of this column is to fill that gap by reporting what's truly going on with the people and businesses that make scripting languages work. I won't argue here about whether Python's indentation scheme is a virtue or vice; I will analyze the growing number of Python consultancies, and point out where you can go to learn the technical details for yourself. Sometimes that'll mean a bits-and-bytes look at protocols or code fragment; sometimes I'll dive into financial statements.
Longer term, though, all three of these changes will broaden the horizons of corporate developers, exposing them to the more flexible and nimble development practices typical with scripting. As the safety of open source and scripting technologies gains wider recognition, it will be natural to build more mixed solutions, where compiled components are scripted together into finished applications. Scripting is all about getting jobs done quicker and more reliably -- and this focus should only become stronger.
Congratulations to the Lua community. With the release of 3.1, including anonymous functions and closures, the Lua extension language is done, according to core developer Luiz Henrique de Figueiredo. Never heard of Lua? As one user, Ashley Fryer, recently wrote in the Usenet newsgroup rec.games.programmer, "Lua is a truly wonderful language -- clean, small, efficient, and free for commercial use...I haven't seen any language (including Python) that is a better choice for embedding." Lua is slimware; all the source code totals well under 10,000 lines. Its user base is also small; there might be only a few tens of thousands of Lua programmers in the world. They're very fond of this language, though, and the imminent explosion of ubiquitous embedded processing (computers in your car, in your plumbing, and in your kitchen appliances) can only work in favor of Lua.
If the language has everything it needs, what work remains for Lua system programmers? The core team at the Grupo de Tecnologia em Computacao Grafica of the Pontifical Catholic University of Rio de Janeiro is now planning a book, and hopes to modernize the TkLua graphical toolkit later in the year.
It's been an eventful year for Tcl. The good news is that a freestanding Tcl/Tk Consortium is in place and poising itself for recognition with a late summer release of an ambitious, low-cost, state-of-the-language CD-ROM. Scriptics Corporation appears to have a strong client base after just a few months of independent existence, and is hiring engineers even faster than it first anticipated.
The not-so-good news is that the Consortium's membership remains below expectations, and its budget is correspondingly fragile. Further, as Scriptics concentrates on its paying customers, Tcl release 8.1 has been pushed back to spring 1999.
Most frequently-asked question in the Tcl world: What's the relation between Scriptics and the Consortium? Answer: Not much. They're independent, even to the point that individuals associated with each mildly disagree (behind closed doors) about such matters as the development plan for version 8.1. Sometimes they cooperate. Mostly they go about their separate businesses.
Not so long ago, comp.lang.perl.moderated was approved as a new Usenet newsgroup by a massive 1127 to 46 vote. It will be interesting to see what the practical consequences are: will newsgroup communications be more rewarding, civil, and organized than the notoriously testy comp.lang.perl.misc has become?
O'Reilly and Associates is turning Perl into a showcase of how-to-make-money-from-a-free-product. It's not just the eight Perl titles in its funny-animal catalogue (sales are booming, by the way). Open source software advocates have long argued that cleverly-promoted, market-differentiated, value-added offerings could be layered on top of free software. O'Reilly's Perl Resource Kits are a perfect model for this proposition. Notice, for example, how the Win32 flavor gets attention from the information technology trade press.
Over the next several weeks, I'll cover the annual conferences for Perl, Tcl, and Python programmers (in August, September, and November, respectively), write about specific product releases, look at how Python's progress is financed, introduce a few specialized scripting languages, and much more. Stay tuned.
August 17, 1998: Python makes strides in portability race
If you're looking for a portable, convenient, and safe development platform, you can't beat Python. While portability was designed into Python from the start -- almost 10 years ago -- the language racked up some of its biggest successes just this summer. On July 16, longtime Pythoneer Jim Hugunin released Version 1.0 of JPython. This is a 100% Pure Java implementation of Python, "integrated seamlessly with the Java platform," according to Hugunin. It runs everywhere a minimal Java virtual machine (JVM) can be found.
The next day, July 17, Web application specialist Brian Lloyd announced Version 1.0b1 of Python CE. This port of Python to Windows CE looks so good it has pythoneers talking "killer app." What they really mean by this is killer development environment, compared to other rather clumsy Windows CE languages like Visual C++ and Visual Basic. As Python's creator, Guido van Rossum says, "These little boxes are currently very hard to program for, and they are too small to run Java (yet). So there's a niche for Python." It's not hard to imagine Python establishing itself as the natural language for the vertical markets -- the automotive and appliance spaces, for example -- Windows CE is currently colonizing.
That's only a part of the action in Pythonia. Van Rossum recently opened up the Python "To Do List" for public inspection and update. Now anyone can feed an idea into the list; suggestions from all Python users -- from beginners to seasoned experts -- will get the same attention. In the software world, it's rare for a development team to even have a clear goal, much less negotiate it in public, so van Rossum's move is well worth applauding. It should also move part of the development burden from his overloaded shoulders. In another important step, van Rossum opened up Python's master source code repository for read access this month.
Web site developer.com has caught the wave. It features JPython as its mid-month "What's New?" item. Earlier this summer, Python made a strong showing in developer.com's "User's Choice" language poll, despite being a write-in candidate.
One more item on van Rossum's agenda is the creation of a freestanding Python consortium. Its role? He says, "A consortium could do a lot of good work in integrating those patches, and coordinating all those independent efforts." His timeline hasn't yet been set.
The Python Journal will begin to cover all this and more after the first of September. Good luck to the cooperative team Unix consultant Sean Reifschneider has put together.
Tcl needn't be ashamed of its own portability accomplishments. While it has only a development mailing list for the Palm handhelds so far, it's ahead of Python on OS/400 and a variety of realtime microprocessor operating systems. MacTclers, though, are worried; the core development team at Scriptics has no MacOS engineering machines, let alone a programmer assigned to Macintosh.
Tcl's development process seems to be opening up. On August 3, its creator, John Ousterhout, announced plans for versions 8.0.3 and 8.1, and insiders have written that, "John O. has suggested putting the Tcl core on an anonymous CVS (Concurrent Versions System) server," in the manner of Linux, Apache, and so on. We'll examine this shift in more detail in a future column.
Reader Letter: What's the Oracle connection?
Reader Cheryl Dixon wrote after reading the last column,
I'm still not clear on how and why Oracle's announcement that it's porting its database to Linux has helped promote scripting languages. Could you explain this in more depth?
Absolutely. Thanks Cheryl, for giving us the opportunity.
One of the reasons we created Regular Expressions is that scripting languages receive less press attention than their technical accomplishments merit. Plenty of management-information-systems (MIS) or information-technology (IT) decision makers still believe they're toy languages. The no-charge availability of most scripting languages contributes to this impression.
With Oracle's announcement, though, it has become impossible to dismiss software products simply because their creators give them away. As attitudes slowly adjust, scripting languages will be evaluated more for their engineering merits, rather than dismissed for the crime of low cost.
What we haven't mentioned before, though, is a second aspect to the Oracle announcement that bears on scripting's success. This column's mission is to look at scripting realities, not promote or disparage free software. One lesson many organizations are still learning as consumers is how to combine different business models. For the full story on how to make the best use of Oracle, for example, they need to go beyond what Oracle sales reps advise. We work on projects that access Oracle (expensive) through Oratcl (free), running on both NT (commercial) and Linux (free) hosts. Neither the for-fee nor for-free side monopolizes reliability and functionality, and wise developers know how to put both sides to work.
This can be a learning experience for purchasing or budgeting departments. Anyone who isn't this flexible, though, will have difficulty delivering quality applications.
Remember: Regular Expressions doesn't confine itself to one side of the for-free/for-fee boundary. You don't need to, either. One charm of scripting languages is the way they unify disparate technologies into manageable delivered solutions.
Several different commercial models support scripting languages themselves. MetaCard, for example, is a scripting language just as Perl or Rexx are scripting languages. Unlike them, though, MetaCard comes from only one source: the profitable MetaCard Corporation. MetaCard, promoted as a multimedia authoring tool and GUI development environment for Unix/X11 workstations and Microsoft Windows 95/NT, returns to its Macintosh roots in the next few weeks.
MetaCard will round out its operating system catalog soon with a new version for MacOS. It's an intellectual descendant of HyperCard, a famous early product for Apple computers. When will it emerge as a product? MetaCard President Scott Raney points to the end of the month: "Hopefully it'll be a done deal by then." According to Raney, the final beta-test release of MetaCard (which includes support for MacOS in addition to Windows and Unix) went out Monday, August 10.
Next month we'll look at another commercial scripting language, review action at the Perl Conference, launch a Regular Expressions FAQ, and bring you up to date on who's writing books on which languages for which publishers. See you then.
If you have technical problems with this magazine, contact firstname.lastname@example.org