I doubt anyone will answer. There isn't a clear leader for Tcl, or even
much direction or push for releases by all of the core team. I'm also
having serious doubts about some things. 8.5 is over 4 years old and
it's still alpha. If there's any clear person pushing for releases it's
DGP, but one man is not an army or a "core team."
Just today I tracked down a bug in Tcl's Unicode big-endian code path
that has had an alignment bug for years! This is a bug that causes a
bus error on PA-RISC and probably other big-endian systems that use the
big-endian Unicode conversion paths. It just got reported today. I'm
lead to believe a lot of things don't get tested, engineered, and
reviewed properly. We are human after all, but I think we can do
better, regardless of what some may say.
I once proposed that we need a code review mailing list, so that things
like [file normalize /..] and cd /.. don't cause corruption and
segfaults for years in the 8.5 series (now fixed in 8.5a4). From
what I recall some said it wasn't needed, others sort of laughed. I was
also encouraged to do this, but I would need help.
Then there is the unix notifier in threaded builds that breaks in apps
that use fork() but don't exec*(). Someone sent a patch for this, but I
doubt it will get applied in its current state. If you're the anonymous
author that sent it, please follow up and *attach* it to the bug report,
as well as an explanation of how you know it fixes the problem via
SIGCHLD handling. Also, what is the purpose of changing from select()
to poll()?
I hear people saying threaded builds will be the default for Tcl soon.
If that happens I'm sure the engineering has gone out the window,
because it's a big mistake until the fork issue is fixed. The very fact
that it doesn't work gives rise to doubts about the quality of the
current design.
8.5 is waiting for the OO code according to some on the core team.
That code is known to not even compile according to DKF's own words.
It's a massive lump of changes that will likely reduce quality and need
lots of testing and fixes. Last year DKF was saying it was a "Simple
Matter of Programming (SMOP)." This pushes 8.5 back further for the OOP
junkies.
> I could go on, but I'm off to go enjoy my vacation...
I could go on too, believe it or not.
So, who wants to help with Tcl, and possibly Tk? Most of the core team
is too busy at the moment for much Tcl core work.
-George
Do you have to know "C" to help?
:Robert
To me, this is the bigger problem, rather than ...
> It just got reported today. I'm
> lead to believe a lot of things don't get tested, engineered, and
> reviewed properly. We are human after all, but I think we can do
> better, regardless of what some may say.
... engineering. I've learned a lot about how to write good, well
tested code from the core team.
Tcl is actually pretty robust compared to a *lot* of open source stuff
out there. I see the problem as more of a marketing/human one. For
instance, OSCON was a fun time, with all kinds of "important" free
software people. Where was Tcl? It's completely off the radar.
> 8.5 is waiting for the OO code according to some on the core team.
> That code is known to not even compile according to DKF's own words.
> It's a massive lump of changes that will likely reduce quality and need
> lots of testing and fixes. Last year DKF was saying it was a "Simple
> Matter of Programming (SMOP)." This pushes 8.5 back further for the OOP
> junkies.
Sounds like 'release early, release often' needs to be applied a bit
more liberally, realizing that it probably means slightly less robust
releases.
> > I could go on, but I'm off to go enjoy my vacation...
>
> I could go on too, believe it or not.
>
> So, who wants to help with Tcl, and possibly Tk? Most of the core team
> is too busy at the moment for much Tcl core work.
That's a vicious cycle, because the less it gets worked on, the less it
gets used, and the fewer new people get interested, meaning no one to
replace core guys who go on to other things.
I don't think Tcl is quite at that point yet - the core team has added
people like Joe English and Miguel Sofer "lately", but it just doesn't
seem to be headed anywhere unless something unexpected happens. But
the likelyhood of that happening decreases as the language loses its
ability to attract young people with lots of time to hack on
cool/innovative ideas (stuff like Rails).
Not necessarily. Some initiatives that I started that require
absolutely *0* C knowledge:
*) The tutorial. It still needs work, too, but being able to include a
bit of documentation to get people started without pointing them at an
(expensive/difficult to find) book is a win.
*) Making sure every man page has an example of how to use the command
in question, including, perhaps, some common idioms. I think this is
largely done, but it's something that anyone with a bit of Tcl
knowledge can do.
LATE 2006:
- split off TK from TCL and release each part independently.
- release 8.5 now. No OO things. As is.
- branch 8.5 into a 9.0 to add the OO things.
EARLY 2007:
- get a unified SQL / DB interface incorporated. Jeff Hobbs mentioned
of one to me back in 2005. Perhaps 2004.
- get an http1.1 library added. I can help with this. Two different
versions are in CVS and the features-requests section of
http://sourceforge.net/projects/tclhttp1-1/
- get TclSOAP up to par with the rest of the SOAP world (though I see a
related post on this just today)
IMHO 4 years is too long for 8.5 to be in development and release
should be regarded as a matter of urgency:
-> feature freeze now
-> 2 month bug-fix to first beta
-> 2 month bug-fix to final beta
-> release Nov/Dec 2006
This of course means that the cherished OO will not make it into 8.5.
Tile would make it in its current state as long as it didn't break the
existing tk codebase (which as far as I know it doesn't 'cos it's all
in the ttk namespace). 8.6 in Nov/Dec 2007 can have these features if
they're ready.
With some focus around a release timetable I'm sure the wider community
would help out as much as possible but it will need members of the core
team to be driving it along.
SImon Geard
> *) Making sure every man page has an example of how to use the command
> in question, including, perhaps, some common idioms. I think this is
> largely done, but it's something that anyone with a bit of Tcl
> knowledge can do.
This is done for Tcl, but the Tk man pages could use examples...
Michael
> - release 8.5 now. No OO things. As is.
There are some TIPs that should be done before release, but as nice as
OO would be, it should be usable soon. Now would mean a feature freeze,
a not too long beta period and then release..., could be quite ambitious
to get this done in 2006.
To get it done, start banging at the alpha versions, test them in all
configurations you have available, take a close look at the new
features, especially if the API is done right... and report bugs.
Obscure bugs could be fixed later on if needed, but the api and
semantics have to be right, because changes are harder.
> - branch 8.5 into a 9.0 to add the OO things.
9.0 would be a good thing...
>
>
> EARLY 2007:
>
> - get a unified SQL / DB interface incorporated. Jeff Hobbs mentioned
> of one to me back in 2005. Perhaps 2004.
Which one? See for example http://wiki.tcl.tk/14972 and if you know of
others please add them in the comparision...
> - get an http1.1 library added. I can help with this. Two different
> versions are in CVS and the features-requests section of
> http://sourceforge.net/projects/tclhttp1-1/
Why not move the http 1.1 code to tcllib first, it would fit in there
quite well. No need to wait for core inclusion, but that could be done
later if needed.
> - get TclSOAP up to par with the rest of the SOAP world (though I see a
> related post on this just today)
Would be good for the webservice world.
Michael
"Someone" should make a page with a list of to-do items for 8.5 on the
wiki and then people can volunteer for those items.
Robert
The sourceforge.net tracker for tcl and tktoolkit projects is the place
to look.
-- Neil
Are those for 8.5 specifically? I think the vector is "what needs doing
to finish 8.5 sans oo"...
Robert
Hm.. I actually like the integrated Tcl/Tk approach. I hated
the tcl7 + tk4 thing that was going on before.
How is the lockstep thing not a good thing right now?
--
WL
real mail: wliao at sdf loSnPesAtarM org
(remove the uppercase letters...)
I agree with all of that.
> EARLY 2007:
>
> - get a unified SQL / DB interface incorporated. Jeff Hobbs mentioned
> of one to me back in 2005. Perhaps 2004.
I think zoro2 (in the Tcler's chat) maintains tcldb.
http://wiki.tcl.tk/tcl/tcldb
> - get an http1.1 library added. I can help with this. Two different
> versions are in CVS and the features-requests section of
> http://sourceforge.net/projects/tclhttp1-1/
Cool! I wasn't aware of this.
What I would like is a way to keep a persistent connection (the default
in HTTP 1.1) and send out multiple requests over the lifetime of the
connection.
> - get TclSOAP up to par with the rest of the SOAP world (though I see a
> related post on this just today)
Pass. I don't know enough about SOAP.
I'm glad to see others want progress and are motivated. :)
-George
How will we know who is working on what? Should people working on bugs
or documention just append to the report "I'm working on this?"
There's something very motivating about having a public and noticable
to-do list. I think it would be useful to be able to strike off items
and sign your name. I think it should be created, because right now you
must span multiple reports as I understand it to find what's needed.
If we had a list with links to the reports or patches for
code/documentation it would be much better.
-George
Well, it's mostly a maintenance issue I think. Right now Tk 8.4.13 has
slow photo images (I'm partly to blame for not testing DKF's fix to a
performance bug). But Tcl 8.4.13 is mostly as buggy as usual, so the
release of Tk 8.4.14 would be good, but Tcl could stay the way it is.
Both approaches have advantages. I think it's easier to migrate
bit-by-bit, and slowly overtime to new releases, because let's face it
mistakes are made.
What are your thoughts?
-George
It is vacation season in the northern hemisphere - and that affects
quite a number of the TCT (Donal has been aware for 3 weeks IIRC)
I don't recall reading it. I'm interested.
> IMHO 4 years is too long for 8.5 to be in development and release
> should be regarded as a matter of urgency:
>
> -> feature freeze now
> -> 2 month bug-fix to first beta
> -> 2 month bug-fix to final beta
> -> release Nov/Dec 2006
I agree and 8.5 is full of *useful* features that should be out there.
* {expand} is good.
* Tile is ok
* [chan] (possibly a new feature or 2 I hope)
* extension unloading
* numerous TIPs that have been accepted and implemented.
* refactorings and speed improvements in some cases.
* the new clock subsystem (this is a huge change)
* the large integer/BigNum support via libtommath (included in Tcl).
* a new expr parser
* [apply] (anonymous procedures/lambda)
There are probably other good features I'm neglecting.
> This of course means that the cherished OO will not make it into 8.5.
> Tile would make it in its current state as long as it didn't break the
> existing tk codebase (which as far as I know it doesn't 'cos it's all
> in the ttk namespace). 8.6 in Nov/Dec 2007 can have these features if
> they're ready.
Yes, Tile has just required some minor stubs table exporting in Tk that
is compatible with 8.4 and 8.5.
> With some focus around a release timetable I'm sure the wider community
> would help out as much as possible but it will need members of the core
> team to be driving it along.
That may be difficult, because half of the core team is inactive. Some
have basically quit (for now?).
-George
My personal opinion as a core developer with cvs write access (but not a
core team member), is that we should have all priority 9 bugs resolved
prior to release, and as many priority 8 bugs as possible. But as I
noted on the wiki today we need all bugs fixed that are possible to fix.
That means documentation bugs, and anything else you can think of too.
You don't have to hack C to work on Tcl.
-George
Let's get to the heart of the matter. Why hasn't the TCT focused on
this? Why isn't the TCT releasing status updates?
To most outsiders Tcl must appear just like any other old language, but
I think it's more.
> ... engineering. I've learned a lot about how to write good, well
> tested code from the core team.
I have too. I've also learned some things I'd never do, because some of
the code is or was a mess. But, I appreciate the messes sometimes just
as much, because Tcl is free, and provides quite a lot.
> Tcl is actually pretty robust compared to a *lot* of open source stuff
> out there. I see the problem as more of a marketing/human one. For
> instance, OSCON was a fun time, with all kinds of "important" free
> software people. Where was Tcl? It's completely off the radar.
We don't need marketing. We need people creating more competitive
applications, and wanting to show them off.
Tk doesn't compete with Gtk+ and Qt in terms of image manipulation speed
(a common requirement today). I've had to write my own extensions for
this, and now I'm gradually porting a display widget to Windows.
Tk doesn't compete when manipulating images (think of the GIMP in Tk),
and until Tile comes with Tk we won't have themes. Even then,
applications will have to be gradually rewritten for Tile, because you
can't do namespace import -force ::ttk::* anymore. We also don't have a
standard 3D binding for OpenGL like many other toolkits. We've got a
choice of 3 or 4 different OpenGL interfaces. Good luck if you can
build some of them on non-Linux platforms (I know, because I've tried).
[snip]
> Sounds like 'release early, release often' needs to be applied a bit
> more liberally, realizing that it probably means slightly less robust
> releases.
I don't think it means less robustness overall. The TCT isn't doing
code reviews or being proactive about hunting down *possible* bugs from
what I've seen. Instead the TCT is reactive.
>> So, who wants to help with Tcl, and possibly Tk? Most of the core team
>> is too busy at the moment for much Tcl core work.
>
> That's a vicious cycle, because the less it gets worked on, the less it
> gets used, and the fewer new people get interested, meaning no one to
> replace core guys who go on to other things.
>
> I don't think Tcl is quite at that point yet - the core team has added
> people like Joe English and Miguel Sofer "lately", but it just doesn't
> seem to be headed anywhere unless something unexpected happens. But
> the likelyhood of that happening decreases as the language loses its
> ability to attract young people with lots of time to hack on
> cool/innovative ideas (stuff like Rails).
You've already given up. :( You had some hope last year, what's
changed? I've seen videos for Ruby on Rails, and I don't see the
appeal.
-George
Simon Geard
Robert
Robert
My current view is that the start of August is a really bad time to
start this kind of discussion because many people are on vacation (like
myself for the last several weeks).
--
Jeff Hobbs, The Tcl Guy, http://www.activestate.com/
On this front I can answer definitively. The problem was that I was
completely derailed by my pay-work workload. Oh, and I've been on
vacation for the past three weeks too. :-) I hope I'll have a working
prototype done this month (I've actually written quite a bit of the
core of the OO engine now).
Donal.
Right but then the question arises; should OO wait until 8.6 so that
8.5 can get out the door? 8.6 would give you more time to get it right
plus 8.6's sole purpose could just be to get OO into the core and not
other "new" features. There are quite a few things added already that
would make 8.5 worthy of release with the OO stuff.
Robert
Our original plan (on the back of a beer-stained envelope) was to get
OO in for 8.5, but not reconsider any core features (especially in Tk)
in terms of it so that the code can be given some time to bed in.
Donal.
Everyone has messes. Familiarity breeds contempt, as they say... But
I still think that Tcl's code is generally very well done, and has
nothing to be ashamed of when compared to other OS projects. I'm
certain that it's a lot better than numerous other far more successful
projects.
Once I arrived at that conclusion, I started looking for non-code
related reasons as to why Tcl hasn't been as big a success as it could
have been, and why it's in decline...
> > Tcl is actually pretty robust compared to a *lot* of open source stuff
> > out there. I see the problem as more of a marketing/human one. For
> > instance, OSCON was a fun time, with all kinds of "important" free
> > software people. Where was Tcl? It's completely off the radar.
> We don't need marketing. We need people creating more competitive
> applications, and wanting to show them off.
That's part of 'marketing'. Tcl for one reason or the other, seems to
have done a really good job of getting into companies, but it seems to
be a 'black hole' in that nothing gets out again.
As an engineer, sure, I'd rather have good engineering and bad
marketing, but good marketing can be a big plus. It doesn't just mean
selling stuff, but understanding who your target is, and getting them
to understand that what you've got will be a good solution for their
needs. If you genuinely believe, like I do, that Tcl is a good
solution, there's no 'bullshit' component in spreading that
information, either.
> > Sounds like 'release early, release often' needs to be applied a bit
> > more liberally, realizing that it probably means slightly less robust
> > releases.
> I don't think it means less robustness overall. The TCT isn't doing
> code reviews or being proactive about hunting down *possible* bugs from
> what I've seen. Instead the TCT is reactive.
I think open source tends to work that way... People work on what they
need. The TCT may have some extra responsibilities in terms of making
sure everything works well together, but given that only a few people
are paid to work on Tcl, or even with it, I'm not sure that fishing
expeditions are probably the most efficient use of their time. Their
call, though.
> > That's a vicious cycle, because the less it gets worked on, the less it
> > gets used, and the fewer new people get interested, meaning no one to
> > replace core guys who go on to other things.
> >
> > I don't think Tcl is quite at that point yet - the core team has added
> > people like Joe English and Miguel Sofer "lately", but it just doesn't
> > seem to be headed anywhere unless something unexpected happens. But
> > the likelyhood of that happening decreases as the language loses its
> > ability to attract young people with lots of time to hack on
> > cool/innovative ideas (stuff like Rails).
> You've already given up. :( You had some hope last year, what's
> changed? I've seen videos for Ruby on Rails, and I don't see the
> appeal.
Try it for writing a web app. It's far faster and cleaner than pretty
much anything else out there.
You get:
*) An ORM system that is quick, dynamic, and doesn't require much at
all to get it working.
*) A nice layout and integration of your applications so that the
pieces all work together nicely.
*) Tons of helper functions.
*) A big, excited, enthusiastic group of people working on the system,
providing all kinds of new components. Javascript, database
integration, authentication systems, testing systems, and so forth.
For me, that's perhaps the nicest thing, to not be a voice in the
wilderness.
I haven't given up on Tcl, BTW, just decided that I'd rather spend my
time working on more interesting projects, like Hecl, rather than keep
playing lone ranger with a Tcl web project (not to mention that being
married and having a full time job takes up lots of time too...).
> That's part of 'marketing'. Tcl for one reason or the other, seems to
> have done a really good job of getting into companies, but it seems to
> be a 'black hole' in that nothing gets out again.
BSD license may have something to do with that.
Also it is self-reinforcing: When there is no "buzz" surrounding
a language, companies don't flaunt it as a "buzz-word".
--
Donald Arseneau as...@triumf.ca
> > - get an http1.1 library added. I can help with this. Two different
> > versions are in CVS and the features-requests section of
> > http://sourceforge.net/projects/tclhttp1-1/
>
> Cool! I wasn't aware of this.
>
> What I would like is a way to keep a persistent connection (the default
> in HTTP 1.1) and send out multiple requests over the lifetime of the
> connection.
Pat Thoyts has a modified version of the http package that can do HTTP 1.1
keepalives. See: http://tclsoap.sourceforge.net/http.html
Michael
> BSD license may have something to do with that.
Yes... and no, I think. Other BSD licensed projects (Apache, for one),
have proven to be quite successful. Python has a pretty liberal
license itself.
> Also it is self-reinforcing: When there is no "buzz" surrounding
> a language, companies don't flaunt it as a "buzz-word".
Good point. It was also chosen by most of those companies something
like 10 years ago, in a very different landscape. In any case, it's a
frustrating disconnect, and it's a pity there isn't a way to make more
out of those that still use Tcl...
Remember that, despite 8.5 not being released, 8.4 continues to have regular
releases. And the 8.5 code continues to improve. There's been over 100
changes made to 8.5 during the first 1/2 of 2006. That includes the new
expression parser, changes to discontinue obsolete hooks into the internals,
documentation of the Ensemble public API, and apparently about 15 TIPs.
Could 8.5 gone out without all of this. Sure - it could have gone out
without anything. But major releases just for release sake may not be
the best approach.
Someone has to decide where to draw the line and say "okay, we've enough
new features here". That line can be drawn easier when there are more
people using the code, informing people of the problems, etc.
I don't have a quick summary of the number of outstanding bugs in 8.4.13
vs 8.5 . Perhaps waiting until the bug count is of a certain level is
the approach being taken. Or perhaps - it is just a matter of when people
have time to do the work necessary.
Looking over the Tcl ChangeLog, I see 14 people contributing fixes and new
features. They have accomplished an incredible amount of work. The
majority of those are, I believe TCT members as well. I think the TCT is
getting things done. They are, however, depending on the developer community
to do their part, in taking on TIP implementations, turning in good bug reports,
and more.
--
<URL: http://wiki.tcl.tk/ > Indescribable,uncontainable,all powerful,untameable
Even if explicitly stated to the contrary, nothing in this posting
should be construed as representing my employer's opinions.
<URL: mailto:lvi...@gmail.com > <URL: http://www.purl.org/NET/lvirden/ >
:Robert
It's not rushed. It's horribly delayed (because I didn't have bandwidth
spare to work on it for most of the past 9-10 months, alas.)
Donal.
Okay, I know you are working on it. I was just trying to get you more
time. : )
Robert
Because of the way I handle deadlines, I need *less* time not more! :-\
Donal.
Does that help?
Robert
Most people don't know what a deadline is. If you want to see stress,
tell a theatre arts major who turned programmer that the deadline is
coming up.
If you're not going to stop working on it because you missed the
deadline, then it's just a target date, not a deadline. :-)
--
Darren New / San Diego, CA, USA (PST)
This octopus isn't tasty. Too many
tentacles, not enough chops.
Well, I've just had a year of deadlines according to that definition.
The real wonder is that I still had any time at all to do Tcl coding.
Donal (never was my vacation more desired!)
I'm a a computer science person who does a lot of theatre work (ballet,
opera, musicals, comedy and straight drama -- both sides of the curtain), we
always keep working on the set and lighting and sound and blocking and lines
until the curtain goes up -- on closing night.
--
+--------------------------------+---------------------------------------+
| Gerald W. Lester |
|"The man who fights for his ideals is the man who is alive." - Cervantes|
+------------------------------------------------------------------------+
> > A recent example:
> >
> > http://aspn.activestate.com/ASPN/Mail/Message/tcl-core/3201127
> >
> > Someone 'important' actually used Tcl for an important project, and I
> > don't even see anyone answering him in public.
>
The above link references a git file browser. I've said before that
many of Tcl's visibility problems would have been solved in a stroke if
ActiveState had had the foresight to support git aggressively with a
Tcl version and Tk GUI tools. All it would have taken is perhaps one
new hire, and Tcl would have gone instantly from the periphery to the
white-hot center of open source development. How many sales of TclPro
would that equate to? I wish someone would explain ActiveState's
business plan to me.
the action initiating triplevel for stress rises with the years
to meet at some point in the (near) future the stress ceiling that
effectively prohibits productive work.
uwe
I like that also...Tcl is really a separate entity and if there are
fixes to problems in Tcl then they should go out and shouldn't have to
wait on Tk.
My .02...
Robert
Robert