36
Tcl'2002 The (Active) State of Tcl 9 th Annual Tcl Conference Jeff Hobbs ActiveState Corporation

Tcl'2002 The (Active) State of Tcl 9 th Annual Tcl Conference Jeff Hobbs ActiveState Corporation

Embed Size (px)

Citation preview

Page 1: Tcl'2002 The (Active) State of Tcl 9 th Annual Tcl Conference Jeff Hobbs ActiveState Corporation

Tcl'2002

The (Active) State of Tcl

9th Annual Tcl Conference

Jeff Hobbs

ActiveState Corporation

Page 2: Tcl'2002 The (Active) State of Tcl 9 th 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

Page 3: Tcl'2002 The (Active) State of Tcl 9 th Annual Tcl Conference Jeff Hobbs ActiveState Corporation

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

Page 4: Tcl'2002 The (Active) State of Tcl 9 th Annual Tcl Conference Jeff Hobbs ActiveState Corporation

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

……

Page 5: Tcl'2002 The (Active) State of Tcl 9 th Annual Tcl Conference Jeff Hobbs ActiveState Corporation

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

Page 6: Tcl'2002 The (Active) State of Tcl 9 th Annual Tcl Conference Jeff Hobbs ActiveState Corporation

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

Page 7: Tcl'2002 The (Active) State of Tcl 9 th Annual Tcl Conference Jeff Hobbs ActiveState Corporation

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

Page 8: Tcl'2002 The (Active) State of Tcl 9 th Annual Tcl Conference Jeff Hobbs ActiveState Corporation

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

Page 9: Tcl'2002 The (Active) State of Tcl 9 th Annual Tcl Conference Jeff Hobbs ActiveState Corporation

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

Page 10: Tcl'2002 The (Active) State of Tcl 9 th Annual Tcl Conference Jeff Hobbs ActiveState Corporation

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]

Page 11: Tcl'2002 The (Active) State of Tcl 9 th Annual Tcl Conference Jeff Hobbs ActiveState Corporation

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

Page 12: Tcl'2002 The (Active) State of Tcl 9 th Annual Tcl Conference Jeff Hobbs ActiveState Corporation

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

Page 13: Tcl'2002 The (Active) State of Tcl 9 th Annual Tcl Conference Jeff Hobbs ActiveState Corporation

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

Page 14: Tcl'2002 The (Active) State of Tcl 9 th Annual Tcl Conference Jeff Hobbs ActiveState Corporation

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

Page 15: Tcl'2002 The (Active) State of Tcl 9 th Annual Tcl Conference Jeff Hobbs ActiveState Corporation

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

Page 16: Tcl'2002 The (Active) State of Tcl 9 th Annual Tcl Conference Jeff Hobbs ActiveState Corporation

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/

Page 17: Tcl'2002 The (Active) State of Tcl 9 th Annual Tcl Conference Jeff Hobbs ActiveState Corporation

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

Page 18: Tcl'2002 The (Active) State of Tcl 9 th Annual Tcl Conference Jeff Hobbs ActiveState Corporation

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

Page 19: Tcl'2002 The (Active) State of Tcl 9 th Annual Tcl Conference Jeff Hobbs ActiveState Corporation

Tcl'2002

Tcl Developer Xchange

Page 20: Tcl'2002 The (Active) State of Tcl 9 th Annual Tcl Conference Jeff Hobbs ActiveState Corporation

Tcl'2002

Tcl Cookbook

Page 21: Tcl'2002 The (Active) State of Tcl 9 th Annual Tcl Conference Jeff Hobbs ActiveState Corporation

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

Page 22: Tcl'2002 The (Active) State of Tcl 9 th Annual Tcl Conference Jeff Hobbs ActiveState Corporation

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)

Page 23: Tcl'2002 The (Active) State of Tcl 9 th Annual Tcl Conference Jeff Hobbs ActiveState Corporation

Tcl'2002

ActiveState Komodo IDE

Page 24: Tcl'2002 The (Active) State of Tcl 9 th Annual Tcl Conference Jeff Hobbs ActiveState Corporation

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

Page 25: Tcl'2002 The (Active) State of Tcl 9 th Annual Tcl Conference Jeff Hobbs ActiveState Corporation

Tcl'2002

ActiveState GUI Builder

Page 26: Tcl'2002 The (Active) State of Tcl 9 th Annual Tcl Conference Jeff Hobbs ActiveState Corporation

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!

Page 27: Tcl'2002 The (Active) State of Tcl 9 th Annual Tcl Conference Jeff Hobbs ActiveState Corporation

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

Page 28: Tcl'2002 The (Active) State of Tcl 9 th Annual Tcl Conference Jeff Hobbs ActiveState Corporation

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

Page 29: Tcl'2002 The (Active) State of Tcl 9 th Annual Tcl Conference Jeff Hobbs ActiveState Corporation

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

Page 30: Tcl'2002 The (Active) State of Tcl 9 th Annual Tcl Conference Jeff Hobbs ActiveState Corporation

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

Page 31: Tcl'2002 The (Active) State of Tcl 9 th Annual Tcl Conference Jeff Hobbs ActiveState Corporation

Tcl'2002

User Poll: Versions

• Versions in use– Pre-8.0

– 8.0

– 8.2

– 8.3

– 8.4

• Response (out of xx)

Page 32: Tcl'2002 The (Active) State of Tcl 9 th Annual Tcl Conference Jeff Hobbs ActiveState Corporation

Tcl'2002

User Poll: Platforms

• Develop/Deploy:– Windows

– Macintosh OS 9

– Macintosh OS X

– Linux

– Solaris

– HP-UX

– Other unix …

• Response (out of xx)

Page 33: Tcl'2002 The (Active) State of Tcl 9 th Annual Tcl Conference Jeff Hobbs ActiveState Corporation

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

Page 34: Tcl'2002 The (Active) State of Tcl 9 th Annual Tcl Conference Jeff Hobbs ActiveState Corporation

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

Page 35: Tcl'2002 The (Active) State of Tcl 9 th Annual Tcl Conference Jeff Hobbs ActiveState Corporation

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• …

Page 36: Tcl'2002 The (Active) State of Tcl 9 th Annual Tcl Conference Jeff Hobbs ActiveState Corporation

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