Tk sets the standard

April 13, 2001, 02:51 PM —  Unix Insider — 

Tk is similar to Qt and Motif, the first two toolkits reviewed in this series, in that it is a library coded in C that implements a collection of widgets. However, unlike Qt and Motif, Tk is known by most programmers through its binding to the Tcl scripting language, rather than through C itself.


It is widely believed that Tk is slow because it is used with a scripting language and scripting languages don't perform like C or assembly. This is simply not true -- Tk is comparable in speed to other leading toolkits. In fact, it's considerably zippier than Java's Abstract Windowing Toolkit (AWT). Moreover, because Tk's design intentionally emphasizes easy use for common design situations, Tk is ripe for optimization. As a result, many Tcl/Tk applications are faster than their Motif-based counterparts.


John Ousterhout, a professor at the University of California at Berkeley, created Tcl and Tk in the late 1980s; since then, users and developers of Tcl and Tk have generally belonged to the same demographic. The toolkits are not identical, though. Many Tk programmers base their work on C, Perl, Python, Ruby, Lua, or Scheme. Two recent, well-received books on Tk development are aimed at Perl and Python programmers, rather than those working with Tcl.


So it can be advantageous to understand the roots Tk shares with Tcl, but it's not necessary to use one with the other. Some Tk characteristics are bound to Tcl; some are more generally available.


Portability sets Tk apart from other toolkits -- it is more portable than any other contemporary GUI toolkit, even AWT. Good Tk implementations are available for all Unixes, as well as for Windows, Mac OS, OpenVMS, and other more specialized operating systems.


That dominance seems likely to change: Java Virtual Machines continue to improve, and Qt and wxWindows seem to be on course to release Mac OS versions. Tk's Mac OS distribution has appeared to weaken over the last year. Few developers have contributed to its maintenance, and despite frequent inquiries about a Tk for the Palm OS, one doesn't seem likely to emerge soon.


On the other hand, Tk is currently undergoing its most significant change since it was first ported to the Mac OS in the mid-'90s. The TkGS team, led by Frédéric Bonnet, is reworking Tk's internal design to improve performance and maintainability. It is widely anticipated that once this is completed, Tk ports to Microwindows or Nanox will be quick and nimble. And besides the complete TkGS rewrite, one group is investigating the possibility of a rapid port to Microwindows or Nanox from the current code base.


Tk, clearly in the lead right now with regards to portability, is also a favorite among developers striving for platform neutrality.

Expressiveness and wise defaults

Another benefit of Tk is its conciseness. The classic minimal Tk application is indeed tiny:


    pack [button .mybutton -text Bye-bye -command exit]

This is a small but complete program in Tcl/Tk that

I like it!
Post a comment
The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.
Free books

Build your tech library with our book giveaways.

Windows PowerShell 2.0 Unleashed
By Tyson Kopczynski, Pete Handley, Marco Shaw; Published by Sams

Windows PowerShell Unleashed will not only give you deep mastery over PowerShell but also a greater understanding of the features being introduced in PowerShell 2.0–and show you how to use it to solve your challenges in your production environment. Enter now!

 

Ubuntu Server Administration
By Michael Jang; Published by McGraw-Hill Osborne Media

Realize a dynamic, stable, and secure Ubuntu Server environment with expert guidance, tips, and techniques from a Linux professional. Ubuntu Server Administration covers every facet of system management -- from users and file systems to performance tuning and troubleshooting. Enter now!

Featured Sponsor

AISO founders envisioned a Web hosting company that was environmentally friendly. While the company employed energy-efficient innovations like solar panels, its infrastructure produced unacceptable power and cooling requirements. Find out how AISO leveraged AMD technology to overcome their challenge in this case study white paper.

In this whitepaper, Scalar explores the opportunity to change the landscape with respect to mission critical databases built around Oracle. Leveraging technologies such as Linux, high-end commodity processing power and Oracle RAC technology to architect, design, build and maintain database infrastructure that delivers maximum availability, reliability and performance at a fraction of traditional cost.

On a typical day, weather.com, the Web site for The Weather Channel in Atlanta, serves up between 15 million and 20 million page views. But in September 2004, when back-to-back hurricanes ransacked Florida, the peak traffic on one day more than tripled: over 70 million page views by more than 7 million unique visitors. Read the full success story now.

More Resources