The Toe package was born of necessity. A software application being written in Tcl was getting large and complex. The concern that a dedicated and complicated application might incur many requests for changes fueled a desire to design it with more structure, and to make it more maintainable. With decent prior knowledge of C++ and Java, we took the path of greatest familiarity, and decided to find out how the application of a known object-oriented approach to Tcl programming would improve the development experience.

The OO offerings in Tcl that were available at the time were not deemed good fits for the need, each for separate reasons. So, being firm supporters of Tcl, and suspecting the community reaction if a sense of constraint were expressed about existing technology, we undertook to solve the problem directly.

In terms of priorities, pragmatism ruled. A component-promoting feature set came first; coming second was similarity with C++ and Java, as broadly accepted OO languages; left to later on was best performance. A key benefit would be that learnings from substantial OO design literature, being highly Java- and C++-centric, could become immediately relevant. Along the way, a particular solution was refined into a package that could be generally useful to others, and amenable to future improvements.

Contact: