Tcl Core Team Panel

After the final afternoon talk was the annual Tcl Core Team Panel Q&A. Present were Joe English, Kevin Kenny, D. Richard Hipp, Donal K. Fellows, and Jeff Hobbs.

Here are the notes I attempted to transcribe (in realtime). As I should have expected Larry McVoy ended up dominating the conversation with his perennial rants about Tk's L&F. And dropped the f-bombs that were missing from his talk earlier this afternoon.

(Note: what follows will not be 100% word for word, but is as close as I could and still try and keep up typing...)

Q. [JCW] What is the direction for moving Tcl_Obj to hydra instead of stork model or some measure of immutability?

A. [JH] Miguel Sofer proposed an idea on the tcl-core list last week involving returning a code (currently signature is void). ...

A. [KK] One thing Paul Duffin had in feather that would be almost backward compatible is that he had an extended Tcl_Obj structure interfaces. One was list, support by index and iterator. How he managed to extend and keep it almost compatible was to put a NULL GetStringFromObj slot and overlayed one of the other pointers to the extending things. It's nasty. Horribly nasty. It would be a potential path forward if we decided to swallow our bile and adopt that route.

Q. [Something about the OO-tip 279]

A. [DKF] 279 is an alternative for how to do OO in the core proposed by chief XOTcl maintainer. It describes how to do XOTcl in the core. It satisfies some of the needs that were identified in [Tip] 257. ... I don't think it can be as optimized as much as 257 could be. For obvious reasons I don't favor it over 257.

[Steve Landers]: We don't throw pies at the TCT because they haven't voted on it yet. ... Let's not beat up on Donal or the TCT because there hasn't been any vote. If the TIP is accepted and you don't like it then you can beat up on them. Those who think it can't be done should get out of the road of those who are doing it (general principle).

[KK]: The result of the vote, whatever it [eventually] is will disappoint a large number of people.

Q. [Larry McVoy]: What needs to be applied to whom/where to get a distribution that doesn't have a BWidget checkbox, Tile [etc.], and no redundant implementations. I don't give a f*** if it is in the core or not. ... If you just came to Tk you'd think it was sh*t. ... But if you know to take this from BWidget, and this from ... Our company has a little bit of money and a little bit of time. We're prepared to fork Tcl/Tk if that is what we have to do to move it forward. This is the white elephant sitting in the room ... I don't give a f*** what you want. I care what about users want and what they see when they come into the Tcl community. ... Here is TclPro, this is what you want. What do we have to do to get that.

[JE]: ActiveTcl is filling that role.

[LMV]: It's 20 megs ... I want a 5mb image. If I wanted [bloat] I'd go to Sun.

[JE]: What you want is everything you need?

[LMV]: Everyone wants a tree widget ... wants sh*t that Microsoft has shipped for 20 years. ... It's easy to say that I can't pick the right [stuff] ... if you need someone to do it, I'll do it. I'll volunteer to decide. If you don't want me to decide, pick someone to decide. There should be a CD that I can get with stuff that I can create decent looking applications from ... without having to carry along the 95% of the sh*t in BWidgets that I don't need.

[JE]: How close is stock Tclkit?

[JH]: Sorry, but I think the rest of the crowd is missing the point. This is the success of Ruby on Rails. It succeeds because there aren't 10 ways to do it. ActiveTcl does support lots of legacy needs by packaging (iwidgets, bwidgets, etc.). What they are looking for--as far as 8.5, with ttk it gets a lot of them, but is missing some.

[LMV]: What we're looking for is you guys who know more than I do, to give us best of breed.

[JE]: You do need both.

[LMV]: I'm looking for best of breed. If I have to pick through 19 different checkboxes I'll go do something else.

[JH]: Too often we see people who come into the Tcl'ers chat and ask where to get a combobox. ... Solved in 8.5 ... [talks about all the possible answers and various places to download]. That does no service to Tk or to the community.

[Someone]: Start throwing out the ones no one cares about.

[WHD]: Once you've got Teapot going, you could let ActiveTcl include only best of breed ... then those that want something else [legacy] can get ...

[MR]: No problem with choice, huge problem with forcing people to make a choice.

[JH]: ... maybe it has to do with just better packaging like Tktreectrl that very few people are willing to [build] so that it's [just] right there. Everything we build for what is in ActiveTcl 8.5 when Reinhardt updates SuSE distribution for their 8.5, and for whoever does the Debian mantle, when they upgrade. ... I think you'll really see that it takes off. It's an experience I've seen inside ActiveState who were agnostic about Tcl except that it was old and doesn't look good, but we turned that around with 8.5 [with Tile] ... it pulled [people] back over. More interesting thing, one of the guys asked, what do they do if they don't have you on staff? ... Hopefully they'd find an answer on comp.lang.tcl or the [chat].

[Oscar]: <Talking about RoR point> -- you want sensible defaults. If you want to do something really simple you should be able to do something simple. ... You start with Tk and you get something that looks crappy and there are a zillion options you can try ... if there was [good] defaults ... the original Tk ... it looked like sh*t but that was the standard [of the day].

[Someone]: There are additional widget support in tklib under widget that is using the new ttk.

[JH]: That's my personal widget library. That's the only one worth using.

[Someone]: Somehow we need to steer away from presending with two places to go get things.

[KK]: There is nothing, once tile and oo are in the core, there is nothing [in principle] for those moving into the Tk core.

[JH]: ... megawidgets and oo go really good together. Snit is a very poor commercial solution for debugging. ... not very friendly error messages which is why some core oo needed to launch a whole wealth of functionality at the Tk level.

[Someone]: Is the batteries included [a Tk only concerned]

[LMV]: ... what I'm looking for is the out-of-box experience for new users. Every /. little brat in the world who knows how to make icons and applications. You pop up a Tk app and it looks like something I wrote which is not a positive endorsement. The out-of-the-box experience should look like Brian [Oakley's] stuff. ... No one cares about that legacy [Motif] L&F.

[JE]: People will come out of the woodwork ...

[LMV]: What is their age? How many 25 year olds come out? You can cater to the people who are growing pot bellys and beards, and I'm growing in that direction ...

[Someone]: <A document with sample question/answer>

[MR]: If you are trying to document something that really smells bad you'd be better to just change it in the first place.

[JH]: ...

[David Bigelow]: I nominate Will--he does a good job with his Snit documentation. ... One thing I think we have to be careful with legacy vs future, this isn't apple ... it's largely dependant on the user community, their ideas and skills. We've used a little bit of everything. BWidget, looking forward to Tile. It's only come out over time because of the evolution of the process. ... From a new user base, if you want to get up to speed quick and get a certain look, a certain feel, here are the recommended packages. I think it is kind of dangerous to cut off stuff because even today there are spinoffs. ... We should respect the rest of the stuff that has evolved over time.

[Steve Landers]: How many people here do commercial GUIs on Tcl/Tk, not just for internal use, but that you actually have to market. Now we're narrowing it down to Larry's question to people who should say what is best of breed. If you go to the Tile site on the Wiki it gives several examples, you'll know the sorts of issues we have to deal with. Preserve whats great about the Tcl community while stimulating progress. I don't think we need to get every fanboy to describe, but what we're currently doing is putting up false barriers to people adopting Tcl.

[LMV]: It's interesting watching the Tcl development process, to some extent it's mirrored sort of the process I've gone through in running BitMover. Early on it was wild and crazy, stuff happened really fast. Then you get an installed base. Then you get nervous about screwing up your installed base. Then I hired Oscar "you don't let me do anything man". At Sun [the idea] was that "it's got to perfect." ... TIP process same ... If I don't ease up good sh*t doesn't happen. You've got to back off and play some. It's a balance. You don't want to screw all your customers, but you don't want to stagnate.

[Steve Landers]: <clarifies that it's Tk, not Tcl>

[LMV]: Tcl is in reasonable shape. Tk not so much. It's been very slow, lots of various off shoots. Bwidgets was cool but it didn't get in the core so it kind of died. There needs to be some process that lets things move faster. If the core can't let things move forth some other process needed. ActiveTcl model not good (everything goes in).

[JCW]: I don't understand what is wrong with a repository and a page of recommendations.

[LMV]: The answer is that what a new user wants, is going to do apt-get install tcl, apt-get install tk, and they are done. If what they get at that point is isn't what they want, then they don't know what teapot (what the hell is a teapot?) This is the failing of the core model, is that the good stuff isn't in the core. Credit where credit is due, what I said isn't right, the stuff that is in the core is really really good. ... People ought to recognize [that]. People are going to think Larry is this *sshole who flames. People think Tk is this ugly thing that is from 1980. Most people only see the flames and they only see the ugly stuff. Until there is something that is called Tcl/Tk, looks good and is there ... it's perfectly fine to have Tcl/Tk-lite, but what people think of Tcl/Tk ought to be the stuff that is best of breed.

[Oscar]: GTK is horribly painful. But you look at the application thats nice. They jump through hoops--they don't have a zillion [implementations of] widgets

[WHD]: A whole lot of what I've heard over the last 20 minutes is stuff we've heard over and over. Let's be fair here. We're on a road map to get Tile into the core by this spring. Getting tile written was a major piece of work. I'm sure Joe can talk about that. I'm sure it's been lots of pain for him. It is a major accomplishment. It deals with very many of the problems we had back in Ann Arbor. We're on track to getting it in. It's not like nothing has been happening. I hear what you are saying Larry, but we are getting there. It is happening. Lets not sell it short.

[JH]: Anything besides Tk?

[Someone]: Is there any plan to put UDP support in?

[JE]: I still say we should pull up Ceptcl, polish it off

[JH]: Ceptcl did it well. You do need a parallel set of commands stream commands. ... It does have to have a parallel side bit to support that. I'm not sure if people when they say that if some efforts to make all [gets] and [puts] should support UDP, or just some way to do UDP.

[Someone]: TclUDP adds to fconfigure. Is it just because 8.5 has this channel command?

[CF]: <No UDP gurantees...; [hard to hear]>

[KK]: I suppose you could have a bunch of read-only fconfigure

[CF]: Is there anything else besides UDP?

[JE]: I'm not sure how well TclUDP does, but Ceptcl does multicast very well. Ceptcl does a very good job of giving you the information of where that packet came from.

[DRH]: I used it some years ago and it would tell you but I always had trouble with it. We had to kludge around it ... I never traced the bug down.

[CF]: Would you like to wrap up?

[DRH]: Yes we would.

—Michael A. Cleverly


  1. Larry W. Virden wrote (at Fri, 13 Oct 2006, 10:55):

After all that, what I was hoping to hear was LMV's answer to the question:

Given Tk 8.5 and Tile, what else do you believe should make it into the tk core?

  1. Robert wrote (at Sat, 14 Oct 2006, 19:58):

He sure does swear a lot. I must be a prude. I probably would have walked out.

Permanent URL for this post: