The (Active) State of Tcl
description
Transcript of The (Active) State of Tcl
![Page 1: The (Active) State of Tcl](https://reader035.fdocuments.net/reader035/viewer/2022062519/56814fca550346895dbd8a00/html5/thumbnails/1.jpg)
July 2002
The (Active) State of Tcl
![Page 2: The (Active) State of Tcl](https://reader035.fdocuments.net/reader035/viewer/2022062519/56814fca550346895dbd8a00/html5/thumbnails/2.jpg)
July 2002
The (Active) State of Tcl
Jeff Hobbs
ActiveState Corporation
![Page 3: The (Active) State of Tcl](https://reader035.fdocuments.net/reader035/viewer/2022062519/56814fca550346895dbd8a00/html5/thumbnails/3.jpg)
July 2002
Agenda
• Introduction
• What has happened…
• Developments in the Tcl community
• Developments of the Tcl/Tk core
• Future directions
![Page 4: The (Active) State of Tcl](https://reader035.fdocuments.net/reader035/viewer/2022062519/56814fca550346895dbd8a00/html5/thumbnails/4.jpg)
July 2002
About 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
![Page 5: The (Active) State of Tcl](https://reader035.fdocuments.net/reader035/viewer/2022062519/56814fca550346895dbd8a00/html5/thumbnails/5.jpg)
July 2002
8.0 Aug8.0 Aug
History of Tcl
1988 1989 1990 1991 1992 1993 1995 1997 1998
100 1000 10,000 1M ?100,000
2. Open source distributionsfrom U.C. Berkeley:
• Easy GUIs under Unix• Extensible applications
2. Open source distributionsfrom U.C. Berkeley:
• Easy GUIs under Unix• Extensible applications
3. Tcl enhanced at Sun Microsystems:• Windows, Macintosh ports• Web/Internet support• Java support
3. Tcl enhanced at Sun Microsystems:• Windows, Macintosh ports• Web/Internet support• Java support
4. Scriptics formed:• Evolve and extend Tcl platform• Create development tools
4. Scriptics formed:• Evolve and extend Tcl platform• Create development tools
1. Tcl created as general-purpose command/scripting language by John Ousterhout
1. Tcl created as general-purpose command/scripting language by John Ousterhout
500,000
1994 19991996 2000
6. Scriptics/Ajuba Acquired by Interwoven (Nov.)
6. Scriptics/Ajuba Acquired by Interwoven (Nov.)
2001
7. ActiveState introduces Tcl support and services
7. ActiveState introduces Tcl support and services
5. Tcl Core Team formed (August)
5. Tcl Core Team formed (August)
6.0 Sept6.0 Sept 7.0 Sept7.0 Sept 7.4 July7.4 July 7.6 Oct7.6 Oct 8.1 Apr8.1 Apr
8.2 Aug8.2 Aug
8.3 Feb8.3 Feb
You are here
……
![Page 6: The (Active) State of Tcl](https://reader035.fdocuments.net/reader035/viewer/2022062519/56814fca550346895dbd8a00/html5/thumbnails/6.jpg)
July 2002
Recent History of Tcl
5. Scriptics/Ajuba acquired by Interwoven; Tcl/Tk core moves to SourceForge; TclPro open sourced (Nov.)
5. Scriptics/Ajuba acquired by Interwoven; Tcl/Tk core moves to SourceForge; TclPro open sourced (Nov.)
6. ActiveState introduces Tcl support and services (Feb)
6. ActiveState introduces Tcl support and services (Feb)
4. Tcl Core Team formed (August)
4. Tcl Core Team formed (August)
2000 2001
8.3.3 May8.3.3 May
8.3.0 Feb8.3.0 Feb
8.3.1 Apr8.3.1 Apr 8.3.2 Aug8.3.2 Aug
8.4a1 June8.4a1 June 8.4a2 Nov8.4a2 Nov
1. Tcl’2K in Austin (Feb)1. Tcl’2K in Austin (Feb)
2. Scriptics becomes Ajuba (May)
2. Scriptics becomes Ajuba (May)
7. Tcl’Europe 2001 (June)
7. Tcl’Europe 2001 (June)
9. 8th Tcl Conference (July)
9. 8th Tcl Conference (July)
11. ActiveTcl 8.3.4.3 (July)
11. ActiveTcl 8.3.4.3 (July)
( 8.4.0 )( 8.4.0 )
3. Tcl’Europe 2000 (June)
3. Tcl’Europe 2000 (June)
R.I.P
You are here
8.4a3 July8.4a3 July
2002
8.4b18.4b1
8.4a3 Mar8.4a3 Mar
8.3.4 Oct8.3.4 Oct
10. ActiveState TclPro (Dec)
10. ActiveState TclPro (Dec)
12. ActiveState TclPro 2.0 beta (July)
12. ActiveState TclPro 2.0 beta (July)
![Page 7: The (Active) State of Tcl](https://reader035.fdocuments.net/reader035/viewer/2022062519/56814fca550346895dbd8a00/html5/thumbnails/7.jpg)
July 2002
Tcl 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 soon to be standard on all Cisco routers
– AOL Digital City, Travelocity:• Dynamic Web content
• Integrate information from different sources
• Content developers are not programmers
![Page 8: The (Active) State of Tcl](https://reader035.fdocuments.net/reader035/viewer/2022062519/56814fca550346895dbd8a00/html5/thumbnails/8.jpg)
July 2002
Tcl Usage, Cont’d
• 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
![Page 9: The (Active) State of Tcl](https://reader035.fdocuments.net/reader035/viewer/2022062519/56814fca550346895dbd8a00/html5/thumbnails/9.jpg)
July 2002
Status As of 8th Tcl Conference
• At O’Reilly 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
![Page 10: The (Active) State of Tcl](https://reader035.fdocuments.net/reader035/viewer/2022062519/56814fca550346895dbd8a00/html5/thumbnails/10.jpg)
July 2002
• Formed in August 2000 with 14 charter members based on community voting to collectively manage development of the core
Tcl Core Team
Mo DeJong Andreas Kupries
Donal Fellows Karl Lehenbauer
Mark Harrison Michael McLennan
D. Richard Hipp Jan Nijtmans
Jeffrey Hobbs John Ousterhout
George Howlett Don Porter
Jim Ingham Brent Welch
Kevin Kenny
![Page 11: The (Active) State of Tcl](https://reader035.fdocuments.net/reader035/viewer/2022062519/56814fca550346895dbd8a00/html5/thumbnails/11.jpg)
July 2002
TCT: TIP Initiatives
• TIP page for Tclhttp://www.tcl.tk/cgi-bin/tct/tip/
• 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:[email protected]
![Page 12: The (Active) State of Tcl](https://reader035.fdocuments.net/reader035/viewer/2022062519/56814fca550346895dbd8a00/html5/thumbnails/12.jpg)
July 2002
Tcl/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
![Page 13: The (Active) State of Tcl](https://reader035.fdocuments.net/reader035/viewer/2022062519/56814fca550346895dbd8a00/html5/thumbnails/13.jpg)
July 2002
The Maintainers…
• Tcl (TIP #24):
• Tk (TIP #30):
• Other contributors as well
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 YOUR NAME HERE
Daniel Steffen Jim Ingham Kevin Kenny Jeff Hobbs
Miguel Sofer Andreas Kupries Rolf Schroedter Vince Darley
Don Porter Jan Nijtmans Donal Fellows Mo DeJong
![Page 14: The (Active) State of Tcl](https://reader035.fdocuments.net/reader035/viewer/2022062519/56814fca550346895dbd8a00/html5/thumbnails/14.jpg)
July 2002
Scriptics/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
R.I.P
![Page 15: The (Active) State of Tcl](https://reader035.fdocuments.net/reader035/viewer/2022062519/56814fca550346895dbd8a00/html5/thumbnails/15.jpg)
July 2002
Tcl/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
![Page 16: The (Active) State of Tcl](https://reader035.fdocuments.net/reader035/viewer/2022062519/56814fca550346895dbd8a00/html5/thumbnails/16.jpg)
July 2002
Tcl @ 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 Tcl’ers on staff
• Wealth of scripting knowledge at ActiveState
![Page 17: The (Active) State of Tcl](https://reader035.fdocuments.net/reader035/viewer/2022062519/56814fca550346895dbd8a00/html5/thumbnails/17.jpg)
July 2002
ActiveState 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/TclDirect/
– Professional services for Tcl (TclDirect)– High quality development tools
• ActiveTclhttp://aspn.ActiveState.com/ASPN/Tcl/
• ASPN Tcl (TclPro + Komodo IDE)http://www.ActiveState.com/Products/ASPN_Tcl/
![Page 18: The (Active) State of Tcl](https://reader035.fdocuments.net/reader035/viewer/2022062519/56814fca550346895dbd8a00/html5/thumbnails/18.jpg)
July 2002
ActiveTcl 8.3.4.3
• Based on the 8.3.4 Tcl core• Enhanced with several popular
extensions– [incr Tcl], TclX, expect, tcllib, Bwidgets,
iwidgets, tktable, tkcon
• A standard batteries-included distribution for Tcl users
• Code repository (still) in the works
![Page 19: The (Active) State of Tcl](https://reader035.fdocuments.net/reader035/viewer/2022062519/56814fca550346895dbd8a00/html5/thumbnails/19.jpg)
July 2002
Tcl Developer Xchange
![Page 20: The (Active) State of Tcl](https://reader035.fdocuments.net/reader035/viewer/2022062519/56814fca550346895dbd8a00/html5/thumbnails/20.jpg)
July 2002
Tcl Cookbook
![Page 21: The (Active) State of Tcl](https://reader035.fdocuments.net/reader035/viewer/2022062519/56814fca550346895dbd8a00/html5/thumbnails/21.jpg)
July 2002
ASPN Tcl: TclPro + More
• Introduced December 2001
• Resuscitated TclPro as 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
![Page 22: The (Active) State of Tcl](https://reader035.fdocuments.net/reader035/viewer/2022062519/56814fca550346895dbd8a00/html5/thumbnails/22.jpg)
July 2002
ASPN 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 TclPro tools with Komodo
– Komodo 2.0 in development
![Page 23: The (Active) State of Tcl](https://reader035.fdocuments.net/reader035/viewer/2022062519/56814fca550346895dbd8a00/html5/thumbnails/23.jpg)
July 2002
Komodo IDE
![Page 24: The (Active) State of Tcl](https://reader035.fdocuments.net/reader035/viewer/2022062519/56814fca550346895dbd8a00/html5/thumbnails/24.jpg)
July 2002
ASPN Tcl: Future
• Continuing development of Tcl tools• TclPro 2.0 now in beta
– 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 in development– Based loosely on SpecTcl– Will be integrated with other tools
![Page 25: The (Active) State of Tcl](https://reader035.fdocuments.net/reader035/viewer/2022062519/56814fca550346895dbd8a00/html5/thumbnails/25.jpg)
July 2002
In the Community…
• The Tcl’ers 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 [email protected]
• Lots of extension updates
Check out the wiki!Check out the wiki!
![Page 26: The (Active) State of Tcl](https://reader035.fdocuments.net/reader035/viewer/2022062519/56814fca550346895dbd8a00/html5/thumbnails/26.jpg)
July 2002
Tcl/Tk Today
• Download rate steady:– Windows: 55%
– Unix: 40%
– Mac: 5%
• Only patch releases since 2000• Stable release now at 8.3.4
– Completely new I/O core (added in 8.3.2)
– High degree of stability
– Improved locale support in Tk
• Ports now exist for Windows/CE and Palm
ActiveTcl downloadsActiveTcl downloads
Data point:-~2x ActivePython d/ls-~1/7th ActivePerl d/ls
Data point:-~2x ActivePython d/ls-~1/7th ActivePerl d/ls
![Page 27: The (Active) State of Tcl](https://reader035.fdocuments.net/reader035/viewer/2022062519/56814fca550346895dbd8a00/html5/thumbnails/27.jpg)
July 2002
Tcl/Tk 8.4
• Development release, now at 8.4b1-rc• Has just been feature-frozen• New spinbox, labelframe, panedwindow
widgets• Several core feature enhancements
– VFS, lset, command tracing
• Significant work on performance– Near or better than 8.0, with unicode and thread safety.
• Inclusion of numerous TIPs• More later in 8.4 overview
![Page 28: The (Active) State of Tcl](https://reader035.fdocuments.net/reader035/viewer/2022062519/56814fca550346895dbd8a00/html5/thumbnails/28.jpg)
July 2002
User Poll: Versions
• Versions in use– Pre-8.0
– 8.0
– 8.2
– 8.3
– 8.4
• Response (out of 65)– 0
– 8
– 1
– 64
– 6
![Page 29: The (Active) State of Tcl](https://reader035.fdocuments.net/reader035/viewer/2022062519/56814fca550346895dbd8a00/html5/thumbnails/29.jpg)
July 2002
User Poll: Platforms
• Develop/Deploy:– Windows
– Macintosh OS 9
– Macintosh OS X
– Linux
– Solaris
– HP-UX
– Other unix …
• Response (out of 65)– 60%/30%
– 0/2
– 0/1
– 50%/50%
– 8/30%
– 6/10
– 8
![Page 30: The (Active) State of Tcl](https://reader035.fdocuments.net/reader035/viewer/2022062519/56814fca550346895dbd8a00/html5/thumbnails/30.jpg)
July 2002
Tcl’Europe 2001
• Hamburg, June 8-9, 2001
• 14 Original papers and tutorials– From using Tcl with Cobol
to Tcl on the Web to Tcl on a PDA…
• Thanks to Carsten Zerbst
http://www.tu-harburg.de/skf/tcltk/
![Page 31: The (Active) State of Tcl](https://reader035.fdocuments.net/reader035/viewer/2022062519/56814fca550346895dbd8a00/html5/thumbnails/31.jpg)
July 2002
Future 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 to follow
![Page 32: The (Active) State of Tcl](https://reader035.fdocuments.net/reader035/viewer/2022062519/56814fca550346895dbd8a00/html5/thumbnails/32.jpg)
July 2002
Ideas in the Pipeline
• (More) improved Tcl performance
• Archive file support (.jar/.zip)
• Larger source / binary distributions
• Tcl Installer• Stand-alone
executable support in core (*wrap)
• 64-bit overhaul
• Smaller, modular core• Drag & Drop• Windows Tk
Performance• Printing support• Tk abstraction layer
(TkGS)• Megawidgets (roll
your own)• New Widgets• …
![Page 33: The (Active) State of Tcl](https://reader035.fdocuments.net/reader035/viewer/2022062519/56814fca550346895dbd8a00/html5/thumbnails/33.jpg)
July 2002
Conclusion
• 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