RE: Tcl::Tk Compatibility Updates for Perl/Tk

[email protected] ("Jan Dubois")
Newsgroups perl.tcltk
Organization ActiveState Software Inc
Message-ID <[email protected]>
On Fri, 14 May 2010, Michael Carman wrote:
> Please don't. There are already three ways to use Tk from Perl. Adding a
> fourth is not desirable. Like it or not, Tk is competing for mindshare
> with Wx, Qt, Win32::GUI, etc. Fragmenting the Tk user base would be bad.
> Creating (more) confusion about which flavor of Tk bindings to use
> should be avoided.
> 
> I thought that Tcl::Tk had started as a proof-of-concept that Perl/Tk
> API compatibility was possible so I'm a little surprised to hear Vadim
> rejecting that idea now. Personally, I'd like to see Perl/Tk
> compatibility happen, although I'd understand if some of the crustier
> corners like Tix didn't make it in. Sometimes you have to sacrifice
> backward compatibility to keep moving forward.

FWIW, I agree with all the points here.  I too would prefer that Tcl::Tk
becomes as much as possible a Perl/Tk drop-in replacement.  But since
Vadim disagrees, I don't think there are many options left beyond
forking Tcl::Tk to another namespace. :(
 
> Just for the sake of argument I'll throw out a couple of ideas. I'm not
> sure if either is practical.
> 
>   1) Make John's changes available as a plug-in to Tcl::Tk,
>      e.g. Tcl::Tk::Compat.

I don't see how this is any different from John's suggestion of creating
a Tcl::pTk.  It also has the disadvantage of tying the new module too
closely to Tcl::Tk.  This will just continue to slow down the evolution
of the Perl/Tk compatibility.

>   2) Usurp Perl/Tk. Release John's work as Tk version 805.

I don't think this would be acceptable, especially as long as there are
still people willing to maintain the old Perl/Tk stuff at some level.
 
> I'm guessing that John's work requires changes to Tcl/Tk.pm, so the
> first option may not be feasible. The second option is more drastic and
> would require coordination with Slaven (and whoever else is applying
> patches to Tk). Given that Perl/Tk is maintenance only at this point and
> John's goal is to provide the same API, it would make more sense to call
> it a new version of Tk (with an all-new implementation) than to create a
> parallel distribution.

Unless you can provide almost universal backwards compatibility it is
better to use a new namespace.  At least until the package can be installed
automatically from CPAN without requiring manual preparation of a local
Tcl install.

The obvious namespace for a new/extended/incompatible implementation
for Tk would be Tkx, but that is already taken...  It is not clear to
me that the new name has to be under the Tcl:: namespace; a top level
namespace might still be appropriate.  Maybe Tk2::, similar to
Apache:: and Apache2::.

Cheers,
-Jan
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.