Tcl/Tk 8.5.0 Released
dkf writes "Tcl/Tk 8.5 has been released for all major platforms after 5 years of development. There are many new goodies in it, including significant speedups through an advanced bytecode engine, stronger localization of applications, integrated arbitrary-precision arithmetic, a whole bunch of brand new skinnable widgets, anti-aliased text support on all platforms, and a new code-module management system to make maintenance of installations a snap. More in-depth information about the features of both this release and Tcl/Tk in general is available at the official Tcl/Tk website. Mark Roseman's blog has a first-look review."
Why Java won that market I can't possibly fathom.
It didn't. Flash did.
Java might have won if the original JDK hadn't been so primitive and difficult to work with. Even long after Swing was released, browsers were still shipping with ancient 1.1 JVMs, and installing newer JVMs wasn't an automatic (or even simple) process for some browsers and platforms.
Still, though, Flash probably would have won out in the end. Swing is designed for desktop applications: standard menubars, dialogs, etc. -- themeable, maybe, but BORING to a web designer's eyes. With Flash, cool weird unique user interfaces are the whole point.
The engineer and UI-standards-advocate in me appreciates Swing. The artist wants to learn Flash.
I'm a bloodsucking fiend! Look at my outfit!
I know this is Slashdot but there are still a few people out there using Windows, y'know. And GTK on Windows is just so-so at best. It looks and acts un-natural. Don't know about Mac, but I suspect wx is ahead of GTK in terms of not sticking out like a sore thumb there too.
Really, no one seems to think Perl is "peculiar", when it's practically a write-only language, pre-obfuscated for your convenience. Tcl is incredibly simple once you understand it.
You are in a maze of twisty little passages, all alike.
Not so.
Tcl's strongest redeeming features are its consistency and its sensibility. Tcl very strongly has a principle of least surprise, thanks to these. That alone makes programming in Tcl a joy compared with many, many other things. You'll spend a lot less time wondering how your code will work on a foreign platform, which flags a given widget expects, and so on.
Tcl of 2007 is also not Ousterhout's Tcl of 1987. A lot has happened in the last 20 years, including totally pervasive unicode support (the [msgcat] library makes internationalization such a breeze, there's absolutely no reason not to make all your programs localizable from the start), some very healthy namespace functionality, an excellent networking library, and of course the relatively recent Tile toolkit.
There are also new projects being developed with Tcl all the time.
Far from being an outdated or dying language, Tcl today is just a well-kept secret, sitting out in plain sight.
About the only people who are truly befuddled by the way the interpreter parses comments are people who don't use Tcl on a regular basis, or haven't had their programming horizons expanded much. In the real world, in every practical sense, it just doesn't matter. Sure, maybe you'll get bit once or twice if that over the course of a decade of using Tcl, but the reason for how the interpreter handles comments is what gives Tcl its power.
I suspect it's a lot like the whitespace-represents-nesting feature of Python. It looks like a totally brain-dead non-starter that no self respecting programmer would subject themselves to (no offense python folk!), yet from what I've heard from Python programmers, it's really just not an issue.
If you're more worried about how the language treats your comments than you are about how it treats your code, your data, and your productivity, Tcl is not for you. But that's cool. Nobody in the Tcl community wants to convert you. In fact, we encourage you to choose the right tool for the job no matter what it is. It's just that once you are a bit more open minded about your tool set, we think you'll find that Tcl and Tk continues to be an extremely viable solution for many real world problems.
For what is worth, a lot of experienced people are fans of obscure antique technologies, because that's what they specialized on and they don't want to learn some "new-fangled" substitute from the start. There's still people that swear by VMS, it's just human nature.
As for what I don't like about the Tcl language, it's mostly just a collection of small things, such as:
That is true, but I don't think that it explains the popularity of Tcl within the Tcl community. There are plenty of people who have come to Tcl recently after long experience with other languages. I am one of them. I started programming in Fortran, on punch cards, in 1973. I first used Tcl in 2003, at which point I used mostly C, AWK, and Python. My initial reason for using Tcl was that I needed to write a GUI, had done no graphics programming for quite some time, and had heard that Tcl/Tk was good. I tried it, and indeed my initial reaction was that Tk was really nice but that for programs of some complexity I didn't really like Tcl. With greater experience, though, Tcl grew on me, to the point that it has almost completely replaced both AWK and Python.