[Pythonmac-SIG] Re: Mac Python User Newbies

Kevin Walzer sw at wordtech-software.com
Sun Feb 13 18:10:47 CET 2005


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1



|
| ------------------------------------------------------------------------
|
| Subject:
| Re: [Pythonmac-SIG] Mac User Python Newbies
| From:
| Troy Rollins <troy.rollins at gmail.com>
| Date:
| Sun, 13 Feb 2005 10:59:10 -0500
| To:
| pythonmac-sig at python.org
|
| To:
| pythonmac-sig at python.org
|
|
|>>.. beggars can't be choosers :)
|>>
|>>-bob [ comment in the context of distribution packages but it applies
|>>to the discussion of IDE chaos as well].
|>
|>My comment:
|>
|>(1) In this business, beggars do  choose, and they vote with their
|>feet.   If a beginner-friendly IDE is not an interesting problem for
|>cognoscenti, the python foundation (or some such) should step in, or
|>the python community should consider the possibility that the
|>demographics of the development community is in danger of ceding  the
|>next generation...
|
|
| I for one, don't care to think of myself in the context of "begger",
| but more so in the context of uninitiated contributor. If developers,
| new to python, have a barrier to entry, they may well walk of to Ruby,
| or Lua... etc. At some point, I'd like to be contributing to the
| effort, but just getting off the ground is a bit daunting. Obviously,
| it is doable, since lots of folks work in it every day, but how many
| have peaked in and turned and left without saying a word? Out of that
| number, how many may have evolved into providing some contribution? It
| isn't up to the members of this list to fix, or at least isn't a
| "responsibility", but it is an issue which also shouldn't simply be
| dismissed, I think. I think if there is some governing body for
| Python, it should very much be paying attention to this issue, and
| recognizing that it is perhaps one of the most important aspects of
| maintaining and furthering the language... new developers. Many of
| which would prefer to get started (at least) within the relative
| controlled environment of an IDE.
|



One of the things I've observed with Python is that there's an almost
overwhelming embarassment of riches when it comes to free and/or
open-source IDE's, developer tools, etc. I maintain two such
environments myself on the Mac--SPE (Stani's Python Editor), which is
built on wxPython, and Eric3, which is built on PyQt. Both have editors,
debuggers, etc. integrated, and also ship with GUI builders (wxGlade for
SPE, and Qt Designer for PyQt).


Some users still find SPE a bit buggy: I haven't found it unreasonably
so, but I do try to investigate, respond to, and help resolve such
issues when I'm able. Eric3 is a different issue: it's very polished and
powerful. And there's no issue with stablity or polish with Qt Designer,
as it's a (highly expensive) commercial tool released freely for
open-source development. The main drawback to PyQt, of course, is the
license if you dislike the GPL.

Yet another polished developer environment is PyObjC. I haven't done any
work with this in Python, but having used a lot of these tools with
AppleScript Studio, they are first-rate: again very powerful commercial
tools that ship free with the Mac.

Even IDLE, which is a bit ugly on the Mac, is very usable, and much
simpler to get started with than a full-blown IDE. I have found it very
good for editing scripts, testing things out, and learning. IDLE *is*
maintained by the Python Foundation itself. So, I think they are meeting
the obligation that you say they have. (I wish that the Tcl core team
had something similar to IDLE.)

And PyOxide also seems to be a very polished and Mac-friendly Python
editor, though I haven't used it extensively.

The extent of developer tools and environments in Python, is, in fact, a
considerable obstacle to the newbie. After getting my feet wet in
programming with AppleScript, I was choosing between Tcl and Python as
my next language to try. I chose Tcl to start with because, although it
has an almost *complete* lack of polished tools (no usable GUI builders,
no decent IDE's available on the Mac), it is a smaller language with a
relatively straightforward path to competence. Want to build GUI's?
Learn Tk. Which tool to write code with? Since there are no standard
editors, pick the one you like (Emacs + terminal is what I use). I've
got two open-source Tcl/Tk apps under development right now, after
studying the language for about six months. I wouldn't be this
productive had I started with Python, and that's no criticism of Python,
merely an observation on the size of the langauge environment: the
langauge itself may not be too hard to learn, but navigating the various
~ GUI toolkit options certainly is.

I decided to get involved with Python on the packaging side because I
thought it might provide a way to sample the different GUI toolkits
without getting lost: plus, I was also interested in some of the IDE's
that seemed to be popular on other platforms that could also run on the
Mac but weren't available. After working with both PyQt and wxPython, I
feel a little more comfortable with wx, and have actually contributed
some Mac-specific patches to SPE and wxGlade. (I find wxPython's model
to be reasonably close to Tk-style callbacks, and easier to understand:
I can't get my head around Qt signals and slots.) After my Tk
applications get to a certain point (i.e., released), I will probably
delve into a wxPython project of my own along with trying to help
improve SPE and/or wxGlade.

I have to agree with Bob: open-source development is rarely going to be
as polished, coherent and steady as commercial development. For the most
part, it's developer-driven, not market-driven.  If you're used to slick
commercial tools like those from Macromedia or Revolution Runtime, you
won't find a lot of that in any open-source language.

(Footnote one: In fact, Python is exceptional in this regard: PyObjC,
PyQt, etc. leverage commercial tools in a brilliant way. Qt Designer and
Interface Builder are very slick drag-and-drop GUI builders. )

(Footnote two: ActiveState makes a  commercial IDE for open-source
languages, including Python, called Komodo: it's available for Windows
and various Nixes, but not for the Mac. The only reason I can think of
for this is market strategy, as Komodo is built on top of Mozilla;
there's no reason that it shouldn't run on the Mac. So perhaps you
should also lobby ActiveState to bring out Komodo-Mac.)

I say all this as someone who is *not* a professional programmer, and
still should be counted as a Python newbie. So I can definitely
sympathize with your perspective.

Let me conclude with a question: what *should* be in a newbie-friendly
Python IDE? If you were writing one, what would you like to see in it?
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (Darwin)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFCD4oXJmdQs+6YVcoRArylAJ9gyRHtxqjhEMv4HIygKUyWV9QngwCfUDMd
YNvdXdRDOgDOqvM/FZsGMBo=
=kJ+g
-----END PGP SIGNATURE-----


More information about the Pythonmac-SIG mailing list