View · Search · Index
No registered users in community xowiki
in last 10 minutes

[Xotcl] TIP #257: Object Orientation for Tcl

From: Jeff Hobbs <jeffh_at_ActiveState.com>
Date: Mon, 26 Sep 2005 10:40:02 -0700

I know that many on this list will be interested in the
following TIP just propsed:

        TIP #257: Object Orientation for Tcl
        http://www.tcl.tk/cgi-bin/tct/tip/257

This is indeed based on xotcl, but it is *not* xotcl. There
are good reasons for this overall (but not necessarily for
each individual change ;) ). I would like xotcl users who
are interested to please read this TIP carefully, but to
bear a few items in mind:

1. We know that syntax will change. Some is terminology, and
not all features are being adopted. This is not intended to
be a TIP to include all of xotcl, but rather to provide a
well featured oo:: base. itcl, snit and whatever isn't
included from xotcl should be easily built on this base. At
the same time, xotcl as an independent code base will
continue to work just fine.

2. Not all Tcl users are OO lovers. Some are just OO
agnostic and want to remain that way (like all the non-CS
technical folks). For those who like OO, most come from OO
worlds dominated by Java. Terminology that they will be
familiar with is important. At the same time, we want to
create the best system for Tcl (and Tcl is better than Java).
The oo::tcl approach at least tries to address this without
losing many of the benefits of XoTcl.

3. Megawidget support - whatever the solution it absolutely
must be consistent with the goals of bringing a standard
megawidget facility to Tk. I personally use snit::widget
for this, with its delegation based system. I have not
seen any other system come close to its ease of megawidget
development (including xotcl based ones). Many of the
large systems in Tcl are Tk-based, and they will benefit
greatly from standardized OO. However, if the system isn't
"Tk friendly", it will be rejected.

I'm sure there are lots of other good, pithy comments I
could make, but I'll let you guys (and gals) digest the
basics first.

Regards,

  Jeff Hobbs, The Tcl Guy
  http://www.ActiveState.com/, a division of Sophos