One of the best reasons to attend the Tcl conference is the
tutorial track. These sessions are presented by Tcl experts -
people who write the packages, write the books, and
develop applications on a daily basis. They share their
knowledge of Tcl/Tk and the practical experience in developing large,
robust applications. Whether you're new to Tcl or experienced,
these sessions will help you develop your projects more quickly.
|
Object Oriented Programming with [incr Tcl]
( Ken Jones ) |
|
Object-oriented programming is a fundamental practice
in modern software design, greatly contributing to code
maintainability and reuse. And [incr Tcl] is the most widely-used
extension for adding object-oriented structures to Tcl. Learn how to
create and manipulate [incr Tcl] classes and objects, use protection
levels to manage object access, and extend classes through
inheritance and subclassing.
|
|
Intro to Tcl/Tk I
( Clif Flynt ) |
|
Tcl/Tk makes it large, complex tasks easy to complete.
Clif introduces the basics of Tcl and Tk including:
- Syntax
- Looping
- Decision making
- List processing
- String processing
- Regular Expressions
- Procedures
- Arithmetic operations
- Buttons
- Labels
- Canvas
- Grid
|
|
Weaving Multi-Threaded Applications
( Ken Jones ) |
|
A multi-threaded application can perform multiple
tasks in parallel. Although Tcl's built-in event loop is an elegant
and simple solution for tasks such as managing graphical user
interfaces or handling interprocess communication (where threads are
required in many other languages), there are still situations where
a multi-threaded design is easier to implement and maintain. This
module identifies appropriate uses of threads in Tcl applications,
and describes the features of the Thread extension, including:
thread creation; thread termination; joinable threads;
inter-thread-messaging; shared variables; mutexes; condition
variables; and thread pools.
|
|
Intro to Tcl/Tk II
( Clif Flynt ) |
|
Tcl/Tk makes it large, complex tasks easy to complete.
This session expands on the morning with:
- Associative Arrays
- Sockets
- Using the event loop
- Advanced canvas
- Listbox
- Menu
- Building megawidgets
|
|
Enough Expect to be Dangerous
( Ken Jones ) |
|
Expect's unparalleled support for interacting with
command-line and network applications have made it the industry
standard for automated test applications. But its features also make
it an excellent tool for managing interprocess communication and
extending legacy applications. As one developer said, "Expect can
make easy all sorts of tasks that are prohibitively difficult with
anything else." This tutorial concentrates on the four core Expect
commands used in virtually all Expect programs, as well as showing
tips and tricks for overcoming common Expect problems.
|
|
Tcl/Tk Optimizing & Debugging
( Clif Flynt ) |
|
All languages have tricks and tweaks that help make code run faster.
Clif will discuss:
- using tkcon to examing and modify a running program.
- using trace and info level to record program behavior.
- other debugging techniques.
- using Tk's option command to speed up a GUI.
- using loops and procs for more speed.
- using string map instead of regsub.
- using faster versions of common commands.
- using time to find where things are slow.
- using critcl to recode compute intensive sections in 'C'.
|
|
Expecting a bit more
( Ken Jones ) |
|
So, you've had a taste of Expect, and you like it.
You're able to create an Expect script that interacts with an
application. You've discovered the use of *exp_internal* to debug
tricky interaction problems. But now you're ready for more. Well,
this tutorial shows you the ins and outs of handling multiple
applications simultaneously in an Expect script, as well as juggling
user interaction at the same time.
|
|
Tcl/Tk For Gaming
( Clif Flynt ) |
|
Programming should be fun! Fun projects make fun programming.
Tcl is a great tool for one-evening projects like a simple arcade
game, PvP networked strategy games, or even FirstPerson Shooters.
Clif will provide a focused look at:
- using arrays to structure data.
- canvas features like binding, introspection, and redrawing.
- socket communications.
- the snack extension (for sounds & music).
- merging C with Tcl for speed.
- providing pause-free runtime with after and update.
|
|
Advanced Tk: GUI appearance
( Jeff Hobbs ) |
|
There's a big difference between a quick and dirty GUI and a
good looking professional GUI. Jeff will explain the newer features
Tk has added to create a solid GUI you can be proud to send to a
customer, including:
- Controlling the toplevel
- Themed widgets (tile/ttk)
- 8.5 widget enhancements
- Subtle platform differences
Some time will be alloted for hands-on work. A laptop is recommended
for this course (latest Tk binaries will be provided).
|
Contact Information
tcl2007@tcl.tk
|