2009-05-29 94 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拱形/機制,它不應該直接用在你的代碼中。