MS Windows Survey Results

Well I was dreaming of rewriting all these tips as a nice article or
wiki page, but haven't gotten around to it. So I thought I'd share the
raw results. I've gotten several responses since the last time I posted
this. Be sure to read to the bottom because that's where general
comments and tips are located!

Also, I did manage to categorize the products, find their URLs and come
up with one liners to describe them:
  http://ChuckEsterbrook.com/wxPython/

Side note: I haven't integrated the C++ responses yet, but basically
users seem split between VC++ 6.0 and mingw.

Collate MS Windows Survey Results:

ToCommand: (18 count)

   use:
      (18 responses)
      12 standard
      1 VIM
      1 SciTE
      1 HAPDebugger
      1 cygwin+tcsh
      1 cygwin
      1 4NT

   comments:
      (3 responses)
      VIM with a customized make script

      It's not so bad if the cygwin/bin directory is in the path,
      and autocomplete on tab is set in the registry.

      I'm looking for alternative..anyone know of a port of Bash
      to Windows (not Cygwin)

ToMonitorResources: (18 count)

   use:
      (8 responses)
      8 TaskManager
      1 System Calls
      1 Strategic Logging

ToDebug: (18 count)

   use:
      (12 responses)
      4 print
      3 BoaConstructor
      2 WingIDE
      1 unittests
      1 tracebacks
      1 PythonWin
      1 PyCrust
      1 HAPDebugger
      1 emacs+pdb

   comments:
      (5 responses)
      print is usually enough

      if I really need to I use the BoaConstrucor debugger

      I usually do it with help of Messages or print outs in the
      python.exe-window

      I use the Message Watcher, Shell, and Namespace Viewer at
      runtime with PythonCard apps. I don't use any traditional
      stepping, breakpoint tools, I don't even know the Python
      debugger commands, thus I've guilty of being a log and print
      statement guy with Python :wink:

      I execute wxPython from C Prompt window and use print
      statements for debugging.

Products: (18 count)

   wxPython: (18 count)
      ver:
         (18 responses)
         15 2.4.0.7
         1 cvs
         1 2.4.0.2
         1 2.4.0.1 Unicode
         1 2.4.0
         1 2.4
         1 2.3.3
      comments:
         I keep other versions around for testing. Simply rename the
         old packages like wxPython2402 before installing a new one,
         then you can rename packages at will to test a specific
         release. This is also useful for maintaining
         unicode/non-unicode packages.

   Python: (18 count)
      ver:
         (18 responses)
         15 2.2.2
         2 2.2 ActiveState
         1 2.3a2 Mac
         1 2.3a2
         1 2.3 MacOSX
         1 2.3
         1 2.2.2 ActiveState
         1 2.2
         1 2.1.3
         1 2.1
      comments:
         I'm just starting to look at 2.3, but once the beta is out
         I'll look at it much more

   Windows: (18 count)
      ver:
         (18 responses)
         13 2000
         7 XP
         3 XP Pro
         2 NT
         2 98
         1 XP Pro SP1
         1 Win98 SE
         1 ME
         1 2000 SP3
         1 2000 Pro
      comments:
         2000 for development; XP and 2000 for testing

   PyCrust: (9 count)
      pros:
         (1 responses)
         interactive facilities do seem to be a bit better than
         PythonWin's
      cons:
         (1 responses)
         PyCrust doesn't include an editor

   wxDesigner: (4 count)
      pros:
         makes laying out windows and connecting them to events very
         easy
      cons:
         (2 responses)
         you can't make changes to the source code and then have it
         read those changes back in (so any layout changes are best
         done in wxDesigner).

         Need easier implementation of user controls, need easier
         handling of wxNotebook control

   PythonWin: (4 count)
      pros:
         (2 responses)
         Same shortcuts as Visual Studio

         PythonWin suits the way I work very well.

         I like having convenient access to both file editing and an
         interactive interpreter.

         Easy to use
      cons:
         (2 responses)
         Stack trace can be hard to read because it wraps.

         cannot run/debug wxPython apps from within

         Cannot paste from the clipboard into the watch window

         After debugging a GUI app, you must exit PythonWin and start
         it again if you want to debug that app again.
      comments:
         (1 responses)
         for programatic access to Windows Media Player

   BoaConstructor: (4 count)
      cons:
         Debugger in Boa lacks conditional breakpoints - or at least
         I haven't figured out how to do it.
      forWhat:
         testing only

   wxGlade: (4 count)
      pros:
         (1 responses)
         1 love it
      cons:
         (1 responses)
         still under active development

   py2exe: (3 count)
      use:
         create executables
      forWhat:
         (2 responses)
         packing and distribution

         create system services as well

   SciTE: (3 count)
      pros:
         (3 responses)
         1 I like everything about this program.
         1 great editor
         1 great
      cons:
         (2 responses)
         1 no debugger
         1 lacks a convenient interpreter

   McMillanInstaller: (3 count)
      forWhat:
         create standalone executables

   InnoSetup: (3 count)
      use:
         make installation programs
      forWhat:
         create install packages

   WingIDE: (3 count)
      cons:
         (2 responses)
         purchase price is a little too high for me

         no debugging of threads

   ctypes: (2 count)
      pros:
         a great way to make system specific calls to windows
      comments:
         (1 responses)
         to access DLLs and shared libraries

   PythonCard: (2 count)
      forWhat:
         edit code

   IDLE: (2 count)
      pros:
         (1 responses)
         1 simple
         1 no learning curve
         1 does not get in the way
      comments:
         I am fairly happy with IDLE, but intend to do more with
         PyCrust.

   XRCed: (2 count)
      use:
         to build UI
      comments:
         I love it

   win32all: (2 count)
      pros:
         a very nice interface to the Windows API with constants
         included

   cygwin: (1 count)

   NSISWorkbench: (1 count)
      forWhat:
         nice GUI front end to NSIS

   PepperEditor: (1 count)
      pros:
         (1 responses)
         works on Linux and Mac OS as well

   RapidSVN: (1 count)
      forWhat:
         a wxWindows client to Subversion

   DependencyWalker: (1 count)
      use:
         identify dll dependencies

   AdobePhotoshop: (1 count)
      forWhat:
         for skin graphics

   emacs: (1 count)

   Putty: (1 count)

   NSIS: (1 count)
      forWhat:
         scriptable installer

   EditPlus: (1 count)
      pros:
         EditPlus can capture output of my program so I run my text
         program from inside EditPlus

   mxExtensions: (1 count)

   Jext: (1 count)
      pros:
         Quite OK working with Jext
      forWhat:
         text editing

   KINTERBASDB: (1 count)
      forWhat:
         access to Firebird (via ORM)

   TortoiseSVN: (1 count)
      forWhat:
         a clone of TortoiseCVS wich is a client nicely integrated
         with the windows Explorer

   Subversion: (1 count)
      forWhat:
         instead of CVS

   TextPad: (1 count)

   RuneBladeSkinning: (1 count)

   MySQLdb: (1 count)

   ObjectRelationalMembrane: (1 count)
      aka:
         ORM
      forWhat:
         data access to Firebird

   HAPDebugger: (1 count)
      pros:
         (1 responses)
         1 SCINTILLA EDITOR
         1 PROJECT MANAGEMENT
         1 LIKE MS VC++
         1 FAST, NATIVE WINDOWS NOT JAVA
         1 EXTRAS: FIND IN FILES
         1 CUSTOMIZABLE TOOLS MENU
      cons:
         (1 responses)
         DOWNSIDE: NO CLASS BROWSER BUGGY (HAVEN'T BEEN ABLE TO
         FIGURE OUT HOW TO BUILD IT

Comments:
   (2 responses)
   None. This platform is easier to handle than Linux. Registry
   and a unique GUI make things much easier. Under Linux you
   have to track several lib versions and take care for those
   KDE, GNOME etc. environments. But that doesn't mean, that
   Win32 is better .. :slight_smile:

   Lack of data aware widgets (although I found that basic
   widgets/controls such as textctrl, combobox are easily made
   data aware through the use of validators, but still like to
   see something for e.g. a grid and possibly a listctrl). It
   would be nice if wxPython provides them. I understand that
   Riaan (Boa developer) has it on his to do list - not sure
   how he wants to go about it).

MoreTips:
   (7 responses)
   Use lots of simple and free tools: Context editor,
   InnoSetup, wxGlade, etc.

   The wxPython wiki is great.

   Dependency Walker is very useful.

   Avoid the DOS derivates (95, 98, Me). They are very
   unstable.

   Usually my biggest platform-specifics are related to
   accessing the underlying filesystem -- relative pathnames
   can be made cross-platform easily, but fully-qualified
   pathnames aren't. I usually hardcode a platform-specific
   base pathname, and then use cross-platform tools (os.path)
   to modify that base. This means that only one change is
   needed to make all pathnames work on a different platform.

   Use Samba or WebDAV or even a simple web server, just
   something to simplify moving files back and forth between
   platforms, but then watch your line endings.

   Try not to break the rules of wxWindows abstraction; but if
   you must, ctypes and win32all are wonderful ways to get the
   job done.

   The other thing I have done is to follow the instructions
   here
   (http://www.windows2000faq.com/articles/index.cfm?articleid=13571)
   to add a command in the context menu in explorer that opens
   a command prompt and changes to the selected directory.
    This is handy because I have development directories
   scattered around my PC rather than in one place.

   Run from cmd.exe, don't just doubleclick in the GUI.

   Make sure you enable autocomplete.
   http://contamination.org/windows2000/autocomplete_cmd.html
   It is a .reg file, but if you look at it before running it
   you'll see it just makes the Tab key the autocomplete
   character.

   Learn the unix tools and install cygwin.

   Init wxApp with 0 to get diagnostics to stdout, or with a
   filename to get it to a file. (Then use tail -f I guess.)

   If you need to get a debugger into the C++ wxWindows code,
   do this: 1) build the Debug version of Python in Visual
   Studio 2) execute Python from Visual Studio. 3) from Python,
   execute Python app that you wish to debug 4) set break
   points and then trigger them from the python app. Note that
   the order of 3 & 4 ensures that the wxWindows DLL is loaded
   and break points can be set.

   I use the command-line cvs tool and putty for SSH. There are
   other cvs/ssh solutions for Windows. I like putty in part
   because it has a resident agent (Pageant) that keeps me from
   having to type passphrases or remember passwords, you type
   the passphrase for a key once when you start it and can then
   forget it. Since I don't reboot or log off very often it
   stays around for weeks or months.

   I use plenty of unittests for the logic layer (but not much
   for the GUI code). I try to keep the GUI thin, and there are
   rarely problems there for me now.

   I have made a couple of changes to the environment. I added
   .py and .pyw to the "PATHEXT" variable and added the
   c:\python22\scripts folder to the PATH variable. This way,
   I can enter the name of a python file at the command prompt
   and it will run the program.

   I guess XP works, but there are licence issues... For
   instance I could not install the MS Office 2000 from my
   "reseller kit" (which I'm allowed to use five copies of
   internally) under XP. "Expired" it said. There was no
   expiration date in the deal...

   Change PATHEXT http://altis.pycs.net/2002/12/25.html This
   also has a link to the codeEditor page which goes into
   associating file extensions with Python scripts. That could
   probably be better done in generic terms.

   Becoming familiar with PythonCOM is very much worthwhile.
    Being able to interact with other Windows apps
   programmatically has helped me greatly.

18 responses

···

--
Chuck
http://ChuckEsterbrook.com

To: wxPython-users@lists.wxwindows.org
Subject: [wxPython-users] MS Windows Survey Results

Well I was dreaming of rewriting all these tips as a nice article or
wiki page, but haven't gotten around to it. So I thought I'd share the
raw results. I've gotten several responses since the last time I posted
this. Be sure to read to the bottom because that's where general
comments and tips are located!

Also, I did manage to categorize the products, find their URLs and come
up with one liners to describe them:
        http://ChuckEsterbrook.com/wxPython/

Side note: I haven't integrated the C++ responses yet, but basically
users seem split between VC++ 6.0 and mingw.

Collate MS Windows Survey Results:

ToDebug: (18 count)

You should consider Komodo ...

···

At 07:46 PM 5/8/2003 -0700, you wrote:

   use:
      (12 responses)
      4 print
      3 BoaConstructor
      2 WingIDE
      1 unittests
      1 tracebacks
      1 PythonWin
      1 PyCrust
      1 HAPDebugger
      1 emacs+pdb

Really? It seemed awfully slow when I tested it
(Win 2000 on Duron 700MHz / 256MB)

···

At 22:25 2003-05-08 -0700, Richard Boyd wrote:

You should consider Komodo ...

--
Magnus Lycka (It's really Lyckå), magnus@thinkware.se
Thinkware AB, Sweden, www.thinkware.se
I code Python ~ The shortest path from thought to working program

Chuck Esterbrook wrote:

      I'm looking for alternative..anyone know of a port of Bash
      to Windows (not Cygwin)

check http://gnuwin32.sourceforge.net/

HTH
Niki Spahiev