2009-05-29 4 views

Antwort

3

Das in Tcl enthaltene Objektsystem ist eigentlich ein oo-Framework. Obwohl es möglich ist, direkt damit zu arbeiten, ist es das Ziel, der Rahmen zu sein, auf dem andere OO-Systeme aufgebaut werden können. Die drei Objektsysteme, die wahrscheinlich am meisten für Tcl (itcl, xotcl, snit) bekannt sind, sind alle in dem von Nathan bereitgestellten Link erwähnt.

Ich habe mit itcl gearbeitet, und es ist sehr einfach zu verwenden, wenn Sie an C/C++/Java/etc gewöhnt sind.

Ich fand XOTcl ein wenig nervig zu arbeiten, aber viele Leute lieben es für seine Kraft, also nehmen Sie das mit einem Körnchen Salz.

Snit ist ein reines tcl OO-System (im tcllib und damit leicht zu bekommen und in jeder Batterie dist enthielt)

Kurze Zusammenfassung: Es ist keinen Standard, per se. Wenn Sie etwas mit der besten Wahrscheinlichkeit installieren möchten, egal wohin Sie gehen, dann ist Snit wahrscheinlich die beste Wahl.

1

Es scheint kein einziges Objektsystem für Tcl zu geben, das als den Standard herausragt, aber XOTcl und Snit sind ziemlich nah; Auf ihnen basiert das Objektsystem, das dem Kern in Version 8.6 hinzugefügt wird (siehe here).

2

Werfen Sie einen Blick auf die für eine vollständige Liste der OO-Systeme für Tcl. Es sieht so aus, als hätten die Leute beschlossen, Incr Tcl in den Tcl-Kern aufzunehmen, was mir sagt, dass Incr Tcl ziemlich nah an Standard war. Während das oo-System im Kern auf anderen oo-Sprachen basiert, glaube ich, dass das Namensraumsystem von Incr Tcl abgeleitet wurde.

http://www.tcl.tk/cgi-bin/tct/tip/50

3

Tcl 8.6 kommt mit TclOO eingebaut (die von eher eine Menge anderer OO-Systeme ableitet) und eine Version von [incr Tcl] als beigetragen Erweiterungspaket. Während ich erwarte, dass die Leute für die meisten ihrer Bedürfnisse irgendwann zu TcloO wechseln werden, tendieren Tcl-Programmierer als Gruppe dazu, lieber nicht zu viel mit funktionierenden Systemen zu basteln und nehmen daher normalerweise nicht so schnell neue Funktionen an.

1

Tcl8.6 hat TclOO-Paket intern. iTcl hat bereits eine neue Implementierung durchgeführt. TclOO liefert einen OO Arch/Mechanismus für andere Pakete wie iTcl, es sollte nicht direkt in Ihrem Code verwendet werden.