Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

Re^2: Win32 development

by BrowserUk (Patriarch)
on Dec 06, 2005 at 10:49 UTC ( [id://514397]=note: print w/replies, xml ) Need Help??


in reply to Re: Win32 development
in thread Win32 development

One reason might be that when you download the documentation, you find such gems as:

  • Under "Programming strategies" - "Strategies for reducing programming errors":

    Use ASSERT

    Although I haven't done this myself within wxWidgets, it is good practice to use ASSERT statements liberally,...

  • Under "Programming strategies" - "Strategies for debugging":

    Positive thinking It is common to blow up the problem in one's imagination, so that it seems to threaten weeks, months or even years of work....

  • Under "Topics overview" - "wxWidgets Hello World sample"
    // // file name: hworld.cpp // // purpose: wxWidgets "Hello world" // // For compilers that support precompilation, includes "wx/wx.h". #include "wx/wxprec.h" #ifdef __BORLANDC__ #pragma hdrstop #endif #ifndef WX_PRECOMP #include "wx/wx.h" #endif
  • Under "Topics overview" other subheads include "wxPython overview" & "Archive formats such as zip", but not a single mention of Perl or wxPerl.

    Even the contents page header is "wxWidgets 2.6.1: A portable C++ and Python GUI toolkit"

  • The first mention of Perl I found was under "Classes by category" - "wxTopLevelWindow" - "wxTopLevelWindow::GetIcon" where if found:
    • wxTopLevelWindow::GetIcon - wxPerl note: This method is not implemented in wxPerl
    • wxTopLevelWindow::GetIcons - wxPerl note: This method is not implemented in wxPerl
    • wxTopLevelWindow::GetTitle - wxPerl note: This method is not implemented in wxPerl
    • ...

At which point I decided whatever limitations of documentation Tk has, and they are myriad, at least most of it is a) relevant; b) mostly Perl related.


Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
Lingua non convalesco, consenesco et abolesco. -- Rule 1 has a caveat! -- Who broke the cabal?
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.

Replies are listed 'Best First'.
Re^3: Win32 development
by mattr (Curate) on Dec 14, 2005 at 13:39 UTC
    Hello, thanks for your considered reply. I'm not the wxPerl expert but I've done a project or two in it. I think with all respect that you've gotten behind the wrong side of the axe. Specifically, you are reading the docs for the C++ libraries which are wrapped by wxPerl. You do not program in C, you program in Perl.

    There is no ASSERT needed in Perl of course, in fact I don't remember that line at all to tell you the truth. Maybe it is needed to stay sane in C++ programming with wxwidgets, but I have no experience doing that myself. It's easy to debug wxPerl since it's perl and you have stderr output on the console too, plus a logging module. You suggest wxwidgets is immature but a glance at wxwidgets.org shows that is untrue, in fact lots of neat cross-platform C++ projects (like Xara for instance) use it.

    It is true that not every single routine has been wrapped, but the critical mass has been way exceeded IMHO. There is a very active mailing list and in fact there are some extra perl functions added while some duplicate C functions are not. There are also some which were skipped as not seeming important. When people find them important, so far as I can see it gets wrapped extremely fast.

    The wxwidgets C++ libraries are also a moving target and advancing/growing very quickly. This is a good thing. I do in fact use the C++ manual when seriously programming wxPerl, since it is extremely useful. There are also a lot of third party C++ modules in the contributed code section, and I wouldn't mind seeing some of those wrapped too. Perhaps lack of a wrapped video contributed module is significant I think though there is ActiveX.. anyway it is available for wrapping. The wxperl wrapping of wxwidgets is in general quite useful and has struck me as being more interesting than Tk though I would like someone with much experience in both to weightin on that. Also I wonder if sdl-perl and gtk-perl are faster, since I remember a neat game (sdl perl I think) called Frozen Bubble. I wonder if it is doable in wxPerl yet. (It uses Ogg Vorbis). I'd like to see it easy to do animation and multimedia scripting in perl, in wxPerl. And being a lazy perl programmer in a good sense (I think) I'd like to see it even easier to make apps than it is now. (It's easy but you still have to tell the computer what to do.)

    As for the example you note, I just checked the manual (for wxwidgets 2.6.2) and your post appears to be already obsolete. There is no wxPerl note as you mention for the three subroutines you note. And I built a wxPerl app with custom icon and title (true I was setting not getting) nearly a year ago.

    In conclusion I have to say that while I greatly respect your posts in all other areas I really think it is time to take another look at wxPerl. In particular, look at the wxPerl demo.pl application which shows you the source code for each window as you demo different functions, it is eye-opening. There are already a lot of users but I would like to see twice as many and it seems the barrier to that is impressions similar to yours.

    WxPerl will of course continue to grow, I hope, and I would not mind seeing it get easier and easier. Currently I think it does a very good job of letting you override all widgets and window types to make your own custom reusable widgets and windows as packages which can be added to CPAN. Anyway, slide over to wxperl.sf.net and see what the fuss is about!

    Cheers, Matt

      Maybe I'm reading the wrong manual, but these are the steps I followed:

      1. Google "wxperl"

        I followed the first link to

      2. wxperl at sourceforge

        This is the same place I arrive when I click your link above!

        I clicked the link at the end of this line:

        wxPerl 0.26 is out! Binaries compiled against wxWidgets 2.6.1 are available from the Download page.
      3. Arrived at the download page.

        I scanned down to the second section, "Documentation", and read

        Documentation for wxPerl is available as TeX, HTML, and MS HTML Help

        I selected the HTML form and downloaded this zipfile.

        Expanded it onto my ram drive and clicked the first html file, and then "home" at the top of the page and arrived at the contents page from which the instructions I listed above proceed.

      In order to remember the steps I took, I just now followed them again. And I then followed the steps in my earlier post and found all the same information.

      If there is a version 2.6.2, then it does not appear on the wxperl sourceforge page, and if there is a more relevant documentation set, it isn't listed under the "documentation" link there.

      If you could point me at wherever I should be looking for latest code and docs, preferably where I can download the docs without source or binaries initially, I will review them and update my original post.

      However, I don't think that the course I took to finding what I found is a particularly unusual way that others might go looking for their first introduction to wxPerl, so it might be a good idea to try and make the good stuff available at the place that Google rates as the best link for it. Especially as it is the same place that your link above takes me to.


      Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
      Lingua non convalesco, consenesco et abolesco. -- Rule 1 has a caveat! -- Who broke the cabal?
      "Science is about questioning the status quo. Questioning authority".
      In the absence of evidence, opinion is indistinguishable from prejudice.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others having a coffee break in the Monastery: (3)
As of 2024-04-18 23:18 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found