''from a posting on news:comp.lang.tcl by [Paul Duffin] (much more of his thoughts is on http://www.cs.man.ac.uk/~fellowsd/tcl/future.html ):'' '''Syntactically / Semantically''' * Everything can be a string (used to be "Everything is a string") * Everything is done using commands. * The $ sign is only a convenient shortcut for the "[[set ...]]" command. - '''FP''' * All commands are treated equally. * A command is a sequence of whitespace separated words. * Each word in a command is treated the same (*before* passing to the command). '''Conceptually''' * No artifical limits. * Provide simple building blocks. * Things should be as general as possible. '''Community''' * Use the best tool for the job. Often Tcl can be the best tool but not always. '''I/O''' * Event driven is good. '''GUI''' * Event driven is good. '''Threading''' * Threads are really little processes inside a big process and therefore should be isolated/protected from one another. * Data shared between threads should be explicitly requested. ---- '''Internationalization''' * Unicode is good, for just about every language. * UTF-8 is good for representing Unicode, when most often you have low-ASCII characters. (RS) '''Error handling''' * Error messages should be helpful and friendly. ---- See also [The Tao of Tcl]