2009-05-29 7 views

Répondre

3

Le système objet inclus avec Tcl est, en effet, une structure oo. Bien qu'il soit possible de travailler directement avec, son but est d'être le cadre sur lequel d'autres systèmes OO peuvent être construits. Les trois systèmes d'objets qui sont probablement les plus connus pour Tcl (itcl, xotcl, snit) sont tous mentionnés dans le lien fourni par Nathan.

J'ai travaillé avec itcl, et c'est très facile à utiliser si vous avez l'habitude de C/C++/Java/etc.

J'ai trouvé que XOTcl était un peu ennuyeux à travailler, mais beaucoup de gens l'adorent pour sa puissance alors prenez ça avec un grain de sel.

Snit est un système OO pur tcl (inclus dans tcllib et, par conséquent, facile à obtenir et inclus dans les piles incluses dist)

Résumé court: Il n'y a pas une norme, en tant que tel. Si vous voulez quelque chose que vous pouvez utiliser avec la meilleure probabilité d'être installé, peu importe où vous allez, alors Snit est probablement le meilleur choix.

1

Il ne semble pas y avoir un seul système d'objet pour Tcl qui se démarque comme la norme, mais XOTcl et Snit sont assez proches; le système objet ajouté au noyau dans la version 8.6 est basé sur eux (voir here).

2

Jetez un oeil à la Tcl Wiki pour une liste complète des systèmes OO pour Tcl. Il semble que les gens ont voté sur l'incorporation de Incr Tcl dans le noyau Tcl, ce qui me dit que Incr Tcl était assez proche de la norme. Alors que le système oo dans le noyau est basé sur d'autres langages oo, je crois que le système d'espaces de noms a été dérivé de Incr Tcl.

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

3

Tcl 8.6 est livré avec TclOO construit (qui dérive plutôt beaucoup d'autres systèmes OO) et une version de [incr Tcl] comme un ensemble d'extension contribué. Bien que j'anticipe que les gens passeront éventuellement à TclOO pour la plupart de leurs besoins, les programmeurs Tcl en tant que groupe ont tendance à ne pas trop se préoccuper des systèmes de travail et n'adoptent donc généralement pas de nouvelles fonctionnalités aussi rapidement.

1

Tcl8.6 a le paquet TclOO interne. iTcl a déjà une nouvelle implémentation. TclOO fournit un arc/mécanisme OO pour d'autres paquets comme iTcl, il ne doit pas être utilisé directement dans votre code.

Questions connexes