Tcl/Tk – The Magic of Strings (Part I)

Background:

Magicsplat Installing“What language should I learn?” is one of the more commonly asked questions by those who are new to the world of programming.  Of all the languages that wax and wane over the years, it would be rare to find Tcl/Tk at the top of that list.

Tcl, pronounced “tickle”, is an abbreviation for the award-winning Tool Command Language developed by professor John Ousterhout in 1988 at the University at Berkeley.  As both an embeddable and extensible interpreted language, Tcl’s versatility and functionality are often hidden behind the scenes of many popular software projects and seldom receives the notoriety it deserves.

Python programmers may recognize Tk as the installed default GUI (graphical user interface) for applications, while others may also be familiar with Tcl’s close ties to SQLite as noted in the article “SQLite and Tcl” by D.Richard Hipp,

SQLite was designed from the beginning to be used with Tcl.  Tcl bindings have been in the SQLite core since before version 1.0 and almost half of the SQLite source code base consists of regression test scripts written in Tcl.  SQLite wants to be programmed in Tcl, not those other languages.

SQLite and Tcl, D. Richard Hipp

That the most recent release of Tcl/Tk 8.6.8 was announced on December 22, 2017, is a testament to the capabilities Tcl/Tk has to offer to programmers and the software development community alike.

You may very well have one or more instances of Tcl installed on your system.  I performed a simple directory search on my Windows machine and was surprised to learn how many instances of Tcl were actually installed.  Clearly, applications are taking advantage of Tcl’s many capabilities.

As a cross-platform language, Tcl can be used to create a diverse range of robust applications.  Tcl is more complex than it’s strikingly simple syntax may suggest.  It will take a little practice to understand how substitutions and expressions are evaluated when your code is executed.

I purchased a number of programming books on the Tcl Programming Language but few have provided as much information as  The Tcl Programming Language:  A Comprehensive Guide by Ashok P. Nadkarni (CreateSpace Independent Publishing Platform):

  • Publication Date:  July 18, 2017
  • ISBN-13:  978-1548679644
  • ISBN-10:  154867964X
  • Pages:  668

I highly recommend this book and suggest reading it from cover to cover and working through the examples presented.  I have several other books listed below, however, “The Tcl Programming Language:  A Comprehensive Guide” has been my primary go to text.  The author’s website also offers and maintains Tcl binaries.

I use ActiveState’s Komodo IDE as my primary IDE for coding applications in Tcl/Tk although it also supports a wide range of programming languages.  I am also using ActiveTcl Pro Studio that provides many additional benefits.  Visit the ActiveState website for more details on the Komodo IDE and ActiveState’s offerings for Tcl/Tk.

Tcl may not be the most popular programming language, however, it can be used to develop extremely powerful applications.  You may be surprised to learn that Tcl may already exist on your machine!

Until Next Time – 

vergence-logo-square-e1388368184851

Related Articles, Tutorials, Books, Videos, Websites

Books

  • The Tcl Programming Language:  A Comprehensive Guide by Ashok P. Nadkarni (CreateSpace Independent Publishing Platform)
    • Publication Date:  July 18, 2017
    • ISBN-13:  978-1548679644
    • ISBN-10:  154867964X
    • Pages:  668
  • Effective Tcl/Tk Programming:  Writing Better Programs in Tcl and Tk by Mark Harrison and Michael McLennan (Addison-Wesley Professional Computing Series)
    • Publication Date:  18-Dec-1997 – 1st Edition
    • ISBN-13:  978-0201634747
    • ISBN-10:  0201634740
    • Pages:  432
  • Practical Programming in Tcl and Tk (4th Edition) by Brent B. Welch, Ken Jones, with Jeffrey Hobbs (Prentice-Hall)
    • Publication Date:  20-Jun-2003
    • ISBN-13:  978-0130385604
    • ISBN-10:  0130385603
    • Covers Tcl/Tk 8.4
    • Pages:  960
  • Tcl and Tk Programming for the Absolute Beginner (1st Edition) by Kurt Wall (Cengage Learning PTR)
    • Publication Date:  12-Oct-2007
    • ISBN-13:  978-1598634389
    • ISBN-10:  1598634380
    • Pages:  384
  • Tcl and the Tk Toolkit (2nd Edition) by John K. Ousterhout and Ken Jones (Addison-Wesley Professional)
    • Publication Date:  12-Sep-2009
    • ISBN-13:  978-0321336330
    • ISBN-10:  032133633X
    • Covers Tcl/Tk 8.5
    • Pages:  816
  • Tcl/Tk 8.5 Programming Cookbook by Bert Wheeler
    • Publication Date:  11-Feb-2011
    • ISBN-13:  978-1849512985
    • ISBN-10:  1849512981
    • Pages:  236
  • Tcl/Tk:  A Developer’s Guide (3rd Edition), Clif Flynt (Morgan Kaufmann)
    • Publication Date:  21-Feb-2012
    • ISBN-13:  978-0123847171
    • ISBN-10:  0123847176
    • Pages:
  • Tcl in a Nutshell:  A Desktop Quick Reference by Paul Raines and Jeff Tranter (O’Reilly Media)
    • Publication Date:  04-Apr-1999
    • ISBN-13:  978-1565924338
    • ISBN-10:  1565924339
    • Pages:  456
  • TCL/Tk Pocket Reference:  Programming Tools by Paul Raines (O’Reilly Media)
    • Publication Date:  07-Nov-1998
    • ISBN-13:  978-1565924987
    • ISBN-10:  1565924983
    • Pages:  96
  • TCL 8.5 Network Programming (Community Experience Distilled) by Wojciech Kochjan and Piotr Beltowski (Packt Publishing)
    • Publication Date:  01-Jul-2010
    • ISBN-13:  978-1849510967
    • ISBN-10:  1849510962
    • Pages:  588
  • Exploring Expect:  A Tcl-based Toolkit for Automating Interactive Programs by Don Libes (O’Reilly Media)
    • Publication Date:  11-Dec-1994
    • ISBN-13:  978-1565920903
    • ISBN-10:  1565920902
    • Pages:  606

Downloads

  • Magicsplat CompletedMagicsplat (Ashok P. Nadkarni) – Magicsplat Tcl/Tk for Windows binaries is a simple installer for Tcl/Tk on your windows system.  Follow the installation instructions on Magicsplat Tcl/Tk for Windows for additional details.
  • Downloading binaries is the preferred method for installing Tcl/Tk on Windows systems. If you choose to install Tcl/Tk from source files they can be found here:  Tcl Developer Xchange (www.tcl.tk/software/tcltk/download.html).
  • ActiveState TCL Solutions:  Community, Business, and Enterprise Editions
    • Highly recommended TCL installation package.  I also recommend downloading the KOMODO IDE.  A free community edition or professional (paid) version are available for download.

Tutorials:

Websites:

Compiling from Source

While it is possible to compile Tcl / Tk from source, installing from binaries is the preferred method.

% info commands will list all available commands

Leave a Reply