Linked by Thom Holwerda on Thu 20th Dec 2007 21:35 UTC, submitted by wordtech
General Development Tcl/Tk 8.5.0 has been released. "The 8.5 release was a long time in development, and brought about several good enhancements to Tcl/Tk. Source releases, the exact changes and ChangeLog for each release are available in the SourceForge Tcl project's file distribution area."
Order by: Score:
Not in a long time...
by dindin on Thu 20th Dec 2007 21:48 UTC
dindin
Member since:
2006-03-29

Wow, did not realize this was still around. Are there many projects using Tcl/Tk still? I remember when some of the old GUI interfaces were developed with this but not sure how the performance has been improved over say Python and Ruby. I did not realize they used Bytecode now.

Reply Score: 1

RE: Not in a long time...
by poundsmack on Thu 20th Dec 2007 22:08 UTC in reply to "Not in a long time..."
poundsmack Member since:
2005-07-13

yes there are many many projects still using this. It is actualy a rather nice tool kit and i really like what they have done with 8.5

Reply Score: 4

RE: Not in a long time...
by amit on Thu 20th Dec 2007 22:12 UTC in reply to "Not in a long time..."
amit Member since:
2006-02-13

Actually Tcl/Tk is industry standard in scripting engineering applications such as ModelSim, Synopsys DesignCompiler, Xilinx ICE, etc.

I am quite sure it will be around for a while...

Good release.

Reply Score: 4

RE: Not in a long time...
by WereCatf on Thu 20th Dec 2007 22:37 UTC in reply to "Not in a long time..."
WereCatf Member since:
2006-02-15

One of the apps I use and which utilizes Tcl/Tk is aMSN ;) I remember having read somewhere that 8.5 is supposed to support anti-aliased font rendering which sure is a welcome addition! aMSN is a nice app but one thing that drove me almost nuts was the hideous font rendering.. :/

Reply Score: 3

RE: Not in a long time...
by agrouf on Fri 21st Dec 2007 13:51 UTC in reply to "Not in a long time..."
agrouf Member since:
2006-11-17

expect uses tcl.
dejagnu uses expect.
autotools use dejagnu.
most opensource projects use autotools.
tcl is used in most of opensource software.
tcl is the big embeded tool language both in open source and closed source. Python is not nearly widely used as tcl! And it's mostly a replacement for perl, rarely for tcl.
Now tk is quite ugly indeed.

Edited 2007-12-21 14:11

Reply Score: 2

RE: Not in a long time...
by prokoudine on Fri 21st Dec 2007 14:00 UTC in reply to "Not in a long time..."
prokoudine Member since:
2005-08-09
RE: Not in a long time...
by matej on Fri 21st Dec 2007 14:25 UTC in reply to "Not in a long time..."
matej Member since:
2007-05-27

Yes, Tcl/Tk is used by several cool applications. aMSN was already noted, and Coccinella is maybe even sexier. Note that the latter will get support for this new Tcl/Tk 8.5 in next major release; which will be already in March of 2008. Source:
http://coccinella.im/coccinella-0.96.4

Reply Score: 1

RE: Not in a long time...
by yetanotherhacker on Fri 21st Dec 2007 23:11 UTC in reply to "Not in a long time..."
yetanotherhacker Member since:
2007-12-21

Tcl has been using bytecodes since around 1997

Reply Score: 1

Very nice
by sigzero on Thu 20th Dec 2007 22:42 UTC
sigzero
Member since:
2006-01-03

There are a lot of nice things in this release. It now has a core OO framework that can be used as a minimal OO system but is really designed for other more robust frameworks to build on. Native themeing in Tk. There is now a dictionary data structure.

There is also the start of the much clamored for CPAN for Tcl called Teapot (or something like that).

Highlights of Tcl 8.5

Speed: 8.5 now runs 10% faster than 8.4 with bytecode improvements, object caching and reduced memory usage.

Bignums: Tcl now supports arbitrary-precision integers, which improves math operations on large integers.

Safer interps: Tcl's powerful safe interpreter mechanism now has improved control of time and command limits in slave interpreters.

clock command: More robust implementation of command for specifying time, with significant l10n and i18n improvements.

dict command: New data structure that allows access to data by value rather than a variable name, which is substantially faster.

Additional improvements: Faster list search, new and improved mathematics procedures, anonymous procedures, new ways to package Tcl extensions, Tcl-level custom channel types, file and line location information for each command, and more.

Highlights of Tk 8.5

New modern theming engine: New and complementary widgets that make use of platform-specific theming on Mac OS X and Windows to better fit in with those environments, and feature an improved look and feel under X11.

New widgets: Part of the themed widget set, Tk now has core notebook, combobox, treeview and progressbar widgets.

text widget: Smooth scrolling, widget peering, and improved procedures for counting and replacing text.

Font rendering: Now uses anti-aliased text under X11, and a more modern text engine (ATSUI) on Mac OS X.

Additional improvements: Window transparency, new fullscreen option for windows, enhancements to specific widgets and window layout, and more.

Resource:

http://wiki.tcl.tk/

Reply Score: 6

WoW
by sanctus on Thu 20th Dec 2007 23:09 UTC
sanctus
Member since:
2005-08-31

Wow! The OS X port look nicer than the wxwidget one. ( I use mostly wxpython)

And wx render annoyingly slow on OS X (Tiger and Leopard) compare to Linux or Windows, I wonder how Tk compared on this matter.

Reply Score: 1

Already using it...
by AdamW on Fri 21st Dec 2007 00:41 UTC
AdamW
Member since:
2005-07-06

8.5 pre-releases have been used in Mandriva since release 2008.

Yes, this means our amsn package has lovely AA text. ;)

Reply Score: 2

Too late...
by Brandybuck on Fri 21st Dec 2007 03:44 UTC
Brandybuck
Member since:
2006-08-27

I just picked up the new PyQt book. Tcl/Tk 8.5 is great for legacy apps that started with that tookit, but for new development in that market PyQt is kicking butt. Sometimes you just gotta let go of the old stuff.

Reply Score: 0

RE: Too late...
by sigzero on Fri 21st Dec 2007 04:06 UTC in reply to "Too late..."
sigzero Member since:
2006-01-03

This isn't a plug your own widget set. It is about the release of Tcl/Tk. PyQt...meh. If I was doing Python, I would go with wxPython over PyQt.

Reply Score: 2

RE[2]: Too late...
by smitty_one_each on Fri 21st Dec 2007 13:20 UTC in reply to "RE: Too late..."
smitty_one_each Member since:
2005-07-07

The question begged is: why don't they have a nice abstract GUI PEP that all of the adapter module writers can target?
I'd like to distribut a python egg that can just use whatever is installed. Make GUI writing as close to dumb-simple as HTML, for the 80% solution.

Reply Score: 1

RE[3]: Too late...
by agrouf on Fri 21st Dec 2007 14:10 UTC in reply to "RE[2]: Too late..."
agrouf Member since:
2006-11-17

I believe that is what every GUI toolkit is trying to achieve. Everytime you add an abstract supposed to be used by everyone, you actually add a new API and new complexity that will only be used by a few and ignored by the rest. Each GUI toolkit is already an abstraction. No need to add a layer there. Just need to convince everybody to use the same stuff.

Reply Score: 1

RE[3]: Too late...
by Dasher42 on Fri 21st Dec 2007 22:24 UTC in reply to "RE[2]: Too late..."
Dasher42 Member since:
2007-04-05

There's more to these toolkits than panels and widgets, else I'm sure we'd be doing as you suggest. Have a look at either GTK or QT's capabilities sometime. You've got thread managing, SQL interfaces, data structure libraries, and other things that get quite specific. While I'm sure a simple interface definition could be in common for all of these things, it would be unable to take advantage of the best features.

Reply Score: 1

Quick coding
by Doc Pain on Fri 21st Dec 2007 07:05 UTC
Doc Pain
Member since:
2006-10-08

Tcl/Tk is still a very good choice for GUI coding in combination with shell scripts. You can even implement more complex applications based on Tcl/Tk scripts without compiling anything.

For example, the tkbrief application is an easy interface for the LaTeX dinbrief document class. ("Brief" is german for "letter").

http://www.linuxnetmag.com/en/issue2/m2tkbrief1.html

When I have to create a simple GUI wrapper for some automated process, I usually stick with Tcl/Tk, because it's fast and simple. It's very easy to code when you are familiar with C and sh. On the complexity side, it does not require huge dependencies, so it's great on systems with low ressources or that do not run one of the two major DEs on UNIX / Linux. Furthermore, it includes a good documentation you can access via the man command which is an advantage for developers.

For example, I did create a script that makes a booklet out of given image files, so you can simply take it out of the printer, fold it in the middle and have a booklet. The interface to this script contains a simple file selector, some buttons for configuration (e. g. last page aligning convention) and a simple preview / printing facility, along with an interface to the pdflatex tex - pdf processor. I didn't mind to create a Gtk or Qt based "full application" around this simple script, because I use it in CLI mode most times, but along with the Tcl/Tk wrapper I can share it with other users. I have other scripts for maintaining digital camera outputs, too. None of these tasks is "worth" implementing a "real program". :-)

I would be sad if Tcl/Tk disappeared from the UNIX world.

Reply Score: 3

rklrkl
Member since:
2005-07-06

One thing I never liked about TCL and TK's source code is that you actually have to leave it unpacked all the time! Yep, for example (unless you heavily hack the source code), to build TK in its 8.4.X incarnation, you have to have the equivalent TCL 8.4.X *source code* unpacked!

This is very poor indeed - you should have just been able to "make install" TCL, delete the source code and then used the installed TCL files to build TK - which is how every other source package in the universe does it. It gets worse with third-party source code that uses TCL/TK - that often assumes unpacked TCL/TK source trees too - arrgh! If there's one thing I hope 8.5 has fixed, it's this "craziness" w.r.t. source code building...

Reply Score: 1

tobyontour Member since:
2007-12-21

Do you mean the code or the headers? If you mean the former then that would be odd, if you mean the latter then that is how 'every other source package' does things.

Reply Score: 1

defdog99 Member since:
2006-09-06

You can compile EVERYTHING in to a single file called a starkit. Starkits have been around since 8.4.

Glad TCL/TK 8.5 finally released. It's been in development for 5 long years...

I wish the TK project would split from TCL side.

Reply Score: 1

sigzero Member since:
2006-01-03

I have wished that as well. Maybe it is time for a wxTcl to mimic wxPython?

Reply Score: 1

yetanotherhacker Member since:
2007-12-21

You obviously haven't looked at tcl since, say, 2002 or so. Tcl is way ahead of the pack in this regard. It's possible to pack the tcl executable, the runtime, your tcl code, even other executable programs and dll/so's into a single executable. No install necessary.

The technology is is called a starpack, which consists of a platform dependent runtime (tclkit) and platform-independent code (starkit)

Reply Score: 1

rklrkl Member since:
2005-07-06

> You obviously haven't looked at tcl since, say, 2002 or so.

I did mention 8.4.X in my post and I have indeed built tcl/tk 8.4.16 (the last one before the 8.5 series). If you do a straightforward "configure", "make" and "make install" (which is exactly what unix/README tells you to do), you run into the very problem I described.

Basically, tcl and tk don't seem to do a full "make install" of all the files required (particularly include files) to build other packages from the installed files. The starpack format you mention isn't documented in the compilation/installation instructions either - my only guess is that it's yet another third-party package you have to go off and build/install.

Mind you, a third-party build system doesn't surprise me because tcl and tk's build/install system is woefully inadequate!

Reply Score: 1

tobyontour Member since:
2007-12-21

The starpack is a method for creating single file executables for different operating systems (for instance I have a tcl starpack executable that I email as one file to the sysadmin who runs it on his windows box (although I do all the testing and creating on my linux box). He doesn't have tcl installed on his machine, just this one executable I send.

You may not like Tcl but you don't seem to really know enough about using it to comment (for this same reason I'll not comment on perl/ruby/python/flavour-of-the-month).

Reply Score: 1

Ruby and Tk
by hibridmatthias on Fri 21st Dec 2007 14:26 UTC
hibridmatthias
Member since:
2007-04-11

I am a relatively new programmer, and having written 3 small apps for work for use at the console, I have decided to try to pop on a GUI front end to my smallest program.

Of all the options, Tk is the most viable option; QT tutorials tell me I have to know C++; Tk tutorials do not. Of the others, Tk has the best documentation for use with Ruby. Tk is also included with the Ruby package. Ruby is free and still cross platform, should I try to market sell my apps.

I would have liked Qt, but the barriers to entry were too steep. Tk is nice for us beginners using FOSS.

Just my .02

Reply Score: 2

Addictive
by ccchips on Fri 21st Dec 2007 17:39 UTC
ccchips
Member since:
2006-05-24

I love to play around with languages as a hobby, and Tcl is no exception there. Periodically I go an a Tcl/Tk binge, and they always seem to last longer than the other binges. I like Perl/Tk and Tkinter as well.

The only problem I have with Tk is its printer support. I wish it had better (or maybe there's some secret about printing under Tk that I haven't found yet, other than the Canvas/Postscript thingy.) I alwsys kinda liked how Visual Basic could see the printer page as an object and then just print it.

Other thing I love about this is that you can show anybody how to put widgets on their screen and play with them, interactively. Really cool!

I agree - this toolset will be around a lot longer than I will, I think.

Reply Score: 1

Love tcl
by Ikshaar on Fri 21st Dec 2007 18:21 UTC
Ikshaar
Member since:
2005-07-14

I know it's not the most powerful language but on ratio difficulty to learn language versus potential of it, still one of the best. I write most of my scripts in tcl.

Reply Score: 1