Title: The Active State of Tcl
1The (Active) State of Tcl
- 9th Annual Tcl Conference
- Jeff Hobbs
- ActiveState Corporation
2Agenda
- Introduction
- What has happened
- Developments in the Tcl community
- Developments of the Tcl/Tk core
- Future directions
3About ActiveState
- ActiveState provides multi-language,
cross-platform software services - Tcl, Perl, PHP, Python, XSLT
- Linux, Solaris, Windows, HP-UX, AIX,
- We make it easy to use new technologies
- Web Services and .NET
- Mission Make Programming Easier
- Our IDEs
- Active distributions
- ASPN
4History of Tcl
7. ActiveState introduces Tcl support and services
1. Tcl created as general-purpose
command/scripting language by John Ousterhout
- 4. Scriptics formed
- Evolve and extend Tcl platform
- Create development tools
8.0 Aug
6.0 Sept
7.0 Sept
7.4 July
7.6 Oct
8.1 Apr
8.3 Feb
1988
1989
1990
1991
1992
1993
1995
1997
1998
1994
1999
1996
2000
2001
8.2 Aug
5. Tcl Core Team formed (August)
- 2. Open source distributions
- from U.C. Berkeley
- Easy GUIs under Unix
- Extensible applications
6. Scriptics/Ajuba Acquired by Interwoven (Nov.)
- 3. Tcl enhanced at Sun Microsystems
- Windows, Macintosh ports
- Web/Internet support
- Java support
1M ?
100
1000
10,000
100,000
500,000
5Recent History of Tcl
6. ActiveState introduces Tcl support and
services (Feb)
1. Tcl2K in Austin (Feb)
2. Scriptics becomes Ajuba (May)
9. 8th Tcl Conference (July)
8.4.0 Sept
8.3.1 Apr
8.3.2 Aug
8.3.3 May
8.4a3 Mar
2000
2001
2002
8.4a3 July
8.4b2
8.3.0 Feb
8.4a1 June
8.4a2 Nov
8.3.4 Oct
8.4b1
7. TclEurope 2001 (June)
3. TclEurope 2000 (June)
10. ActiveState TclPro (Dec)
11. ActiveTcl 8.3.4.3 (July)
5. Scriptics/Ajuba acquired by Interwoven Tcl/Tk
core moves to SourceForge TclPro open sourced
(Nov.)
4. Tcl Core Team formed (August)
12. ActiveState Tcl Dev Kit 2.0 (Aug)
6Tcl Usage
- Tcl usage is still growing
- Used extensively for mission-critical
applications - Cisco, Motorola, Lucent, Nortel, etc.
- Automated hardware testing
- Coordinate different pieces of test equipment
- Tcl omnipresent in EDA industry
- AOL Digital City, Travelocity, MapQuest
- Dynamic Web content
- Integrate information from different sources
- Content developers are not programmers
7Tcl Usage, Contd
- More mission-critical applications
- NBC
- Digital broadcast control system
- Mix programming content, control transmission
through satellites to local stations - Pixar
- Used in animation tools (RenderMan software)
- Technical directors write Tcl scripts to animate
characters - Shell Oil
- Real-time control for offshore oil platforms
- Coordinate, manage various systems
8Status As of 8th Tcl Conference
- At OReilly Open Source Convention,San Diego,
July 2001 - Tcl/Tk 8.3.3 was the stable version (8.3.x now
standard in Linux distributions) - 8.4a3 was just released
- ActiveState was just establishing with Tcl
expertise
9Tcl Core Team
- Formed in August 2000 with 14 charter members
based on community voting to collectively manage
development of the core
10TCT TIP Initiatives
- TIP page for Tcl http//www.tcl.tk/cgi-bin/tct/ti
p/ - TIPs are intended to guide and document
development on the core - The focus is on new or changing features, not
bugs - Voted on by the TCT following community
discussion using the TYANNOTT process - Currently over 100 TIPs
- Divided into process, informational project
TIPs - TCT discussion is open on the public mailing
list tcl-core_at_lists.sourceforge.net
11Tcl/Tk Maintainers
- Tcl/Tk maintainers are separate from the TCT
- Maintainers oversee a specific area of the core,
as defined in TIP 16 for Tcl and TIP 23 for Tk - They assist, but are not solely responsible for,
fixing bugs and adding documentation 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
12The Maintainers
- Tcl (TIP 24)
- Tk (TIP 30)
- Other contributors as well
13Scriptics/Ajuba
- Scriptics became Ajuba Solutions in May 2000
- New focus as a B2B infrastructure company
- Interwoven content management company in need of
B2B - Ajuba assimilated on Nov 1, 2000
- Tcl/Tk moved to SourceForge http//tcl.sf.net/
- Further open source work not continued at
Interwoven - Most other projects at Ajuba moved to SourceForge
14Tcl/Tk at SourceForge
- SourceForge provides a wealth of services for
open source projects - Bug and patch database
- Mailing lists
- CVS repositories
- File server
- Web pages
- Managed by TCT and Tcl/Tk maintainers
- Not the Tcl Developer Xchange
15Tcl _at_ ActiveState
- ActiveState established 1997
- Programming for the People
- Used to be Perl specific
- Well known ActivePerl distribution
- Added Python and XML/XSLT expertise in 2000
- Jeff Hobbs hired in Feb 2001
- Andreas Kupries follows soon after
- Other knowledgeable Tclers on staff
- Wealth of scripting knowledge at ActiveState
16ActiveState and Tcl
- ActiveState provides the Tcl community with
- Improvements to open source Tcl core
- Host of the Tcl Developer Xchange
- Commercial support infrastructure
- http//www.ActiveState.com/Products/Enterprise/Tcl
Direct/ - Professional services for Tcl (TclDirect)
- High quality development tools
- ActiveTcl
- http//aspn.ActiveState.com/ASPN/Tcl/
- ASPN Tcl (Tcl Dev Kit Komodo IDE)
- http//www.ActiveState.com/Products/ASPN_Tcl/
17ActiveTcl 8.4.0.1
- Based on the 8.4.0 Tcl core
- Enhanced with several popular extensions
- incr Tcl, TclX, expect, tcllib, Bwidgets,
iwidgets, tktable, tkcon - A standard batteries-included distribution for
Tcl users - Available for Windows, Linux, Solaris and HP-UX
- More may come in the future
18ActiveTcl (cont.)
- Code repository (still) in the works
- ActiveTcl 8.3.4.3 based on the 8.3.4 Tcl core
- Provides a basis for the Tcl Dev Kit
- Considering threaded builds
19Tcl Developer Xchange
20Tcl Cookbook
21ASPN Tcl TclPro More
- Introduced December 2001
- Tcl Dev Kit based on TclPro, a commercial
quality development environment - Debugger source-level debugger with nice GUI
- Checker find errors without running application
- Wrapper create self-contained applications for
distribution - Compiler protect your source code
22ASPN Tcl Komodo
- An IDE for scripting languages
- Mozilla framework based
- Cross-platform (Windows Linux)
- Modern IDE features
- Several unique Tcl editing features
- Tight integration of TDK tools with Komodo
- Komodo 2.0 in beta (demo later)
23ActiveState Komodo IDE
24ASPN Tcl Future
- Continuing development of Tcl tools
- Tcl Dev Kit 2.0 released in August
- Enhanced debugger with integrated checker
- Code coverage and hot-spot analysis tool
- Added user-friendly GUIs to Wrapper and Compiler
- Checker updated for 8.4 (and corrected for 8.3)
- GUI Builder part of Komodo 2.0 Pro
- X-platform, x-language Tk UI builder
- Based loosely on SpecTcl
- Will be integrated with other tools
25ActiveState GUI Builder
26In the Community
- The Tclers Wiki has increased in activity
- http//wiki.tcl.tk/
- Now with interactive chat
- The Tcl Developer Xchange official URL
- http//www.tcl.tk/
- http//tcl.ActiveState.com/
- Tcl-URL! continues to provide weekly news
- http//www.ddj.com/topics/tclurl/
- Or subscribe to tcl-announce_at_listserv.activestate.
com - Lots of extension updates
Check out the wiki!
27Tcl/Tk Today
- Download rate steady
- Windows 55
- Unix 40
- Mac 5
- Stable release now at 8.4.0
- More than 2 years in development
- Spanning 4 companies
- First release to be governed by the TIP process
- Countless features and enhancements
- Previous stable release 8.3 set a new standard
- SuSE 8.1 will include 8.4.0
ActiveTcl downloads
- Data point
- 2x ActivePython d/ls
- 1/7th ActivePerl d/ls
28Tcl/Tk 8.4
- 8.4.0 released September 10th, 2002
- Many core feature enhancements
- New virtual file system
- Improved 64-bit support on 32-bit OSes
- Extended serial port control
- lset, lsearch, regsub, command tracing
- Significant work on performance
- Near or better than 8.0, with unicode and thread
safety. - Inclusion of numerous TIPs
29Tcl/Tk 8.4 (cont)
- New spinbox, labelframe, panedwindow core Tk
widgets - Unlimited undo/redo in text widget
- Compound buttons and labels
- Improved window manager control
- Ports now exist for native OS X/Aqua, Windows CE
and Palm OS - More later in 8.4 overview
308.4 Contributors
31User Poll Versions
- Versions in use
- Pre-8.0
- 8.0
- 8.2
- 8.3
- 8.4
32User Poll Platforms
- Develop/Deploy
- Windows
- Macintosh OS 9
- Macintosh OS X
- Linux
- Solaris
- HP-UX
- Other unix
33TclEurope 2002
- Munich, June 27-28, 2002
- 15 original talks
- Talks included on the Tcl2002 conference CD
- Thanks to Michael Haschek
- Talks and pictures online
- http//www.t-ide.com/tcl2002e.html
34Future Directions
- The core is guided by community input
- Anyone can write a TIP
- Anyone can be a core maintainer
- What issues are most pressing?
- ActiveState will continue to work with the Tcl
community and build more Tcl related products - Demos later
35Ideas in the Pipeline
- (More) improved Tcl performance
- Archive file support via VFS (.jar/.zip)
- Larger source / binary distributions
- Tcl Installer
- Stand-alone executable support in core (wrap)
- Smaller, modular core
- Drag Drop
- Windows Tk Performance
- Printing support
- Tk abstraction layer (TkGS)
- Megawidgets (roll your own)
- New Widgets
36Conclusion
- Tcl core is robust, feature-rich
- and still pushing the boundaries
- Future emphasis on packages and modularization
- Community is the key to an even more successful
future