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.

48 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 DavidNWelton · · Score: 2, Interesting

      Actually, Tcl's C source code is some of the most beautiful I have ever seen. It is a pleasure to read and study. This is one of the reasons why it is so popular for embedding/extending.

      You can check out an HTMLized version here:

      http://tcl.apache.org/sources/tcl/

    2. 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. Re:Maintaining TCL by EvilTwinSkippy · · Score: 2, Informative
      I second that.

      Though truth be told my biggest problem is compiling my stuff for all the different platforms my extensions are used on. I haven't owned a MacOS box in years and I can't find anyone who can relink the library for new Tcl versions.

      --
      "Learning is not compulsory... neither is survival."
      --Dr.W.Edwards Deming
    4. Re:Maintaining TCL by lvirden · · Score: 2, Informative

      Contact the Tclkit support team (http://www.equi4.com/tclkit/)- I seem to remember reading that someone there has worked out the sourceforge compile farm details for building software on quite a few platforms.

      --
      URL: http://xanga.com/lvirden > Quote: Saving the world before bedtime. Even if explicitly stated to the contrary, n
  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.

    2. Re:Pass-by-name is still cool by hagbard5235 · · Score: 2, Insightful

      No, no it's not. There is a reason no one else uses pass by name. It sucks.

      How exactly does P-B-N make recursion and package scoping any easier than it is in a decently designed language?

  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.

    1. Re:Download from here! by dkf · · Score: 2, Informative

      If all you want is the source, just grab it from SourceForge. We do recommend that people download either the binaries from ActiveState or Tclkit because that saves a configure/make/make-install cycle and you can be sure that someone's actually checked that the build went right. And the people involved in both are really nice anyway.

      --
      "Little does he know, but there is no 'I' in 'Idiot'!"
  5. What an informative table of contents! by LeninZhiv · · Score: 3, Informative

    From the article:

    Table of contents

    1. TCL/TK Interview, Part 1
    2. TCL/TK Interview, Part 2
    3. TCL/TK Interview, Part 3
    4. TCL/TK Interview, Part 4
    5. TCL/TK Interview, Part 5
    6. TCL/TK Interview, Part 6


    Good thing they have it all on one page with the Printer-friendly version .

  6. 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 ObviousGuy · · Score: 3, Interesting

      Simplicity of syntax is great for academics. Good libraries and good support for various programming paradigms is good for life outside the ivory tower.

      Even taking a look at your example syntax, it's hard to see how TCL has improved the cleanliness of the code at all. You've got curly braces, square brackets, dollar signs, and worst of all white space delineating the function parameters.

      --
      I have been pwned because my /. password was too easy to guess.
    2. 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.

    3. Re:Tcl does not suck by tallniel · · Score: 2, Insightful

      OK - let's take these points in order.

      Firstly you comment on lack of good libraries (perhaps missing Expect and Tk as obvious counter-arguments). There are plenty of libraries for Tcl of very good quality, as a quick trawl of the Tcl'ers Wiki, the Tcl FAQ or the Tcl developer exchange would show you.

      Next, you move on to not supporting various programming paradigms. I'm completely lost by this statement. Tcl supports procedural, functional, OO etc styles quite easily. One of Tcl's key advantages is that it is easily adaptable to new paradigms. The fact that Tcl only contains the basic constructs for procedural programming in the core command set maybe where you are getting this from. A bit more in-depth look would show you that Tcl easily allows you to build on these to create whatever language/programming environment fits your problem. It's a very powerful technique.

      Life outside the ivory tower seems to use Tcl quite a bit, if you look at places like IBM, AOL and NASA. Tcl is used in misson-critical applications which have run 24/7 for years.

      As for syntax, Tcl has used the minimum set to do the job well. If you don't like using whitespace to delimit function parameters, you can define your own function construct which takes parameters separated by commas, or whatever. That's the beauty of Tcl - if you don't like it, you can change it *from within Tcl!* See wiki pages on Radical Language Modification and others for more details.

      On top of all this, Tcl has great i18n and asynchronous I/O which most other languages still don't come anywhere near (especially on Windows). Threading is getting very robust. Virtual filesystem support, which enables technology like starkits, is also very cool. Tcl still has a lot to recommend it.

    4. Re:Tcl does not suck by ofgencow · · Score: 2, Informative

      If they added raw IP support in the core TCL libs, so others could write UDP and whatnot libs around that in pure tcl, life would be perfect in the TCL world.

      There is an extension for raw packets: pktsrc
      http://qacafe.com/pktsrc.htm

      I would like to see native UDP support, but I can live with an extension for ICMP.

  7. Tcl in the Mars Explorer project! by $$$$$exyGal · · Score: 3, Interesting
    From page 5 of the interview:

    and the use of Tcl in the Mars Explorer project (the one that didn't crash!).

    I was particularly interested in that use of Tcl, so I searched the web for more info, and all I could find was this document. Any more info would be appreciated!

    --
    Very popular slashdot journal for adul
    1. Re:Tcl in the Mars Explorer project! by SystematicPsycho · · Score: 2, Insightful
      --
      Analytic & algebraic topology of locally Euclidean meterization of infinitely differentiable Riemmanian manifold
  8. Re:I don't get it by ObviousGuy · · Score: 3, Interesting

    For the most part, they were all Emacs losers. It's interesting that Mark Harrison, the only one to have "real world" experience (as opposed to academia and the Open Source world), uses vi.

    --
    I have been pwned because my /. password was too easy to guess.
  9. 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...)

  10. And when they found out they were on slashdot..... by Black+Copter+Control · · Score: 3, Funny

    They were TCLed pink.

    --
    OS Software is like love: The best way to make it grow is to give it away.
  11. More TCL in real life by BLAG-blast · · Score: 2, Informative
    Here are some TCL apps that most people don't realize are TCL apps.

    Ayam 3d (3D modeling package)

    Source-Navigator (Source code browser and more)

    Insight (gdb GUI)

    --
    M0571y H@rml355.
  12. I knew it! by t0ny · · Score: 2, Funny

    I always said TLC didnt write their own music!

    --

    Manipulate the moderator system! Mod someone as "overrated" today.

  13. Is Tcl the new COBOL? by JLyle · · Score: 3, Insightful

    The last time I spent any time working with Tcl -- about five years ago -- I got frustrated by some of the same problems that it sounds like they're still facing (e.g. no standard methods for defining modules or objects). Based on the interviewees' responses to the "What are you working on now?" question(s), it doesn't sound like these issues are high priority, either (e.g. it sounds like most of Jeff's time at ActiveState is devoted to working on Tcl development tools).

    I wonder if anyone setting out on a new software project even considers Tcl as a scripting language anymore, over (say) Ruby or Python. Has Tcl become the new COBOL, in the sense that its only relevance is for maintenance of legacy code?

    1. Re:Is Tcl the new COBOL? by LeninZhiv · · Score: 2, Interesting

      For my part, I use Tcl/Tk for the GUI in my projects, but I don't build the whole thing with Tcl. What's handy about it is you can write your program in whatever language you want to, then start up an inferior wish process and send your GUI commands (generated at runtime) to that.

      This gives a lot of easy flexibility, and also lets you use compiled languages as well as ones that don't have an up-to-date set of Tk bindings of their own (in my case, Common Lisp).

      So for people who are just sending wish commands generated by another program like myself, it doesn't matter if Tcl itself lags in areas like OO, since you're only issuing commands one line at a time and the details are managed by the calling program.

    2. Re:Is Tcl the new COBOL? by tsmoke · · Score: 2, Insightful
      Well, actually....


      Some of the largest sites in the world use Tcl almost exclusively, including AOL.com, Netscape.com and Mapquest.com. They use it because it is the embedded scripting language in the web app server AOLserver.


      So yes, it is used quite heavily.


      talli

  14. they must be doing something right by g4dget · · Score: 3, Insightful
    I don't know what it is about Tcl/Tk, but somehow it seems to be the one tool that lets me build GUIs with the least amount of hassles. Python/Gtk+, wxPython, Perl/Gtk+, Guile, and all of those, still seem to require a lot more work to get anything done. The utility and conciseness of Expect also has not been met by any other tool, IMO.

    Also, if you look at areas where Tcl/Tk applications compete with applications written in other toolkits (Zircon, Tkabber, etc.), the Tcl/Tk applications may be uglier, but they tend to be far more feature-complete.

    Of course, Tcl/Tk has its limits, and something like iTcl/iTk is rather ugly. But overall, it looks to me Tcl/Tk must be doing something right, and it might be well worth for the developers of other GUI tools to try to figure out what that might be so that we might get the best of both worlds.

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

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

  17. C++ by pyrrho · · Score: 2, Interesting

    Actually C++'s approach to simplicy is called...

    Class Systems.

    It's ridiculous to say C++ is a low level language. You can work at whatever high level you want. For god's sake with MS Dev you can even work in "draw an interface click to write code" mode.

    No one has convinced me that C++ isn't arbitrarily high or low level, depending on what the developer wants.

    --

    -pyrrho

  18. Learning TCL (or others) by DarkMan · · Score: 3, Interesting

    I'm at this point where I'm finding i'm doing everything in C, Fortran or shell.

    I'm reckoning that I aught to learn a language that sits in the middle.

    Is TCL a good option here? Or would I be better with Python or Perl. (Ruby's out - don't know anyone to ask stupid questions about Ruby to).

    1. Re:Learning TCL (or others) by roalt · · Score: 2, Informative
      Please do not listen to anyone who gives you advise unless they know where you want to use your programming language for.

      Personally, I use Tcl for shell scripts that tend to become too large or too complex. I think for parsing text files, Python but especially perl are also useful, although I have no experience in them.

      If you some some extra interaction with the user than use Tcl/Tk, It's excellent at (fast) creating interactive applications.

      Anyone that tell you, you cannot program large applications with Tcl/Tk don't listen to them. I've written 10.000+ lines of code Tcl/Tk programs (see here, unfortunately all in Dutch) and constructions like namespaces help keep your code clean.

      Main problem in Tcl (with large programs) is that you have to track yourself what you put in variables, there's no way to enforce it (is it an array, a list, a list of array, a list of lists ?). But then again, you can circumvent that by using wrapping functions.

  19. Re:TCL vs TK / Ousterhout bailing/ maintaining cod by kennykb · · Score: 2, Insightful

    Ousterhout and Welch are still members of the Tcl Core Team, even if they aren't in the interview. Ousterhout doesn't do *any* coding anymore, on any project; a severe hand injury makes it impossible for him to type. And I have nothing but respect for Ousterhout's wisdom in letting himself be bought out two years ago, when a software company was still worth something. I'd hardly call it "bailing", more like "taking a profit." The point that Ousterhout and Welch used to reply to questions is a good one. The Tcl community is still like that. comp.lang.tcl is one of very few newsgroups where newbies don't get flamed to a crisp.

  20. Re:TCL vs TK / Ousterhout bailing/ maintaining cod by hobbs · · Score: 2, Insightful
    With Ousterhout looking for greener pastures does this weaken the product?
    You will be surprised to find that many in the community would disagree. While everyone appreciates the efforts he put into Tcl, many felt that he was being too strict about the development path. Ousterhout's response was to create the Tcl Core Team, which has been positive. There are now many more people that work directly on the core, as well as a team of people that can discuss direction. John still does get involved in core discussions, and his opinion does carry a lot of weight, but there is no one person having a magic overriding vote or veto.

    BTW, he still does use it, he has just decided that there is more to life than language development (he prefers building products). He has always been a good capitalist at heart, and language designers don't see big $$$.

  21. Re:Your most unusual Tcl application by syberdave · · Score: 2, Interesting

    #!/usr/bin/tclsh

    while {1} {
    puts -nonewline "crap@syberpc:~$ "
    flush stdout;
    set instr [gets stdin]

    set mcmd [lindex "$instr" "0"]

    if {"$mcmd" == "exit"} { break
    } elseif {"$mcmd" == "cd"} {
    if {[string length [lindex "$instr" "1"]] != 0} {
    puts "bash: cd: [lindex "$instr" "1"]: No such file or directory"
    }
    } elseif {"$mcmd" == ""} {
    } else {
    puts "bash: $mcmd: command not found"
    }

    }

    #sry... im new to this

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

  23. Quote from Interview by Xcott+Craver · · Score: 2, Funny

    "I was visiting to show off some research I was doing at the University of Oregon using Tcl (related to wearable computers)."

    "Here, try this, it's a wearable tickle machine. Hey, wait, come back...."

    --X [Who can't wait to see one of these on ThinkGeek.]
  24. AOLServer by Anonymous Coward · · Score: 2, Informative

    Don't be fooled by the name. Yes, AOL owns this, but it's Open Source and Free Software. It's basically a webserver that heavily relies on Tcl. It's fast and uses a small footprint. And because it uses threaded Tcl, it could use a single thread to make multiple queries to a databse, thereby reducing the number of processes that needs to be spawned by your database server. Think about 8 queries on a single connection to an Oracle server instead of 8 connections (1 connection per query).

  25. Re:TCL vs TK / Ousterhout bailing/ maintaining cod by dcuny · · Score: 2, Interesting
    I was initially quite impressed by Tcl/Tk when I first encountered it a number of years ago. I had been looking for a cross-platform toolkit, and Tk looked like exactly the thing I had been looking for.

    The layout managers were an especially nice feature, since they would manage the placement of widgets on the windows automatically. Coming from a Windows/Mac background, I had never seen anything like it.

    Unfortunately, the actual experience of using Tcl/Tk was less nice. Even though it had a Windows-esque wrapping, the widgets still seemed to behave like Motif widgets (yech!), and the applications didn't scale well to low resolutions (800x600) - they all seemed to have been written for people with huge X Terminals.

    As others have pointed out, the Tcl grammar is quite consistant, but so is LISP. It just felt klunky.

    I spent some time browsing the Net looking for a version of Tk that stood alone from Tcl. There was one I found, but it was unmaintained. I dug into the code for a while, trying to see if I could do it myself, but it seemed pretty tightly embedded. Besides, trying to keep up with the changes to Tk seemed hopeless task.

    To be fair, Tcl/Tk had a particular niche it was aiming for: being a "glue" language. For that, it seems to do an admiral job. But other languages (Lua, Perl) or toolkits (wxWindows, Qt) seem better poised in the market.

  26. Nice but ... by wayne606 · · Score: 3, Insightful

    Tcl is an okay language - I have been using it for more than 10 years in some big applications. But I've been using Python for about a year now and I feel that it's much better for real programming. The data structures are much richer - not everything is a string, it's faster, more readable, and makes good programming more natural.

    John was a great software guy but he wasn't a language designer and (no offense) it kind of shows up in Tcl. The way comments work, and the fact that error messages don't tell you a line number from a source file, are both side effects of Tcl's hacky implemention.

    The one huge advantage that Tcl has is Tk and even though other languages have Tk bindings they all seem awkward and second-class. But is that a strong enough advantage? I guess it depends on the application.

  27. huh? by Trepidity · · Score: 2, Insightful

    How does pass-by-name make recursion any easier?

    The only decent advantage I've seen for pass-by-name is the oft-cited Jensen's device (lets you calculate summations rather elegantly by taking advantage of the way pass-by-name works). On the whole, it leads to a lot of unintuitive behavior, which means a lot of bugs.

  28. Tcl and Perl by Continental+Drift · · Score: 2, Interesting
    TCL is to Perl as Esperanto is to English

    I've programmed both professionally, and while I'd rather use Java when working in a large group, I think Perl is prettier. TCL is elegant, but I hate passing all variables by value, and I think "uplevel" is a terrible idea. I find Perl more fun.

    1. Re:Tcl and Perl by patthoyts · · Score: 2, Funny

      So you like Perl's reference syntax better? Wierd.

  29. Some of the largest websites in the world use Tcl by tsmoke · · Score: 3, Informative
    Some of the largest websites in the world use Tcl as their scripting language, including AOL.com, Netscape.com, Mapquest.com and DigitalCities.com.


    This is because they use AOLserver which is a massively scaleable and powerful web application server. Some of its features are:

    • Multi-threaded - It's been multi-threaded since its original development in 94 or 95.
    • Native DB API and DB connection pooling
    • Embedded scripting language, which is Tcl, which allows for extremely fast development. It also allows for .ADP pages, like .ASP, .JSP or .PSP pages.


    The reason Tcl is the embedded language is that AOLserver was developed in the early nineties, when Tcl was the hot new language. If the system were to be developed today, I'm sure that the developers would have chosen Python, Perl or some other more buzzword compliant language that has a strong following.


    That being said, Tcl in AOLserver still rocks for developing DB backed websites. In fact, the Open Architecture Community System (OpenACS) is a complete web toolkit for building just these kinds of sites. The Sloan School of Management at MIT recently funded the development of an open source course management system called dotLRN that is build using the OpenACS as its foundation.


    So Tcl isn't just a GUI tool or a glue language. It's also a great language for web scripting!


    talli

  30. what TCL is good for by RussP · · Score: 2, Insightful

    TCL is a command language for TK. For that purpose it is excellent, but for general scripting it is awkward at best. If you have a GUI intensive application to write, use TCL/TK, otherwise use another language, such as Python.

    By the way, check out GVI, the Graphical Voter Interface, which I wrote in TCL/TK.

    --
    I watch Brit Hume on Fox News
  31. Re:Your most unusual Tcl application by trb · · Score: 2, Interesting
    I've written a few unusual Tcl/Tk apps, but I'd say that the most unusual one was called Robospud, the automatic couch potato.

    Robospud was a fixture for testing code in cable tv set-top box. It ran on an old Solaris box. A tv remote control was wired to a serial port, it acted as the "keyboard." The tv's screen was hooked to a video capture board on the Sun. Robospud would push the buttons on the remote, and "watch" the tv, making sure the right control screens came up on the set-top box.

    It was written in expectk (tcl/tk/expect). It was a great alternative to testing set-top code by sitting their pushing buttons on a remote control, I met people who were well-paid to perform this mundane task.

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