Welcome to Noumena Corporation

Tcl/Tk : Unix's greatest secret
Now available on all platforms!
HOME NEWS TRAINING TCL/TK AFFILIATES
" "
Noumena Corporation

What is Tcl
Tcl is a programming language with too many features to be easily compartmentalized.

The feature list includes:

  • Extensible
    You can easily add new commands and libraries to a Tcl interpreter.

  • Embeddable
    You can use Tcl as a scripting language within another larger application.

  • Orthogonal
    The syntax is simple and consistent - Tcl code is easy to write and also easy to read.

  • Modern
    All the modern programming constructs are supported, including simple objects and namespaces.

  • Multiplatform
    The Tcl interpreter has been ported to more platforms that Java. The same scripts can be run on everything from IBM Big-Iron to real-time embedded kernels.

  • Powerful
    The Tcl architects have provided powerful and well-thought generalizations that make it fast and easy to write what would otherwise be complex applications.

The best thing about Tcl is that it's a tool that lets you concentrate on solving a problem, not dealing with a language. In 30 years of programming, I've never found a language I enjoy working with so much.

That said, here are some resources for learning and using Tcl/Tk.

" "
" " " "
Tools and Utilities
Noumena Corporation has developed and maintains a number of Tcl scripts that make our life a little easier.

These include:

  • Tcl Tools. A few small but useful Tcl scripts. Some list handling procedures, some extra string handling procedures, and parseArgs, the procedure used to parse command line args in the Client-Server skeleton.

  • Tree Widget: An enhancement of D. Richard Hipp's tree megawidget that includes:
    • Namespace and package support
    • Faster tree building (particularly on large trees)
    • Options to control how the widget behaves
    • Options to modify how the tree appears

  • The Mega Dummy is a dummy megawidget skeleton that simplifies building custom megawidgets. This is the latest version of the script described in Tcl/Tk for Real Programmers

  • This sample Tcl Extension is a dummy extension that provides examples of passing data and status between the Tcl interpreter and the C functions.

  • Control: a Tk front-end to the BottleRocket X-10 Controller

  • Client-Server Skeleton. These two scripts provide a simple outline for writing Tcl/Tk based client/server applications. The standard socket controls are here (opening a socket, waiting for input, etc), and you just add the code to process the data.

    Note: The client/server skeleton uses parseArgs from the Tools package.

  • dlopen (slightly misnamed) loads a shared library that does not contain a xx_Init entry point on Windows on Linux platforms. This allows loading extensions that require other shared libraries to be resident before they can resolve their symbol tables.

  • htmllib.tcl. This script was written by Steve Uhler while he was with Sun Labs. It's a pure Tcl html display package that is used in TclTutor, htmlview.tcl and TclPoint. This version supports the Tcl/Tk 8.0 and newer Font conventions and simple tables.
Examine the offerings

Noumena\
Noumena\

Tclsh Spot
Clif Flynt has been writing articles about Tcl for ;login: magazine since April, 1999.

The example code from all of these articles is available here.

The The Tclsh Spot articles are available on line for Usenix members. There are links to the older articles that are available online for the general public.

These include:

  • Tcl/Tk Introduction: A GUI Calculator

  • Catching unowned IRC Robots

  • An HTML viewer for MIME mail readers

  • Extending the HTML viewer

  • Introducing the stock robot

  • Extending the stock robot

  • Analyzing data - Introducing BLT

  • More things to do with the BLT graph widget

  • Comparing multiple data sets with the BLT Graph widget

  • Client/Server system monitor

  • Expanded Client/Server system monitor with BLT barchart

  • Client/Server System Monitor with history

  • Examining binary data

  • Binary data and sockets

  • A simple Telnet Client

  • Display text from tcpdump output

  • A simple html interaction tester

  • Resizeable displays

  • Scrollable Displays

  • Popup Help messages

  • Firewall Validation 1: Building extensions with SWIG

  • Firewall Validation 2: Testing the packet generator with AX4000

  • Firewall Validation 3: Object Style programming in Tcl

  • Firewall Validation 4: Capturing and Analyzing Packets with an AxTcl

  • Firewall Validation 5: Monitoring log files with Expect

  • Firewall Validation 6: Client/Server sockets

  • Firewall Validation 7: Secure Sockets, TLS and creating a simple Certificate Authority

  • Firewall Validation 8: Mobile Agents in Tcl

  • Digression: Fortran/Tcl 1: Using Tcl with FORTRAN

  • Digression: Fortran/Tcl 2: Making a better GUI for FORTRAN Applications

  • FORTRAN/Tcl: Data Visualization with a Tk Canvas

  • Wrapping applications with TOBE
Examine the article summaries
" " " "
Clif Flynt's Tcl/Tk Pages
Clif Flynt created his first homepage in 1994. Over the years, he's added a number of Tcl/Tk resources to those pages.

Over time, those resources will migrate to the Noumena Corporation server, but for now, some information is still on Clif's homepage.

Clif Flynt's Tcl/Tk page.

Clif's newer projects are kept here. These projects include

  • A Tcl based graphing application
  • A project Gutenberg browser and converter to PDB format
  • Libtclsh.a
  • A plotting tool for authors
  • GUI for building LTSP Linux
  • GUI for generating security audit reports with Linux Kernel Auditing.
  • Some games

Noumena\
Noumena\

Tcl/Tk For Real Programmers
Tcl/Tk: A Developers Guide
Tcl/Tk for Real Programmers was published by Academic Press in 1999. It was revised and renamed into Tcl/Tk: A Developer's Guide in 2002.

This book introduces the experienced programmer to the Tcl language and the Tk graphics extension to Tcl.

It received positive reviews from many readers.

Dr. Dobbs Electronic Review says: ...Flynt has produced what must be the quintessential Tcl/TK pedagogic presentation. The print book is first-rate technical writing. ... Flynt's 680 pages are organized, orderly, extensively cross referenced, well proofread and technically reliable... Dr. Dobbs Electronic Review of Computer Books

Get more info on Tcl/Tk: A Developer's Guide.

Purchase Tcl/Tk: A Developer's Guide from Amazon.

" " " "
Tcl/Tk Training
Noumena Corporation offers Tcl Training for beginners and experts.

Email mentoring and on-line support is also available.

Visit the Noumena training home-page.


Noumena\
Noumena\

TclTutor
TclTutor is a Computer Aided Instruction package that teaches the mechanics of using Tcl.

This package provides a short introduction to each of the Tcl commands, and an interactive example of how the command can be used. You can modify and rerun the examples to see just how the commands work.

The 40+ lessons can each be read in under 10 minutes, and then entire tutorial can be completed in a single day.

And it's Free!

Tell me more about TclTutor!

" " " "
Tcl/Tk Tutorials
There are many Tcl/Tk Tutorials available on the web.

This page has pointers to a number of them.

A collection of web based Tcl/Tk Tutorials


Noumena\
Noumena\

Tcl/Tk in the Real World Articles
Several folks have written brief articles about how they use Tcl/Tk in some Real World applications.

These articles were included on the Tcl/Tk for Real Programmers CD-ROM, and are also available here.

Real World Chapters from Tcl/Tk for Real Programmers CDROM

" "
Noumena Corporation
9300 Fleming Rd
Dexter, MI 48130
(734) 426 - 1066
clif@noucorp.com


Noumena Corporation homepage