Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?

Re^2: Tired of "Perl is dead" FUD ?

by clinton (Priest)
on Sep 20, 2007 at 14:43 UTC ( #640141=note: print w/replies, xml ) Need Help??

in reply to Re: Tired of "Perl is dead" FUD ?
in thread Tired of "Perl is dead" FUD ?

New flavors of Linux seem to all be preferring Python.

I would say that that is because of the GUI toolkits. Disclaimer: I have never done anything with any of the GUI toolkits, so I may be completely off the mark. All I know is that Tk seems to be the only stable/widely used choice for Perl, and every Tk application I see looks awful, while the Python stuff looks great.

I've tried to install the Gtk modules, but just got failures. I'm assuming the Python bindings are easier to install and use, which is why we see more productivity in this area. This is sad - I've got a hankering to try my hand at a desktop based application, but (and maybe I'm just believing the hype) I feel that I should probably learn Python to do that.

Please somebody correct me.


Replies are listed 'Best First'.
Re^3: Tired of "Perl is dead" FUD ?
by tunaboy (Curate) on Oct 03, 2007 at 01:02 UTC

    Perhaps take a look at Wx for a Perl interface to the wxWidgets ( library. (Or would you call it a framework? ;)

    I've implemented a couple of GUI apps with great success using wxPerl.

      Do you have any examples of work that you've done that we could look at? I'd love to see Perl in some GUI-action.

      Also, if I understand it correctly, wxWidgets provide a single interface to numerous GUI platforms, rendering controls natively, so that your application would fit in with other applications in your environment. Which sounds like a great idea. Yet, I hear mixed opinions about it. Is that because the only way to support multiple platforms is to only allow controls/actions/interactions common to all platforms, thus eschewing the more interesting features of each platform? Or is there some other reason?.

      Like I said, I'm ignorant about the GUI side, but interested in learning more.



        I am currently prototyping an application for a client in wxPerl. I will look at turning the prototype into an example for posting.

        My understanding, and it is incomplete at best, is that where possible wxWidgets uses native controls and where it is not possible it implements a universal version of the control in question. If I understand your reasoning you are worried that this leads to wxWidgets only supporting a subset of features that are common to all platforms, thus missing out on more advanced features of individual platforms?

        That sounds like a valid concern, but one I am unable to comment on with much insight. All I can say is I have yet to come across some feature I was unable to utilize due to limitations in wxWidgets. But for the most part my deployment target has been Windows, and perhaps I would have had a different experience deploying on OS X/*nix.

        I have come across some issues with event handling being "different" across platforms, but they were fairly easily resolved.

        For now, here are some links you might find useful regarding wxPerl in action:

        Perhaps play with wxGlade and examine the generated code:

        If you are on Windows and using ActiveState Perl then the following is a good resource as well:

        There is no specific wxPerl documentation, but the wxWidgets documentation is enough and contains wxPerl specific notes:

        Hopefully all of that is a good start for you, and I will look into posting a version of the prototype I am working on currently.

A reply falls below the community's threshold of quality. You may see it by logging in.

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (4)
As of 2020-11-24 04:32 GMT
Find Nodes?
    Voting Booth?

    No recent polls found