Slashdot Mirror


Tcl Core Team Interview

Gentu writes "OSNews features a nice and long-ish interview with the Tcl core development team for just about everything. " Covers a lot of ground like what they actually use Tcl for, how they came to maintaining Tcl and so forth.

13 of 191 comments (clear)

  1. I get it... by AEton · · Score: 4, Funny
    how they came to maintaining TCL and so forth.
    That's a pun! Tee hee.
    --
    We recently had heard in the office over one of the Yellow Machine that's made by Anthology Solutions.
  2. Maintaining TCL by TOOSuave · · Score: 5, Funny

    I hope maintaining TCL is easier than maintaing projects written in TCL...

    1. Re:Maintaining TCL by hobbs · · Score: 4, Interesting
      Tcl's C source code is some of the most beautiful I have ever seen.
      As a lead maintainer, I have to of course agree, but it is an interesting note that Tcl/Tk is the only major scripting language that has won ACM's Software System award. It's a level of code cleanliness that many systems just dream of.
  3. Pass-by-name is still cool by ObviousGuy · · Score: 5, Interesting

    With the rest of computing going off in the direction of pass-by-reference, it's kind of refreshing to see some languages sticking to their antiquated guns and pushing pass-by-name.

    It's kind of a forgotten art, but P-B-N makes some things like recursion and package scoping very very easy.

    --
    I have been pwned because my /. password was too easy to guess.
    1. Re:Pass-by-name is still cool by Inode+Jones · · Score: 5, Interesting

      Actually, Tcl can use pass-by-reference if you want it to. Tcl objects are dual-ported: they have an internal representation and a string representation. If you define your own representations, you can have the Tcl objects point directly to your internal structures without any need to do name lookups. This is VERY fast, especially if name lookups are expensive.

  4. Download from here! by Anonymous Coward · · Score: 4, Funny

    I couldn't believe all the questions before you can download this stuff!
    Look here:

    Geez, some people. Oh yeah, get the crack yourself.

  5. Tcl does not suck by Anonymous Coward · · Score: 5, Interesting
    Tcl is a language that has a only one syntax for every kind of operation. It has only one data type, though under the hood it stores data that you use as, say, an integer, appropriately. The 'if' statement, rather than being a special construct, is just another procedure which happens to take code to be evaluated as one of its textual arguments. There are no exceptions to the syntax, which makes it easier to understand. It happens to be the opposite of Perl's "natural language" approach, but - so what! It also, much like Perl, has a huge potential for unreadable code, but so does every language.

    Most people who hate Tcl just base their opinions on hearsay. I only respect the views of those who actually have maintained code.

    It is easy, ecstatically so, to write organized, well-performing Tcl applications at any capacity. This is also true of Perl or even C++ (if you have a high pain threshold). That is to say, C++'s approach to simplicity and readability - if I dare assert that it has one at all - is being a low-level language, which keeps you in touch with the entire process on a byte-by-byte level, so it's never a challenge to understand what's going on under the hood. Perl's Way is to act like a natural language, so reading it taps into our inherent linguistic talents. And Tcl's is to just have an extraordinarily simple syntax - and in my opinion, it works.

    The hysterical anti-Tcl sentiment is unfounded. My reply to one of these Tcl trolls on Everything2 goes into more detail: http://everything2.com/index.pl?node_id=1325568

    (I'd be in under my normal account, but I can't retrieve my old password)

    1. Re:Tcl does not suck by Eil · · Score: 4, Insightful


      I've racked my brain trying to figure out why Tcl is hated by so many in the "pop" geek community. The only answer that I've been able to come up with is the fact that those making the complaints are those who: a) do not actually know Tcl and haven't taken the time to understand it and b) are zealots of some other scripting language. A third possible reason that comes to mind is perhaps that some people just can't stand the idea of something that doesn't even closely resemble C-style syntax.

      I started using Tcl/Tk at the suggestion of a fellow LUG member after explaining that I needed something a bit more complicated than xmessage to drive a script that I was working on. I dug in, found it strange, then found it cool, then found it fun, and finally knew enough to start doing some real work. I now use Tck/Tk on a daily basis on a wide variety of projects and have no intention of giving it up. A 5-year-old can understand the syntax, the commands are very well documented, and the community is stellar... none of the condescending holier-than-thou's that always seem to surround the hip scripting language of the month.

      The Tcl'ers Wiki has quite a few pages examining why some people like Tcl and they're even keeping tabs on who says Tcl sucks and why.

  6. TCL in real life by dmayle · · Score: 5, Interesting

    <Shameless Plug>Check out TPOP!</Shameless Plug> It's a POP mail client written entirely in TCL (by me) for the Tivo. (Tivo is heavily dependant on TCL for its functionality...)

  7. TCL vs TK / Ousterhout bailing/ maintaining code by CresentCityRon · · Score: 4, Interesting

    At the 1998 Usenix convention in New Orleans Ousterhout asked how many people used TCL w/o TK. Few raised their hands. Then he asked how many used both. Most raised their hands! Finally he asked about just TK users. Far more raised their hands than the just TCL crowd. He was surprised. He seemed to feel that TK was an addon. For a number of developers that I know and myself TK was the glitz and feature that drew me in. Otherwise I would have stuck with Perl.

    With Ousterhout looking for greener pastures does this weaken the product? I would think so. If he doesn't believe in it then why should I? How long as he been gone. I couldn't tell exactly from the interview. If I missed it sorry.

    I don't know about anyone else but I get in a "TCL" frame of mind. If I go off and do some C++ or Perl coding I cannot seem to read TCL code for a bit. I have to "warm up" or something. I'm aware of flaws in other languages - Perl syntax for example - but you can get some nasty TCL bugs that will simply doom you. It IS tricky at times.

    I feel that TCL's strength was it was an early tool that worked across platforms, and was great for X GUIs. Today that is much more common among tools.

    -Ron
    PS: Ousterhout AND Welch used to reply to my questions years ago. They were terribly generous with their time answering emails. It kept me working with the tool.

  8. Some TCL Strengths by zapatero · · Score: 4, Informative

    One place that TCL really shines is with async sockets. TCL makes it really easy to prototype a server. It's builtin support of the server socket [socket -server cmd ...] enables a very easy creation of an non-forking iterative server, that does surprisingly well. And is also remarkably portable between windows, Linux, and Solaris.

    I've also used Python for this, but I feel that Python's asyncore is still too buggy for prime time, and also the asynchore library is slightly more complex to utilize.

    Another great aspect of TCL is how easy it is to extend. I can compare directly to JNI and Python extensions. TCL by far has the easiest and cleanest extension API for C or C++.

    And finally embedding an TCL interpreter into another ap, is equally easy... Hence the near ubiquitour support of TK in other scripting languages, including Python and Perl.

    Opinions from experience.

  9. Re:Your most unusual Tcl application by kennykb · · Score: 5, Informative
    Ohh, where to begin? Many of the most important Tcl applications are so unusual that you don't realize that Tcl is there under the hood.

    Tcl runs the operator interface of Shell Oil's Auger, a drilling rig in the Gulf of Mexico. See pictures of the rig here, and read about the system integrators here.

    Don't like oil rigs? Well, it's highly unlikely that you can mod this post down without the Tcl that's built into practically every Cisco router on the planet. Read Cisco's tesimonial.

    Once you've done that, go log off and watch TV. Oh yeah, did you know that the NBC network control system is a Tcl application? It is; it's been in the digital broadcast system from prototype all the way to full 24x7 operation. ComputerWorld ran an article about the project.

    Science geeks will be interested that a Tcl interface is used to program the Hubble Space Telescope

    Database heavies will be intrigued by the intimate role that Tcl has in Oracle Enterprise Manager.

    I could go on all evening, this is just the tip of the proverbial iceberg.

  10. What is wrong with a minimal core language? by patthoyts · · Score: 4, Interesting

    A number of the comments above revolve around Tcl's percieved lack of a standard object system. There is one, it's called [incr Tcl]. There are also a large number of other object systems many that fit naturally into the system for which they have been designed. I see no reason to insist on incorporating any object system into the core language. Much better to keep the basics small and compact and allow extension. The now standard Tcl distribution from ActiveState supplies all the bells and whistles you might need. But if you want a minimal system, you need go no further than the tcl sourceforge project and obtain just the language core. I would favour making the language more modular. Not less. Get the TCP sockets out into a loadable module. Chop out the regexp engine. This way if your intention is to drive a washing machine without internet access, you can use only the pieces you need. I've yet to meet another language that is as easy to extend with compiled modules as Tcl. Minimalism - it's the way forward.