Slashdot Mirror


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."

4 of 148 comments (clear)

  1. Re:They need to start releasing... by Eryq · · Score: 5, Insightful

    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!
  2. Re:less and less by baxissimo · · Score: 3, Insightful

    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.

  3. Re:It's not necessary anymore by 198348726583297634 · · Score: 4, Insightful

    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.

  4. Re:Tcl language vs. Tcl environment by ElMiguel · · Score: 3, Insightful

    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:

    • Operators can only be used if you have an implicit or explicit expr, and no assignment operators. You've got "set" and "incr", but it isn't as readable. Using "$" for variable substitutions but not for variable references is also not very readable.
    • Loads of naming inconsistencies. Just in the predefined commands, you've got words together with no separations ("msgcat"), words together separated by underscores ("auto_load"), mixed case *and* underscores ("tcl_endOfWord"), double colons ("pkg::create"). Then, string operations are grouped together in the "string" command, but you've got separate commands for list operations.
    • The -something options are ugly, in addition to a potential gotcha, because if you have something like "switch $var" everything will work fine until the content of var is, say, "-glob".
    • The "everything can be treated as a string" philosophy sometimes leads to strange results if your program logic has errors. I quite often had to use trial and error to fix this sort of problems.