Tcl'Europe 2002 State of Tcl

769 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
769
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Tcl'Europe 2002 State of Tcl

  1. 1. The (Active) State of Tcl
  2. 2. The (Active) State of Tcl Jeff Hobbs ActiveState Corporation
  3. 3. Agenda <ul><li>Introduction </li></ul><ul><li>What has happened… </li></ul><ul><li>Developments in the Tcl community </li></ul><ul><li>Developments of the Tcl/Tk core </li></ul><ul><li>Future directions </li></ul>
  4. 4. About ActiveState <ul><li>ActiveState provides multi-language, cross-platform software & services </li></ul><ul><ul><li>Tcl, Perl, PHP, Python, XSLT </li></ul></ul><ul><ul><li>Linux, Solaris, Windows, HP-UX, AIX, … </li></ul></ul><ul><li>We make it easy to use new technologies </li></ul><ul><ul><li>Web Services and .NET </li></ul></ul><ul><li>Mission: Make Programming Easier </li></ul><ul><ul><li>Our IDEs </li></ul></ul><ul><ul><li>Active distributions </li></ul></ul><ul><ul><li>ASPN </li></ul></ul>
  5. 5. History of Tcl 8.0 Aug 1988 1989 1990 1991 1992 1993 1995 1997 1998 100 1000 10,000 1M ? 100,000 <ul><li>2. Open source distributions </li></ul><ul><li>from U.C. Berkeley: </li></ul><ul><li>Easy GUIs under Unix </li></ul><ul><li>Extensible applications </li></ul><ul><li>3. Tcl enhanced at Sun Microsystems: </li></ul><ul><li>Windows, Macintosh ports </li></ul><ul><li>Web/Internet support </li></ul><ul><li>Java support </li></ul><ul><li>4. Scriptics formed: </li></ul><ul><li>Evolve and extend Tcl platform </li></ul><ul><li>Create development tools </li></ul>1. Tcl created as general-purpose command/scripting language by John Ousterhout 500,000 1994 1999 1996 2000 6. Scriptics/Ajuba Acquired by Interwoven (Nov.) 2001 7. ActiveState introduces Tcl support and services 5. Tcl Core Team formed (August) 6.0 Sept 7.0 Sept 7.4 July 7.6 Oct 8.1 Apr 8.2 Aug 8.3 Feb … You are here
  6. 6. Recent History of Tcl 5. Scriptics/Ajuba acquired by Interwoven; Tcl/Tk core moves to SourceForge; TclPro open sourced (Nov.) 6. ActiveState introduces Tcl support and services (Feb) 4. Tcl Core Team formed (August) 2000 2001 8.3.3 May 8.3.0 Feb 8.3.1 Apr 8.3.2 Aug 8.4a1 June 8.4a2 Nov 1. Tcl’2K in Austin (Feb) 2. Scriptics becomes Ajuba (May) 7. Tcl’Europe 2001 (June) 9. 8 th Tcl Conference (July) 11. ActiveTcl 8.3.4.3 (July) ( 8.4.0 ) 3. Tcl’Europe 2000 (June) 8.4a3 July 2002 8.4b1 8.4a3 Mar 8.3.4 Oct 10. ActiveState TclPro (Dec) 12. ActiveState TclPro 2.0 beta (July) R.I.P You are here
  7. 7. Tcl Usage <ul><li>Tcl usage is still growing </li></ul><ul><li>Used extensively for mission-critical applications: </li></ul><ul><ul><li>Cisco, Motorola, Lucent, Nortel, etc.: </li></ul></ul><ul><ul><ul><li>Automated hardware testing </li></ul></ul></ul><ul><ul><ul><li>Coordinate different pieces of test equipment </li></ul></ul></ul><ul><ul><ul><li>Tcl soon to be standard on all Cisco routers </li></ul></ul></ul><ul><ul><li>AOL Digital City, Travelocity: </li></ul></ul><ul><ul><ul><li>Dynamic Web content </li></ul></ul></ul><ul><ul><ul><li>Integrate information from different sources </li></ul></ul></ul><ul><ul><ul><li>Content developers are not programmers </li></ul></ul></ul>
  8. 8. Tcl Usage, Cont’d <ul><li>More mission-critical applications: </li></ul><ul><ul><li>NBC: </li></ul></ul><ul><ul><ul><li>Digital broadcast control system </li></ul></ul></ul><ul><ul><ul><li>Mix programming content, control transmission through satellites to local stations </li></ul></ul></ul><ul><ul><li>Pixar: </li></ul></ul><ul><ul><ul><li>Used in animation tools (RenderMan software) </li></ul></ul></ul><ul><ul><ul><li>Technical directors write Tcl scripts to animate characters </li></ul></ul></ul><ul><ul><li>Shell Oil: </li></ul></ul><ul><ul><ul><li>Real-time control for offshore oil platforms </li></ul></ul></ul><ul><ul><ul><li>Coordinate, manage various systems </li></ul></ul></ul>
  9. 9. Status As of 8 th Tcl Conference <ul><li>At O’Reilly Open Source Convention, San Diego, July 2001 </li></ul><ul><li>Tcl/Tk 8.3.3 was the stable version (8.3.x now standard in Linux distributions) </li></ul><ul><li>8.4a3 was just released </li></ul><ul><li>ActiveState was just establishing with Tcl expertise </li></ul>
  10. 10. <ul><li>Formed in August 2000 with 14 charter members based on community voting to collectively manage development of the core </li></ul>Tcl Core Team Brent Welch Jim Ingham Don Porter George Howlett John Ousterhout Jeffrey Hobbs Jan Nijtmans D. Richard Hipp Michael McLennan Mark Harrison Karl Lehenbauer Donal Fellows Andreas Kupries Mo DeJong Kevin Kenny
  11. 11. TCT: TIP Initiatives <ul><li>TIP page for Tcl http://www. tcl . tk / cgi -bin/ tct /tip/ </li></ul><ul><li>TIPs are intended to guide and document development on the core </li></ul><ul><ul><li>The focus is on new or changing features, not bugs </li></ul></ul><ul><ul><li>Voted on by the TCT following community discussion using the TYANNOTT process </li></ul></ul><ul><li>Currently over 100 TIPs </li></ul><ul><ul><li>Divided into process, informational & project TIPs </li></ul></ul><ul><li>TCT discussion is open on the public mailing list: [email_address] </li></ul>
  12. 12. Tcl/Tk Maintainers <ul><li>Tcl/Tk maintainers are separate from the TCT </li></ul><ul><li>Maintainers oversee a specific area of the core, as defined in TIP #16 for Tcl and TIP #23 for Tk </li></ul><ul><li>They assist, but are not solely responsible for, fixing bugs and adding documentation in their area </li></ul><ul><li>They are responsible for reviewing code and approving code changes to their area </li></ul><ul><li>Open to anyone willing to learn the core </li></ul><ul><li>New volunteers always welcome </li></ul>
  13. 13. The Maintainers… <ul><li>Tcl (TIP #24): </li></ul><ul><li>Tk (TIP #30): </li></ul><ul><li>Other contributors as well </li></ul>Mo DeJong Donal Fellows Jan Nijtmans Chengye Mao HERE NAME YOUR Joe English Vince Darley Kevin Griffin Frédéric Bonnet George Smith Jeff Hobbs Todd Helfter Peter Spjuth Allen Flick Mo DeJong Donal Fellows Jan Nijtmans Don Porter Vince Darley Rolf Schroedter Andreas Kupries Miguel Sofer Jeff Hobbs Kevin Kenny Jim Ingham Daniel Steffen
  14. 14. Scriptics/Ajuba… <ul><li>Scriptics became Ajuba Solutions in May 2000 </li></ul><ul><ul><li>New focus as a B2B infrastructure company </li></ul></ul><ul><li>Interwoven: content management company in need of B2B… </li></ul><ul><ul><li>Ajuba assimilated on Nov 1, 2000 </li></ul></ul><ul><ul><li>Tcl/Tk moved to SourceForge: http:// tcl . sf .net/ </li></ul></ul><ul><ul><li>Further open source work not continued at Interwoven </li></ul></ul><ul><ul><ul><li>Most other projects at Ajuba moved to SourceForge </li></ul></ul></ul>R.I.P
  15. 15. Tcl/Tk at SourceForge <ul><li>SourceForge provides a wealth of services for open source projects </li></ul><ul><ul><li>Bug and patch database </li></ul></ul><ul><ul><li>Mailing lists </li></ul></ul><ul><ul><li>CVS repositories </li></ul></ul><ul><ul><li>File server </li></ul></ul><ul><ul><li>Web pages </li></ul></ul><ul><li>Managed by TCT and Tcl/Tk maintainers </li></ul><ul><li>Not the Tcl Developer Xchange </li></ul>
  16. 16. Tcl @ ActiveState <ul><li>ActiveState established 1997 </li></ul><ul><ul><li>“ Programming for the People” </li></ul></ul><ul><ul><li>Used to be Perl specific </li></ul></ul><ul><ul><ul><li>Well known ActivePerl distribution </li></ul></ul></ul><ul><ul><li>Added Python and XML/XSLT expertise in 2000 </li></ul></ul><ul><li>Jeff Hobbs hired in Feb 2001 </li></ul><ul><li>Andreas Kupries follows soon after </li></ul><ul><ul><li>Other knowledgeable Tcl’ers on staff </li></ul></ul><ul><li>Wealth of scripting knowledge at ActiveState </li></ul>
  17. 17. ActiveState and Tcl <ul><li>ActiveState provides the Tcl community with… </li></ul><ul><ul><li>Improvements to open source Tcl core </li></ul></ul><ul><ul><li>Host of the Tcl Developer Xchange </li></ul></ul><ul><ul><li>Commercial support infrastructure </li></ul></ul><ul><ul><ul><ul><li>http://www.ActiveState.com/Products/Enterprise/TclDirect/ </li></ul></ul></ul></ul><ul><ul><li>Professional services for Tcl (TclDirect) </li></ul></ul><ul><ul><li>High quality development tools </li></ul></ul><ul><ul><ul><li>ActiveTcl </li></ul></ul></ul><ul><ul><ul><ul><li>http:// aspn .ActiveState.com/ASPN/Tcl/ </li></ul></ul></ul></ul><ul><ul><ul><li>ASPN Tcl (TclPro + Komodo IDE) </li></ul></ul></ul><ul><ul><ul><ul><li>http://www.ActiveState.com/Products/ASPN_Tcl/ </li></ul></ul></ul></ul>
  18. 18. ActiveTcl 8.3.4.3 <ul><li>Based on the 8.3.4 Tcl core </li></ul><ul><li>Enhanced with several popular extensions </li></ul><ul><ul><li>[incr Tcl], TclX, expect, tcllib, Bwidgets, iwidgets, tktable, tkcon </li></ul></ul><ul><li>A standard batteries-included distribution for Tcl users </li></ul><ul><li>Code repository (still) in the works </li></ul>
  19. 19. Tcl Developer Xchange
  20. 20. Tcl Cookbook
  21. 21. ASPN Tcl: TclPro + More <ul><li>Introduced December 2001 </li></ul><ul><li>Resuscitated TclPro as a commercial quality development environment </li></ul><ul><ul><li>Debugger: source-level debugger with nice GUI </li></ul></ul><ul><ul><li>Checker: find errors without running application </li></ul></ul><ul><ul><li>Wrapper: create self-contained applications for distribution </li></ul></ul><ul><ul><li>Compiler: protect your source code </li></ul></ul>
  22. 22. ASPN Tcl: Komodo <ul><li>An IDE for scripting languages </li></ul><ul><ul><li>Mozilla framework based </li></ul></ul><ul><ul><li>Cross-platform (Windows & Linux) </li></ul></ul><ul><ul><li>Modern IDE features </li></ul></ul><ul><ul><li>Several unique Tcl editing features </li></ul></ul><ul><ul><li>Tight integration of TclPro tools with Komodo </li></ul></ul><ul><ul><li>Komodo 2.0 in development </li></ul></ul>
  23. 23. Komodo IDE
  24. 24. ASPN Tcl: Future <ul><li>Continuing development of Tcl tools </li></ul><ul><li>TclPro 2.0 now in beta </li></ul><ul><ul><li>Enhanced debugger with integrated checker </li></ul></ul><ul><ul><li>Code coverage and hot-spot analysis tool </li></ul></ul><ul><ul><li>Added user-friendly GUIs to Wrapper and Compiler </li></ul></ul><ul><ul><li>Checker updated for 8.4 (and corrected for 8.3) </li></ul></ul><ul><li>GUI Builder in development </li></ul><ul><ul><li>Based loosely on SpecTcl </li></ul></ul><ul><ul><li>Will be integrated with other tools </li></ul></ul>
  25. 25. In the Community… <ul><li>The Tcl’ers Wiki has increased in activity: </li></ul><ul><ul><li>http://wiki.tcl.tk/ </li></ul></ul><ul><ul><li>Now with interactive chat </li></ul></ul><ul><li>The Tcl Developer Xchange official URL: </li></ul><ul><ul><li>http://www. tcl . tk / </li></ul></ul><ul><ul><li>http:// tcl .ActiveState.com/ </li></ul></ul><ul><li>Tcl-URL! continues to provide weekly news: </li></ul><ul><ul><li>http://www. ddj .com/topics/ tclurl / </li></ul></ul><ul><ul><li>Or subscribe to [email_address] </li></ul></ul><ul><li>Lots of extension updates </li></ul>Check out the wiki!
  26. 26. Tcl/Tk Today <ul><li>Download rate steady: </li></ul><ul><ul><li>Windows: 55% </li></ul></ul><ul><ul><li>Unix: 40% </li></ul></ul><ul><ul><li>Mac: 5% </li></ul></ul><ul><li>Only patch releases since 2000 </li></ul><ul><li>Stable release now at 8.3.4 </li></ul><ul><ul><li>Completely new I/O core (added in 8.3.2) </li></ul></ul><ul><ul><li>High degree of stability </li></ul></ul><ul><ul><li>Improved locale support in Tk </li></ul></ul><ul><li>Ports now exist for Windows/CE and Palm </li></ul>ActiveTcl downloads <ul><li>Data point: </li></ul><ul><li>~2x ActivePython d/ls </li></ul><ul><li>~1/7 th ActivePerl d/ls </li></ul>
  27. 27. Tcl/Tk 8.4 <ul><li>Development release, now at 8.4b1-rc </li></ul><ul><li>Has just been feature-frozen </li></ul><ul><li>New spinbox, labelframe, panedwindow widgets </li></ul><ul><li>Several core feature enhancements </li></ul><ul><ul><li>VFS, lset , command tracing </li></ul></ul><ul><li>Significant work on performance </li></ul><ul><ul><li>Near or better than 8.0, with unicode and thread safety. </li></ul></ul><ul><li>Inclusion of numerous TIPs </li></ul><ul><li>More later in 8.4 overview </li></ul>
  28. 28. User Poll: Versions <ul><li>Versions in use </li></ul><ul><ul><li>Pre-8.0 </li></ul></ul><ul><ul><li>8.0 </li></ul></ul><ul><ul><li>8.2 </li></ul></ul><ul><ul><li>8.3 </li></ul></ul><ul><ul><li>8.4 </li></ul></ul><ul><li>Response (out of 65) </li></ul><ul><ul><li>0 </li></ul></ul><ul><ul><li>8 </li></ul></ul><ul><ul><li>1 </li></ul></ul><ul><ul><li>64 </li></ul></ul><ul><ul><li>6 </li></ul></ul>
  29. 29. User Poll: Platforms <ul><li>Develop/Deploy: </li></ul><ul><ul><li>Windows </li></ul></ul><ul><ul><li>Macintosh OS 9 </li></ul></ul><ul><ul><li>Macintosh OS X </li></ul></ul><ul><ul><li>Linux </li></ul></ul><ul><ul><li>Solaris </li></ul></ul><ul><ul><li>HP-UX </li></ul></ul><ul><ul><li>Other unix … </li></ul></ul><ul><li>Response (out of 65) </li></ul><ul><ul><li>60%/30% </li></ul></ul><ul><ul><li>0/2 </li></ul></ul><ul><ul><li>0/1 </li></ul></ul><ul><ul><li>50%/50% </li></ul></ul><ul><ul><li>8/30% </li></ul></ul><ul><ul><li>6/10 </li></ul></ul><ul><ul><li>8 </li></ul></ul>
  30. 30. Tcl’Europe 2001 <ul><li>Hamburg, June 8-9, 2001 </li></ul><ul><li>14 Original papers and tutorials </li></ul><ul><ul><li>From using Tcl with Cobol to Tcl on the Web to Tcl on a PDA… </li></ul></ul><ul><li>Thanks to Carsten Zerbst http://www. tu - harburg .de/ skf / tcltk / </li></ul>
  31. 31. Future Directions <ul><li>The core is guided by community input </li></ul><ul><ul><li>Anyone can write a TIP </li></ul></ul><ul><ul><li>Anyone can be a core maintainer </li></ul></ul><ul><li>What issues are most pressing? </li></ul><ul><li>ActiveState will continue to work with the Tcl community and build more Tcl related products </li></ul><ul><li>Demos to follow </li></ul>
  32. 32. Ideas in the Pipeline <ul><li>(More) improved Tcl performance </li></ul><ul><li>Archive file support (.jar/.zip) </li></ul><ul><li>Larger source / binary distributions </li></ul><ul><li>Tcl Installer </li></ul><ul><li>Stand-alone executable support in core (*wrap) </li></ul><ul><li>64-bit overhaul </li></ul><ul><li>Smaller, modular core </li></ul><ul><li>Drag & Drop </li></ul><ul><li>Windows Tk Performance </li></ul><ul><li>Printing support </li></ul><ul><li>Tk abstraction layer (TkGS) </li></ul><ul><li>Megawidgets (roll your own) </li></ul><ul><li>New Widgets </li></ul><ul><li>… </li></ul>
  33. 33. Conclusion <ul><li>Tcl core is robust, feature-rich </li></ul><ul><ul><li>… and still pushing the boundaries </li></ul></ul><ul><li>Future emphasis on packages and modularization </li></ul><ul><li>Community is the key to an even more successful future </li></ul>

×