Technical Communicators and Scripting:
Why Tcl, Perl, and shell scripting matter to us

Thomas Albert
UC Berkeley Extension Instructor of
Technical Communication
Summary and synthesis of the Silicon Valley Linux User's Group Meeting (6 October 1999)

Text-Oriented Scripting Languages versus Compiled Systems Languages

Scripting languages are interpreted at runtime, unlike compiled system languages, such as C and C++, that produce binary output. Many compiled languages, such as Pascal, and to a lesser extent, C, are strongly typed, and force the programmer to declare the datatype of each variable. An exception is the original object-oriented language, SmallTalk. Full-time professional programmers traditionally use compiled system languages, whereas system administrators and technical communicators are more likely to dabble part-time in scripting languages.

DOS users sometimes make "batch scripts" of commands they would otherwise have to issue one-by-one at the command line. Macintosh and Windows users generally inhabit a graphical user interface remote from text-based scripting.

Among the family of scripting languages are:

Scripting language tend to run slower because they do not have a binary executable that talks directly to the operating system kernel in machine language. Instead, a runtime interpreter or engine processes each line of the script at runtime. Fast hardware makes this disadvantage less important. An advantage of scripting languages is that the interpreter parses and processes the script line by line, so there is much less likelihood that a bug will cause the operating system to crash.

The Age of Software Integration Relies on Text-Based Scripting and XML

Dr. John Ousterhout, inventor of the widely used scripting language, Tcl, former professor at U.C. Berkeley, pioneer at Sun Microsystems in the early days of Java, and currently CEO of Scriptics (, captived over two hundred software developers at the October meeting of the Silicon Valley Linux Users Group with his prognostications about the emerging era of software development: the Age of Software Integration.

Ousterhout's observes that, more and more, software development coalesces into two layers or phases:

os.gif (1781 bytes) Scripting can "glue" applications together and even integrate business processes across protocols, such as XML and HTTP os.gif (1781 bytes)







XML, eXtended Marked Language, extends HTML to enable the programmatic description of content (not just rules for displaying format). XML provides a text-based solution for information sharing between organizations and even devices, such a fluid flow sensors and controllers in a factory.

Technical writers become more technical at the same time that software development become more textual.

Why the Age of Software Integration Matters to Technical Communcators

Technical writers become more technical at the same time that software development become more textual. Technical communicators are increasingly being asked to document, and perhaps even contribute to, scripted solutions.

More and more, a technical communicator's day-to-day work, stock portfolio, and professional fate depends upon mergers and aquisitions of software development organizations. These business deals force the consolidation and integration of pre-existing applications. Corporate strategists know it is generally quicker to buy than to build, whether the objective is a database of customers or a software suite to garner market share.

For example, America Online finally gave up on its own web browser and bought Netscape. In the shift from product to portal, Netscape ended up using a highly adaptable scripting language, Tcl, to continually tweak its web presence.

In the old days, narrowly focused programmers built the original components using strongly-typed, compiled system languages designed for building from scratch and catching programming errors at compile time. Indeed, the Unix operating system itself is written in systems programming language, C.

Nowadays, however, very little programming involves the invention of fundamentally new data stuctures and algorithms. Relatively few programmers create radically new protocols (such as TCP/IP) or compression mechanisms (such as that used by digitized photographs in the JPEG format). Graphical user interfaces are familiar. People know what a mouse is.

Nowadays, businesses demand connectivity, integration, seemless turn-key flow across what used to be isolated arenas. Re-using exisiting technologies, software assets, and information is key. Advanced integration of telephone lines, television cables, and data communications holds great promise. Recent booms in Enterprise Resource Planning (ERP) and Customer Management (CM) to link departments throughout the enterprise. Automating the supply chain, a hot new trend, involves linking applications that reside not just within one enterprise but between different companies. Companies such as Oracle shift their business growth model to that of Application Service Provider (ASP), an integration of database expertise and web-based commerce.

Enter the integrator. The integrator cannot know all the low level details of every component. Instead, the integrator possesses knowledge of a business function. The integrator might be a business analyst who wants to route CAD drawings, email messages, and legal documents to the proper people at the proper time, whether those people work within his organization or outside of it.

Consider the pharmaceutical industry, which the Food and Drug Administration regulates. Consider health maintenance organizations (HMOs) that need to keep tabs on internal and external health care providers, and manage the routing and verification of huge amounts of information ranging from finances to scientific data.

We see the trend most clearly in the career Jim Clark, who founds and runs key enterpises:

What are scripted solutions?

Scripted solutions provide a flexible means of coping with the oxymoron of "constant change". John Ousterhout discovered that NBC used his Tcl scripting language for a prototype application to handle the sequencing of video components. The hectic pace of video journalism never gave NBC the free time to port the prototype to a system language.

In the era of integration, it is not just "time to market" that counts, but also "time to solution" within an organization. If a company that manufactures hardware and software can automate a basic level of quality assurance, its quality assurance staff can focus on tough and interesting problems. Scripting languages are perfect for the quick glue to link the output of test device X with the input of test device Y, and then concatenate and reformat the data into a report for viewing over the web. This sort of thing is one reason why both Motorola and Cisco use Tcl for automated testing.

Disney and Pixar wanted to script the movements of cartoon characters before embarking on the "expensive" and time-consuming process of 3-D rendering, so they turned to Tcl.

Documenting high level application programming interfaces (APIs) is a common specialty for technical communicators. As the software industry moves forward into the new millenium, the key languages for us to become familiar with might not be C, C++, and Java, but scripting languages such as JavaScript, VBScript, Tcl, and Perl.

Consider the emergence of Scriptic's BizConnect for rapid XML-based business-to-business communication. This development environment, written in the Tcl scripting language and its extension toolkit for building GUIs, Tk, enables the business analyst to use drag and drop when cobbling together a set of components, documents, and actions into a industry solution.

Consider Quadralay WebWorks Publisher, a technical writer's dream tool for converting large FrameMaker documentation sets into web sites that invite user interaction. Quadralay runs scripts in the background, and allows the technical communicator to tweak the scripts for just-in-time customization.

It is not unusual for technical communicators to run, or even write, scripts that perform such tasks as:

The technical writer with basic script literacy can adapt the script to run on the local machine, locating the source files and configuring the output directory.

copyleft copyleft.gif (70 bytes) October 1999 Thomas Albert
Contact for more information