[Pythonmac-SIG] Re: Mac Python User Newbies
Chris Barker
Chris.Barker at noaa.gov
Mon Feb 14 20:02:13 CET 2005
thor wrote:
>> Well, that is a good point. I suppose everyone will have a differing
>> opinion on that, particularly in terms of goals. For me, I'd like to
>> see a single package, which includes a GUI designer, script editor
>> with colorizing, debugger, interactive console, some sort of module
>> browser for functions and syntax, resource viewer, something similar
>> to package manager... and a basic set of modules for x-plat
>> development work. Then, some tool which helps to output the whole
>> thing as a runtime package.
>
> I wholly agree that this would be a utopian environment!
I actually don't think this would be utopia for me, which is think is
quite relevant because it's people like me that develop these things.
It's not that I wouldn't like things nicely integrated, it's that I want
a choice of tools. In the above imagined environment, you've just
selected the following:
Editor
GUI toolkit
console
packaging tool
Many of us like to mix and match these. the editor and GUI toolkit being
the biggest ones. While a really nice Python friendly editor would be
great, it wouldn't be great for me unless it was also a really nice
editor for all the other text I need to edit. That's why I use Xemacs. I
don't' even like it much, but I like that it has a powerful mode
available for EVERYTHING I ever need to edit.
Same for GUI toolkit, Whatever toolkit this fabulous IDE uses, there are
going to be a lot of us that want a different one. Also, I've never seen
a GUI builder that was as productive for me as writing the code by hand
(at least if I have something like wxPython's sizers to do layout for me)
I think that's why the editor+terminal+GUI-toolkit-of-choice has ended
up being the de-facto environment for Python development
One more note: I've found that there is a big difference between
"Productivity Usability": how productive one is with a give tool over
the long term
and
"Learn to Usability": how easy it is to learn, and get something done
quickly.
The former is what really matters for a tool you use a lot. The later is
what really matters when you trying to sell something new. While the two
types of usability are not mutually exclusive, I think they are
orthogonal. That is you can have any amount of either couples with any
amount of the other. Obviously lots of both is the ideal. However, I've
found that commercial products often have lots of Learn-to-Usability,
because you need that to sell a product, while open source products tend
to have a lot of Productivity-Usability, because the people developing
them need that, and don't need to learn it.
One example I've seen a lot in the open source world is people writing
to a mailing list, looking for a good tutorial. If it doesn't exist,
many folks offer to write one as they learn, so that others will have it
in the future. This is the true spirit of open source. However, most of
them only get half-finished, because by the time the would-be author has
learned enough to finish it, they don't' need it any more, and the
motivation is gone.
> No way of
> drawing
> 2D in python and use wxPython.
While you can't currently use PyGame, there are plenty of ways of
drawing on a 2-d canvas. Also, I know there are some folks that have
looked at integrating PyGame and wxPython. I don't know how far they
got, but it's certainly possible.
> Solutions:
> - Do 2D stuff in OpenGL (quite awkward) as pyOpenGL works with wxPython
> - Don't use wxPython but native libraries on each of the 3 platforms I
> want to write for.
>
> For this reason I am now using Java and I draw on a Canvas
What kind of Canvas do you use with Java? I've seen people looking for a
Java2d like Canvas for wxPython, is that what you're using? I've written
the FloatCanvas class for wxPython, which provides much (but certainly
not all) the functionality you might be looking for. At the moment, it
is very vector graphics oriented, but adding bitmap graphics would be
pretty trivial, depending on your needs.
> A workable
> environment for what I wanted to do without luck.
I'm curious what you mean by "environment" in this case. Environment: as
in IDE, or Environment as it collection of libraries like GUI toolkit,
fast bitmap graphics, etc?
-Chris
--
Christopher Barker, Ph.D.
Oceanographer
NOAA/OR&R/HAZMAT (206) 526-6959 voice
7600 Sand Point Way NE (206) 526-6329 fax
Seattle, WA 98115 (206) 526-6317 main reception
Chris.Barker at noaa.gov
More information about the Pythonmac-SIG
mailing list