4 ms·
Ousterhout designed Tcl as a general replacement for the kind of small crappy one-off interpreters he found himself adding to larger systems over and over again
by keepitsmall 11y ago
Ousterhout designed Tcl as a general replacement for the kind of small crappy one-off interpreters he found himself adding to larger systems over and over again. At one point he decided that enough was enough and we was going to write an embeddable interpreter with the flavor of a simple shell like bash.
Tcl is great for simple scripting and automated testing. It's also great when you want to represent small bits of data as code. Perspecta Presents[1], one of Ousterhout's first commercial ventures, used Tcl scripts as the file format for its presentations[2].
But Tcl was never intended for large programs. Ousterhout expected large programs to be written in another language with compilers, linkers, linters and other tools. Once a Tcl program gets past a certain size it becomes effectively unmaintable. Tracking down a variable name typo bug in a 100,000 line Tcl program is a hell I refuse to visit again.
1- http://wiki.tcl.tk/4191 http://wiki.tcl.tk/4191
2- http://www.rpi.edu/dept/rcs/packages/ppres/1.10/common/samples/eggs.ppr http://www.rpi.edu/dept/rcs/packages/ppres/1.10/common/sampl...
- ArkyBeagle 11y agoTcl requires a certain level of stylistic discipline and rigor. You are not wrong about tracking down a typo but that's a problem anywhere. That Perspecta file is not pretty to look at.
- deleted 11y ago[deleted]
- icedchai 11y agoExactly. Tcl was intended for embedding into other applications, not for writing fully blown applications itself.