Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

Re: Should I use Perl/TK?

by bulk88 (Priest)
on May 10, 2012 at 16:35 UTC ( #969837=note: print w/replies, xml ) Need Help??


in reply to Should I use Perl/TK?

I would not use PerlTK. The author IRL died a few years ago I heard. PerlTK is a fork of the Tk graphics/gui library, with the Tcl interp replaced with a layer around the Perl interp so the Perl Interp has the same C API as the Tcl Interp and the Tk C graphics library thinks its interacting with a Tcl Interp when its Perl Interp in sheeps clothing. The Perl language side of PerlTk is written ontop of the C API of Tk. Tkx and Tcl::Tk are written ontop of the Tcl API of Tk. Perl TK is a very adventurous design but difficult to maintain. It has not been code synced with mainstream Tk since the 1990s I think. PerlTK will not be getting any upgrades or features ever again due to its design. Bug fixes are hard to get and it will never reach a "1.0" version. Perl Tk is Perl's oldest, most native, and close to heart of Perl dev's, GUI system. Its even had half a dozen paper books written on it, Tkx/Tcl::Tk none. Use Tcl:Tk or Tkx. They are blind/automated bridges to the Tcl interpreter (think about Win32::OLE), whichever Tcl interp is installed on your machine. Any new features that Tk gets instantly appear in Tkx/Tcl::Tk. Bugs are always Tk's devel's problems, not perl's or cpan devel's problems. Also Perl Tk isn't thread safe and never will be. Tkx/Tcl:Tk are because the Tcl Interp is thread safe. Using Perl Tk's C API to submit events from random OS threads to the Perl Tk event loop using Tk's C API is a race condition that works because 99% of the time because Perl interp is asleep in the event loop.

Replies are listed 'Best First'.
Re^2: Should I use Perl/TK?
by Tux (Canon) on May 10, 2012 at 18:47 UTC

    HUMBUG! perl/Tk is actively maintained and has the huge advantage over other GUI toolkits that it has close to no dependencies, making it easy to get it work on almost any OS. The only disadvantage is that some perceive the decoration as old-fashioned. So be it.

    commit c5696bfa93d2aacef2a47e05593cc6ebe6e5bf64 Author: Slaven Rezic <slaven@rezic.de> Date: Mon Nov 7 22:06:23 2011 +0100 * workaround PAUSE permission problems with Tie::Watch::* commit 89d97687ca8463a9ceb9e5400fb9c9d0cbd6cf3f Author: Slaven Rezic <slaven@rezic.de> Date: Fri Oct 21 23:24:14 2011 +0200 * README-Strawberry and 804.030 commit daeb23466a94856ae29db58ece6e95b75e246a55 Author: Slaven Rezic <slaven@rezic.de> Date: Fri Oct 21 19:33:48 2011 +0200 * do VERSION munging correctly, without eval commit 060a84262dbbf29aebadaf20ff4eedff3c2ce4a7 Author: Slaven Rezic <slaven@rezic.de> Date: Fri Oct 21 19:34:32 2011 +0200 * 804.030 commit c4dd9f915faf178ac7bc162f037baf2998317811 Author: Slaven Rezic <slaven@rezic.de> Date: Mon Oct 17 23:04:33 2011 +0200 * inc'd VERSION to 804.029_502

    Enjoy, Have FUN! H.Merijn
      HUMBUG! perl/Tk is actively maintained and has the huge advantage over other GUI toolkits that it has close to no dependencies, making it easy to get it work on almost any OS.
      perl/tk is not a binding to Tk, it is a port of Tk source to perl. Nick I-S had partially automated this to keep up with updates, but Tk 8.5 is not an update. The file names are changed with the whole ttk tree added. It would be a new port from scratch.

      http://groups.google.com/group/comp.lang.perl.tk/browse_thread/thread/5b46aee9cb6bbe12/cf296a5a9bc5d713

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://969837]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (2)
As of 2022-05-25 04:42 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Do you prefer to work remotely?



    Results (84 votes). Check out past polls.

    Notices?