Tcl Turns 20
Tool Command Language reaches milestone
January 30, 2008 —
(Page 1 of 2)
When John Ousterhout was on sabbatical from the University of California, Berkeley in the fall of 1987, he had an epiphany. During his many years as a programmer and professor of computer science at Berkeley, he'd found himself writing numerous command-line languages for his programs. Whether building an integrated circuit editor or a text editor, Ousterhout felt as though he was constantly creating substandard, implementation-specific command languages for these applications.
His epiphany: write one unified command language that could be extended to fit into any application, regardless of its purpose. And so in January of 1988, Ousterhout set out to create what would become the Tool Command Language, now more commonly known as Tcl and often pronounced tickle.
What happened was, I built it [as a command language], then I realized what I'd really got here was the core of a language that you could extend with functions, said Ousterhout. This extensibility would help to make Tcl an extremely important language for a new graphical user interface that was just coming to prominence.
The X [Window] system had just come out, said Ousterhout. The tools for programming it, like Motif, were extremely difficult to program. I came up with an interface called Tk. That resulted in this system where it was really easy to build user interfaces. People started using Tcl in a very different way than I expected. People took Tcl and Tk together and wrapped them in a primitive application. Then they'd generate these huge Tcl scripts to produce graphical applications.
From those beginnings, Tcl expanded and improved with the help of Ousterhout and collaborators from around the world. Eventually, the language would be used in everything from NASA's Mars Rover to a billion-dollar offshore oil-drilling platform.
But Tcl isn't without its missed opportunities. The biggest of these, said Ousterhout, were related to the Internet.
In 1991 or so, there was a message that appeared on the Tcl newsgroup from a guy saying he heard about this cool thing called the World Wide Web, said Ousterhout, laying out a familiar scenario for many developers at the time. He thought it was really cool, but there were no graphical tools for it. He asked if anyone was willing to work with him to make a graphical front end for the World Wide Web. If we'd done that we would have been out there before Mosaic. Unfortunately, I looked at it like it was the craziest thing I'd ever seen in my life. I thought it was not going anywhere.