Tcl/Tk 2002 - PowerPoint PPT Presentation

1 / 49
About This Presentation
Title:

Tcl/Tk 2002

Description:

Tcl/Tk 2002 Ten Years of Rapid Development Mark Roseman University of Calgary TeamWave Software Ltd. Sonexis Inc. Welcome to AOL Digital City – PowerPoint PPT presentation

Number of Views:116
Avg rating:3.0/5.0
Slides: 50
Provided by: MarkRo60
Learn more at: http://roseman.org
Category:
Tags: music | tcl | thesis

less

Transcript and Presenter's Notes

Title: Tcl/Tk 2002


1
Tcl/Tk 2002
2
Ten Years of Rapid Development
  • Mark Roseman
  • University of Calgary
  • TeamWave Software Ltd.
  • Sonexis Inc.

3
Welcome to AOL Digital City
4
Yeah ok, maybe not.
Them
Us (not to scale)
5
Benefit from the Pain of Others
  • Tcl experience papers
  • Range of systems
  • Growing systems
  • Development practices
  • Soft issues

6
In a nutshell
  • Tcl/Tk good.
  • Even for bigger systems.
  • You can convince others of that.
  • But it really helps if you know what youre
    doing!

7
Todays Talk
  • Development phases
  • Prototyping (GroupKit)
  • Desktop apps (TeamRooms/TeamWave Workplace)
  • Web apps (various)
  • Growing pains / solutions
  • Tcl in the Hot Seat
  • Integration, Configurability, Reliability, Scale
  • Strengths, Misconceptions, Roadblocks

8
Collaborative Systems
  • Groupware
  • Conferencing
  • Highly interactive
  • Networking
  • Usability
  • People issues

9
When did you discover Tcl/Tk?
  • 1992 _at_ U Calgary
  • Prototypes - TK / BYO
  • oops, better finish that damn thesis!
  • Tcl-DP

10
GroupKit
  • Prototyping shared applications
  • Internal/external use
  • Lots of experimentation

11
Tcl/Tk Benefits
  • Learning curve
  • Higher level programming faster
  • Rich widget set
  • Cross-platform

12
Typical Prototyping Usage
  • Prototypes, small apps
  • Small number of developers, even novices
  • Limited time
  • Problems solvable more quickly and easily by
    individuals small groups.

13
TeamRooms
  • Real app
  • Rooms
  • Tools
  • Client-server
  • Cross-platform

14
TeamWave Workplace
  • Spin-off company
  • 2-3 developers
  • Rapid changes
  • lt 50k loc

15
So far so good
  • Ad hoc development practices
  • Coding style
  • Modularity
  • Testing
  • Some bleeding-edge gotchas
  • Some performance issues

16
Onwards!
17
Starting to Grow
  • Modest financing
  • 5-10 developers
  • Moving to the web
  • Users in education, virtual communities
  • Download a deterrent

18
Rewrite in Java?
  • Keep code base (time to market)
  • Client-side Java risky
  • Still a small team, tight schedules
  • Rapid change

19
Proxy Tk
Users Workstation
Server
Tcl Application Code
Tcl Application Code
Tk API
Tk API
Tk Library
Proxy Tk Java Applet
Proxy Tk Library
OS Windowing System
AWT
20
Get all that?
  • Application code moves to server
  • Still uses Tk API
  • Tk implementation replaced by Proxy Tk
  • Messages sent to Java applet on client
  • Events sent from Java back to server

Tcl Application Code
Tk API
Proxy Tk Java Applet
Proxy Tk Library
AWT
21
Web Site Management
  • Application Service Provider model
  • Manage accounts, rooms, scheduling
  • Originally cgi.tcl
  • Later AOLserver
  • Centralized Metakit datastore

22
(No Transcript)
23
(No Transcript)
24
(No Transcript)
25
(No Transcript)
26
Growing Pains
  • Growing code base
  • 90k loc Tcl, 35k loc C, 10k loc Java
  • Ramping up new developers
  • Tcl learning curve still okay
  • Finding integration points
  • Coding styles
  • Breakage
  • Not exactly a shock

27
Software Engineering with Tcl?
28
Development PracticesCoding Style
  • Lots of advantages to using one
  • Pick anything
  • Tcl Engineering Manual / Style Guide
  • Tcl code base as example

29
Development PracticesModularity
  • Namespaces, objects,
  • Follow commands like file, string
  • Toplevel parsing routine (entry point)
  • Dispatch to other internal procedures
  • Naming, variable access, etc.

30
Development PracticesAutomated Testing
  • Tcl excels here
  • Benefits
  • Tcltest
  • Single language
  • Other automation

31
Development PracticesSummary
  • Traditional approaches work well in Tcl
  • This will slow you down (a bit)
  • Better than the alternative!

32
Tcl in the Hot Seat!
33
Obvious Strengths
  • Higher level programming
  • Cross platform
  • Easy licensing

34
Common Misconceptions
  • Tcl is unstructured
  • Tcl is hard to hire for
  • Tcl is unsupported

35
Larger Systems Issues
  • Integration
  • Configurability
  • Reliability
  • Performance and Scalability

36
Integration
  • Glue
  • Extensions
  • COM
  • Web services

37
Configurability
  • Adjust for different customers
  • Feature sets
  • Extensions
  • Appearance changes
  • Branding

38
Reliability
  • AOLserver ?
  • Two language solution
  • Application features in Tcl
  • Core engine in C
  • Multiple process model
  • Easy in Tcl
  • Fault tolerant

39
Performance and Scalability
USER
USER
USER
USER
USER
USER
USER
USER
USER
USER
USER
USER
USER
USER
USER
USER
USER
USER
USER
USER
USER
USER
USER
USER
40
Performance and Scalability
  • AOLserver ? ? ? ? ? ?
  • Monitoring performance
  • Add telemetry
  • Scalability test harness
  • Migration to C
  • Multiple processes (vs. threads)

41
Scalability Results
  • Approximately 1000 users
  • 2500 Tcl interpreters!

42
Many legal bills later
43
Bottom Line
  • Tcl worked for us
  • From prototypes to robust/scalable commercial
    apps
  • With Tcl, could take this work much further on
    fewer resources than if using conventional
    development tools.

44
Pitfalls
  • Interactive web applications
  • Web site development
  • Tcl best practices?
  • Image problem?

45
Still Great to be a Tcl Developer
  • Core Tcl/Tk
  • Tcllib
  • Activestate
  • Tclhttpd
  • Metakit
  • Tclkit/Starkit
  • Wiki

46
Shameless Plug
  • CourseForum
  • Wiki discussion for education
  • Multiple areas, users, versions, tracking
  • Ease of use
  • Easy deployment
  • Uses a little bitof Tcl

47
Grab a Beta Version _at_ www.courseforum.com
48
Summary
Tcl/Tk good.
  • Even for bigger systems.
  • You can convince others of that.
  • But it really helps if you know what youre
    doing!

49
Questions? Comments?Entertaining War
Stories?www.markroseman.com
Write a Comment
User Comments (0)
About PowerShow.com