The (Active) State of Tcl
Total Page:16
File Type:pdf, Size:1020Kb
The (Active) State of Tcl 15th Annual Tcl Conference (2008) Jeff Hobbs Director, Languages ActiveState Corporation Agenda Introduction What has happened… Developments in the Tcl community The Active State Developments of the Tcl/Tk core Future directions About ActiveState ActiveState Software Inc. Over 10 years focusing on open source dynamic languages Independent again since February, 2006 ActiveState provides multi-language, cross-platform software & services Tcl, Perl, PHP, Python, Ruby AIX, HP-UX, Linux, Mac OS X, Solaris, Windows, … Comprehensive Software Stacks for Dynamic Languages Make programming easier using dynamic languages Active distributions Software development tools (IDEs, Dev Kits) Programmer resources (ASPN) Enterprise support & OEM redistribution History of Tcl 1. Tcl created as general-purpose 4. Scriptics formed: command/scripting language by 7. ActiveState introduces • Evolve and extend Tcl platform Tcl support and services John Ousterhout • Create development tools 6.0 Sept 7.0 Sept 7.4 July 7.6 Oct 8.0 Aug 8.1 Apr 8.3 Feb 8.4 Sept 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 … 8.2 Aug 5. Tcl Core Team 8.3.5 EOL Oct formed (August) 2. Open source distributions from U.C. Berkeley: 6. Scriptics/Ajuba Acquired • Easy GUIs under Unix by Interwoven (Nov) • Extensible applications 3. Tcl enhanced at Sun Microsystems: 8. ActiveState acquired by • Windows, Macintosh ports Sophos (Sept) • Web/Internet support • Java support Recent History of Tcl Sophos Acquires ActiveState (Sept) ActiveState Publishes Dynamic Languages ActiveState Tcl Dev ActiveState Tcl Dev Whitepaper (July) Kit 2.6 (May) Kit 3.0 (Dec) 8.5a1 Mar 8.5a3 June 8.5.0 ?? 2003 2004 2005 … 9.0 ?? 10th Tcl Conference 11th Tcl Conference 12th Tcl Conference (July) Ann Arbor (Oct) New Orleans (Oct) Portland 8.4.7 July 8.4.11 June Tcl’Europe 2003 (May) Recent History of Tcl ActiveState Becomes Independent From Sophos (Feb) 8.5b1 Sep 8.5.0 Dec 8.6a3 Oct 8.6.0 !! 2006 2007 2008 … 9.0 ?? 13th Tcl Conference 14th Tcl Conference 13th Tcl Conference (Oct) Chicago (Sep) New Orleans (Oct) Manassas 8.4.14 Oct 8.4.16 Sep 8.4.19 Apr 8.5.5 Oct You are here Status as of Tcl’2007 September 24-28 New Orleans Mmm mmm good Tcl/Tk 8.4.16 was the standard stable version Further stabilization 8.4 now base standard in all distros 5 years since 8.4.0 Numerous enhancements and additions Getting long in the tooth ... 8.5b1 released Focus on putting 8.5 to bed 8.6 vs. 9.0 Primary topics … 8.5 finalization Food Tcl Core Team Formed in August 2000 with 14 charter members Elected by community vote Collectively manage development of the core Now at 16 members Mo DeJong Andreas Kupries Donal Fellows Karl Lehenbauer Mark Harrison Joe English (2005) D. Richard Hipp Jan Nijtmans Jeffrey Hobbs John Ousterhout George Howlett Don Porter Jim Ingham Brent Welch Kevin Kenny (2001) Miguel Sofer (2004) TCT: TIP Initiatives TIP page for Tcl http://tip.tcl.tk/ TIPs are intended to guide and document development on the core They focus on new or changing features, not bugs Voted on by the TCT following community discussion using the TYANNOTT process Currently 335 TIPs Divided into process, informational & project TIPs TCT discussion is open on the public mailing list: [email protected] Tcl/Tk Maintainers Tcl/Tk maintainers are separate from the TCT Maintainers oversee a specific area of the core, as defined in TIP #16 (Tcl) and TIP #23 (Tk) They assist, but are not solely responsible for, fixing bugs and adding docs in their area They are responsible for reviewing code and approving code changes to their area Open to anyone willing to learn the core New volunteers always welcome The Maintainers… Tcl (TIP #24): Daniel Steffen Jim Ingham Kevin Kenny Jeff Hobbs Miguel Sofer Andreas Kupries Rolf Schroedter Vince Darley Don Porter Jan Nijtmans Donal Fellows Mo DeJong Pat Thoyts Joe Mistachkin Pavel Goran Tk (TIP #30): Allen Flick Peter Spjuth Todd Helfter Jeff Hobbs George Smith Frédéric Bonnet Kevin Griffin Vince Darley Chengye Mao Jan Nijtmans Donal Fellows Mo DeJong Joe English Daniel Steffen Ben Riefenstahl Miguel Bañón Always open for new recruits … Tcl @ ActiveState ActiveState established 1997 “Dynamic Tools for Dynamic Languages” Used to be Perl specific . Well known ActivePerl distribution Added Python and XML/XSLT expertise in 2000 Jeff Hobbs & Andreas Kupries hired in 2001 Other knowledgeable Tcl’ers on staff Wealth of scripting knowledge at ActiveState Acquired by Sophos in September 2003 Freed from Sophos in February 2006 ActiveState remains dedicated to dynamic languages ActiveState and Tcl ActiveState provides the Tcl community with… Improvements to open source Tcl core Host of the Tcl Developer Xchange Enterprise support infrastructure Professional services for Tcl High quality development tools . ActiveTcl • Batteries-Included free distribution . Komodo IDE • Professional IDE with extensive Tcl support . Tcl Dev Kit • Essential tools for Tcl programmers . ActiveTcl Pro Studio • Tcl Dev Kit, Komodo IDE, Safari Online ActiveState 2008 Tcl Cookbook on new ASPN ActiveTcl 8.4.19.0 Based on the 8.4.19 Tcl core Released September 2008 Enhanced with many popular extensions XOTcl, [incr Tcl], TclX, expect, tcllib, tklib, Bwidgets, iwidgets, tktable, tkcon, tile, SQLite, … 300+ packages in all A standard batteries-included distribution for Tcl users Available for AIX, HP-UX, Linux, Mac OS X (universal), Solaris (x86 and sparc), Windows . Windows and OS X builds are fully threaded Other platforms supported in Enterprise Edition TEApot code repository via teacup ActiveTcl aes asn autoproxy autoscroll Banking base64 bee bibtex blowfish BWidget calendar cgi2dom cksum cmdline comm compiler control counter crc16 crc32 critcl csv ctext cursor datefield dde des dns docstrip doctools dom dommap domtext domtree exif expat Expect fileutil ftp ftp::geturl ftpd getstring history html htmlparse http ico ident Img inifile ip ipentry irc Itcl Itk Iwidgets javascript jpeg jpegtcl ldap log logger math md4 md5 md5crypt Memchan mime Mk4tcl mk4vfs msgcat multiplexer ncgi nntp opt Oratcl parser Plotchart pluginmgr png pngtcl pop3 pop3d pop3d::dbox pop3d::udb profiler puretclparser rc4 rcs registry report resolv ripemd128 ripemd160 rpcvar SASL sgml sgmlparser sha1 sha256 smtp smtpd snack snackogg snacksphere snit SOAP sound soundex spf sqlite3 starkit stooop struct style sum swaplist switched Tablelist tar tbcload Tcl tclDES tclDESjr tcllibc tclparser TclScript tcltest Tclx tcom tdom tdomhtml textutil Thread tie tifftcl tile time tipstack Tk Tkhtml tkpiechart Tktable tnc tooltip treectrl treeql Trf trofs units uri uri::urn uuencode uuid vfs vfslib vu widget widget::all widget::dialog widget::panelframe widget::ruler widget::screenruler widget::scrolledwindow widget::superframe win32 xml xmldefs XMLRPC xmlswitch XOTcl xpath xslt xslt::cache yencode zipvfs zlibtcl ActiveTcl 8.5.5.0 Based on the 8.5.5 Tcl core Released October 2008 – on your USB key Distributed with fewer extensions Can utilise the 8.4 extension set 90+ packages - the rest available via teacup Considered the default download An enhancement to the stable 8.4 distribution Available for AIX, HP-UX, Linux, Mac OS X, Solaris, Windows . All builds are fully threaded (including known pthread/fork issues) What are you missing? ActiveTcl 8.6.0.0 Beta 1 Based on 8.6a3 Tcl core Not yet released - on your USB key Similar to ActiveTcl 8.5 extension set More discussion on 8.6 to follow The TEApot Binary code repository in the style of ActivePerl's PPM Fully populated for ActiveTcl platforms Makes use of Tcl module system Allows zip archives with special teapot.txt Repository is web visible, but rough Downloads index – local searches Integrated with TclApp package searching (TDK 5) ActiveTcl Pro Studio Formerly ASPN Tcl Introduced December 2001 Professional Tools for Tcl Developers Tcl Dev Kit 5.0 Komodo Pro IDE 4.4 (5.0 now in beta) Safari Bookshelf online books Tcl Dev Kit 5 5.0 released October 2008 Added 8.6 support Enhanced static syntax analysis Supports multi-architecture starkits, x-platform starpacks Includes the traditional TclPro tools, revamped: Debugger: source-level debugger with GUI Checker: find errors without running application TclApp (Wrapper): create self-contained applications for distribution Compiler: protect your source code Enhanced features and UIs for original tools Version independent from ActiveTcl Tcl Dev Kit 5 Additional tools Coverage: coverage and hot-spot analysis built into the Debugger TclSvc: create and manage Tcl scripts as Windows NT services TclApp: rewrite of the wrapper based on VFS and starkit architecture, cross-platform wrapping Inspector: runtime Tcl application browser to complement the Debugger X-ref: examine dependencies in your code VFS Explorer: examine starkits/starpacks Komodo 5 Professional IDE for dynamic languages Professional IDE features Integration with Tcl Dev Kit Unique Tcl editing features Cross-platform (Windows, Linux, & OS X) Also supports Perl, Python, PHP, Ruby and more New in 5.x ... Added support for git, hg, bazaar (4.x had cvs, p4, svn) Code formatting tool hooks Multiple toplevel windows Faster and slicker UI Performance improvements and bug fixes Komodo 5 In the Community… The Tcl Developer Xchange: http://www.tcl.tk/ aka http://tcl.ActiveState.com/ Official home page for Tcl and Tk Formal front-end, downloads,