2009-05-29 32 views

回答

3

包含在Tcl中的对象系统实际上是一个oo框架。虽然可以直接使用它,但它的目标是成为其他OO系统可以构建在其上的框架。 Tcl(itcl,xotcl,snit)可能最广为人知的三个对象系统都在Nathan提供的链接中提及。

我已经与itcl合作过了,如果您习惯了C/C++/Java /等,那么它非常易于使用。

我发现XOTcl有点烦人,但很多人都喜欢它,因为它有一定的盐度。

斯耐特是一个纯粹的TCL OO系统(包括在tcllib,因此,容易得到并包括在任何电池包括DIST)

简短总结:没有一个标准,本身。如果你想要安装的最佳可能性,无论你走到哪里,Snit都是最好的选择。

1

似乎没有Tcl的单一对象系统,它突出了标准,但XOTcl和Snit非常接近;在版本8.6中添加到核心的对象系统基于它们(请参阅here)。

2

查看Tcl Wiki了解Tcl的OO系统的完整列表。看起来好像人们投票选择将Incr Tcl合并到Tcl核心中,这告诉我Incr Tcl非常接近标准。而核心中的oo系统是基于其他oo语言的,我相信名称空间系统是从Incr Tcl派生而来的。

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

3

Tcl的8.6自带TclOO内置(其从相当多的其它OO系统的派生)和版本的[增量的Tcl]作为贡献扩展包。虽然我预计人们最终会转向TclOO来满足他们的大部分需求,但作为一个团队,Tcl程序员倾向于不喜欢用工作系统修补太多,所以通常不会很快采用新功能。

1

Tcl8.6内部有TclOO包。 iTcl已经有了一个新的实现。 TclOO为iTcl等其他软件包提供OO拱形/机制,它不应该直接用在你的代码中。