Tcl-Eiffel was written to fill the gap within SmallEiffel due to the missing graphical user interface (GUI). After having worked with John Ousterhouts Tcl/Tk earlier, I decided to try to connect this to SmallEiffel. Tcl/Tk has some strengths in building very good looking and working GUIs with incredible little cost of work.
As this is especially true with tools like vtcl (see Resources section), I decided not to embed Tcl/Tk into Eiffel by writing wrapper classes but to provide a connection to a standalone Wish shell using the basic Tcl feature "socket". This is also a very economic way as writing wrapper classes for every needed Tcl procedure and Tk widget would have been a long and tedious task.
As a side effect we get the advantage of being able to run the GUI client and the SmallEiffel program (in the following called the server) on different machines as long as there is a standard tcp/ip-based network connection.
As Java is also designed to have strong network capabilities there is no reason why a GUI client should not be written in Java, if one prefers it. But my opinion is that Java is "overkill" in this place because a Tcl/Tk script is fast enough, much more flexible and much easier to create.