Perl still don’t have standard solutions for Desktop GUI. We have wxPerl, that I have collaborated and is very good, portable, but is not standard and available in any Perl installation.
This is more an indictment of the standard installation footprint of the various perl distributions (and those created by OS distribution maintainers).

perl programmers know (or should know) that if they need a module to do something, the first place to look is CPAN; there are many GUI libraries available therein.

I won't comment as to whether wxWindows should/shouldn't be a good default for cross-platform GUI's as that is a matter of taste.

Also is problematic to create Desktop Applications with the bad multi-thread model of Perl 5. GUI means multi-thread,
Java has this just about right... the two predominant GUI libraries are well written w.r.t threading expectations. Badly written GUI components (w.r.t threading) abound for the .Net platform; a platform where lean, robust threading is available.

FACT: It's easy to write threaded code for perl5 using the message-passing paradigm.

As for your assertion that GUI ==> threads, I'd argue that the responsibility for GUI responsiveness is at the feet of GUI library designers and that GUI code is only embarrassingly aided by threaded user code.

Computationally-intensive code benefits far more from concurrency than do GUI systems.

and since on Perl 5 you have to design all the code to have it on multi-thread, this is a big problem, especially when you want to use 3rd part modules.
This comes down to two issues. Firstly, some perl modules are not thread-safe. This can be mostly worked around with scoping hacks and there has been noise about notation of CPAN to reflect thread-safety of the modules available there.

Secondly, some C/C++ libaries (used by perl modules) are not thread-safe - the blame there shouldn't really leveled at perl.

These problems exist for many languages, not just perl.

-David


In reply to Re: Slow evolution of Perl = Perl is a closed Word by erroneousBollock
in thread Slow evolution of Perl = Perl is a closed Word by Anonymous Monk

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.