[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GUI



>>>>> "Bruno" == Bruno Haible <haible@ilog.fr> writes:

    Bruno>    Tk (also look at STk) +: Easy to use +: Scheme and
    Bruno> Python bindings already exist ?: Can you really get rid of
    Bruno> Tcl?

        I'm not familiar with the other packages. About a year ago I
browsed through GUI packages for LISP and I was very
disappointed. Things like CLX, CLIM, Garnet are *huge* and not really
widespread. Then I decided to learn a high level scripting language. I
tried Perl and tcl, and became really impressed with tcl power. And
even more impressed with tk power. The tk's main points are the
easyness of use and the high level of abstraction (the canvas widget
for instance). They may not be flexible enough for people working in
GUI projects, but they perform quite well when you want something that
is easy to use, easy to learn and easy to program. Yet it is
powerfull. Tk has a very high leve of abstraction, and it's easy to
link with other stuff, since tcl data is based on strings. There is no
need for portable data type representation, like XDR or stuff like
that. It's all strings. Is there anything more portable than strings?
(recent releases use a double representation: strings for portability
and platform dependent data for speed). If the requirements are
compactness, high level and easy/fast to develop with, then tk is the
best choice.

        Can we get rid of tcl? Probably not. At least at the LISP-Tk
interface level. Anyway, I'm not sure. In Linux, libtcl8.0.so is about
400k and libtk8.0.so is about 600k. I can live with tcl. It can even
be handy when dealing with other system services, like sockets,
etc. Tcl can also load shared objects dynamically, which can provide a
clean path between the mess of LISP objects and C programs. The point
of contact between tcl and C is basically a argc/argv argument list,
all strings, very portable.

        Regards,

-- 
--

*** Rodrigo Martins de Matos Ventura, alias <Yoda>
***  nuron@isr.ist.utl.pt, http://www.isr.ist.utl.pt/~nuron
***   Instituto Superior Tecnico, Lisboa, Portugal
***    PGP Public Key available on my homepage
*** Key fingerprint = 0C 0A 25 58 46 CF 14 99  CF 9C AF 9E 10 02 BB 2A