tcl'2002 the (active) state of tcl 9 th annual tcl conference jeff hobbs activestate...
TRANSCRIPT
Tcl'2002
The (Active) State of Tcl
9th Annual Tcl Conference
Jeff Hobbs
ActiveState Corporation
Tcl'2002
Agenda
• Introduction
• What has happened…
• Developments in the Tcl community
• Developments of the Tcl/Tk core
• Future directions
Tcl'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
Tcl'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
……
Tcl'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 Sept8.4.0 Sept
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 Tcl Dev Kit 2.0 (Aug)
12. ActiveState Tcl Dev Kit 2.0 (Aug)
8.4b28.4b2
Tcl'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 omnipresent in EDA industry
– AOL Digital City, Travelocity, MapQuest:• Dynamic Web content
• Integrate information from different sources
• Content developers are not programmers
Tcl'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
Tcl'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
Tcl'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
Tcl'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]
Tcl'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
Tcl'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
Tcl'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
Tcl'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
Tcl'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
Tcl'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 (Tcl Dev Kit + Komodo IDE)http://www.ActiveState.com/Products/ASPN_Tcl/
Tcl'2002
ActiveTcl 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
Tcl'2002
ActiveTcl (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
Tcl'2002
Tcl Developer Xchange
Tcl'2002
Tcl Cookbook
Tcl'2002
ASPN 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
Tcl'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 TDK tools with Komodo
– Komodo 2.0 in beta (demo later)
Tcl'2002
ActiveState Komodo IDE
Tcl'2002
ASPN 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
Tcl'2002
ActiveState GUI Builder
Tcl'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!
Tcl'2002
Tcl/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 downloadsActiveTcl downloads
Data point:-~2x ActivePython d/ls-~1/7th ActivePerl d/ls
Data point:-~2x ActivePython d/ls-~1/7th ActivePerl d/ls
Tcl'2002
Tcl/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
Tcl'2002
Tcl/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
Tcl'2002
8.4 Contributorsandreasen
arndt
baker
baum
bonfield
boudaillier
brinkman
brunner
callewart
darley
davidson
dejong
duffin
ellson
english
eyre
fellows
giese
gravereaux
halliday
harris
helfter
hipp
hobbs
hom
ingham
kenny
kim
kovalenko
krehbiel
kupries
kuzmin
lam
lavana
lim
loverso
martin
max
melski
miller
nelson
nijtmans
oberhumer
obermeier
oleinick
petasis
poole
poonlap
porter
ratcliff
ruppert
schroedter
sofer
spjuth
stacy
stanton
steffen
taguchi
takahashi
takeshi
techentin
terry
thoyts
trier
vasiljevic
virden
voskuil
wagner
watson
welton
yamamoto
…
Tcl'2002
User Poll: Versions
• Versions in use– Pre-8.0
– 8.0
– 8.2
– 8.3
– 8.4
• Response (out of xx)
Tcl'2002
User Poll: Platforms
• Develop/Deploy:– Windows
– Macintosh OS 9
– Macintosh OS X
– Linux
– Solaris
– HP-UX
– Other unix …
• Response (out of xx)
Tcl'2002
Tcl’Europe 2002
• Munich, June 27-28, 2002
• 15 original talks– Talks included on the Tcl’2002 conference CD
• Thanks to Michael Haschek– Talks and pictures online http://www.t-ide.com/tcl2002e.html
Tcl'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 later
Tcl'2002
Ideas 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• …
Tcl'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