posted by David Welton on Mon 10th Mar 2003 21:42 UTC

"Tcl/Tk Interview, Part 4"

To what do you attribute the success of Tcl? What are reasons why it hasn't been even more successful than it is?

Jeff: The ease of use factor is one of the strongest success factors. Things that have held it back from being more successful could be the lack of strong multi-package distributions for so long. This includes the resistance to object orientation, which was available in a good package that could have been in a better distribution, but those better distributions weren't available.

Donal: Success: Clean engineering. Good test suite (and test bed system.) And definitely Tk and Expect. Problems: I'm not sure.

Mark: It's been successful because it's easily embeddable in other programs, and because Tk GUIs were so much easier to build than Motif GUIs.

I think Tcl lost mindshare when object oriented programming became the norm. Most other scripting languages have native OO support so Tcl fell off the radar for many people.

What is your philosophy behind the design of a high level language? Does Tcl match what's in your head? What would you change?

Jeff: Tcl is fairly close. I would perhaps include OO at the core level, but I don't think the OO available for Tcl is insufficient - it just isn't in the core.

Donal: Common things should be easy, and difficult things should be possible.

As for what I'd change... see the TIPs, both those written so far and those to come. :^)

What is your favorite feature of Tcl? And from an implementation point of view?

Donal: My current favorite is [interp alias]; it lets you do some *very* cool things. Of the C library part of Tcl, I remain thoroughly impressed by Tcl_Objs; the name stinks and they could do so much more, but they are still such an elegant solution.

Jeff: Hard to pick just one... I think I have used just about every feature and nuance that Tcl has to offer. I'll pick function overloading. From the implementation point of view, Tcl is so clean and well implemented (it does have some API warts from growth over time), I just constantly love all parts of it. One of the better ones would be the stubs mechanism, which allows for binary compatibility for extensions as the core changes.

Mark: It is very reliable and bug-free.

What other open source projects are you involved in?

Jeff: Lots. See my list at SourceForge. [*]

Donal: My job is working on nominally open-source software. But alas, I've not the time to really be working on any open source software that anyone else has heard of...

Explain what you think of how open source communities work. What are their strengths and weaknesses. How do you see Tcl fitting into the open source world at large?

Jeff: Open source communities run the full gamut of characters. Tcl's is a relatively solid and stable community. Tcl hasn't always fit in well with other communities due to its success in the commercial area as well. Notable extremists like RMS have called John a parasite for having the audacity to make money on open source software.

Donal: I do open source because I want to; it fits with my vaguely academic view of the world. I'm none to fussed about everyone else's motivations.

Emacs or Vi? What platforms do you use?

Jeff: I'm a long-term emacs addict. Yes, I know elisp and have done my own modules, although not for a while. I am starting to become addicted to Komodo (the ActiveState IDE) [*], for which I was responsible for several of the Tcl features. The new version in development may see the end of emacs for me.

I am well-versed in Unix and Windows, and have had the opportunity to get more than acquainted with OS X. My current development environment is a Windows desktop running a rootless X server with most of my dev work residing on a SuSE Linux server that I manage myself.

Andreas: Emacs. I am able to use vi, i.e. the base commands, but my day-to-day editor is most undoubtedly emacs.

Donal: Emacs. And in case you hadn't heard, Emacs is the platform in itself. :^D (I've got access to lots of different UNIXes, and I have IRIX and WinXP on my desk right now.)

Mark: Vi. A large part of my career has been spent telnetted into boxes I didn't control, and Vi was one of the few things we could count on being on every box. I have to admit I was a bit befuddled when I heard my first argument over which was the more intuitive way to exit a program: ":q!" or "^X^C".

Have you ever met the other core people? How important do you think it is to be able to work closely together vs a distributed work environment?

Donal: Many of them. (I'd still like to meet George Howlett and the itcl folks.) Being able to work together (and especially see each others' points of view) is vital to the Tcl Core Team being able to function effectively.

Mark: Yes, at the various Tcl conferences over the years.

Andreas: Yes. And quite important. While communication by email, etc. is efficient, it is only after meeting someone personally that one knows much better how to interpret a message, because the person behind the words is better known. While I am not well versed in interpreting body language consciously I do believe that it does influence me subconsciously, and email simply cannot transmit this information.

Jeff: Yes, all of them. I believe the core would benefit from the Tcl Core Team being able to meet in person more often, but practical lives don't permit that.

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"
e p (0)    18 Comment(s)

Technology White Papers

See More