[Pythonmac-SIG] Mac User Python Newbies
has
hengist.podd at virgin.net
Sun Feb 13 23:00:01 CET 2005
Michael Hudson wrote:
> > [Many new developers] would
> > prefer to get started (at least) within the relative controlled
>> environment of an IDE.
>
>However, it probably is a good deal less effort to explain to
>newcomers how to get going without an IDE thatn to write one.
There's a paradox at work here. What newbies need from an IDE is
_very different_ to what experienced users expect from one. On the
one hand, newbies want something that is very quick and simple to
learn - so the editor needs to be pretty narrow and minimal in its
featureset. On the other, they also want it to provide some very
powerful features - e.g. GUI editor, executable generator - that are
non-trivial to develop so generally only appear in big, complex,
bells-n-whistles environments.
One option is to take an existing bells-n-whistles IDE and strip it
right down to just the features that newbies will immediately need,
minimizing and rearranging the remaining UI and adding/rewriting
additional built-in help facilities. That'll let newbies get started
without running smack into the immediate information overload that
comes from being faced with an 'old-pro' oriented environment. Once
they outgrow the newbie-oriented IDE they'll need to make the jump to
the full-blown one which'l no doubt require some relearning, but at
least by then they should be able to cope with the jump.
Another would be to architect the IDE from the ground-up as
completely component-oriented (e.g. a-la OpenDoc) where every feature
is pluggable and replaceable, right down to the editor and
interpreter windows themselves. That would allow the IDE to be
distributed in its newbie-friendly form with all the 'old-pro'
features left out, and once users become familiar with the basics
they can start to add new components and replace existing ones so
that the editor grows with them. This would be the better approach
from the users' POV, though it also requires even better design and
implementation to pull off.
Obviously, either option requires a significant amount of work to be
done by exactly the sort of old pros who have the least to gain
directly from it. Which is always the problem with 'free as in beer'
software, as it requires some other form of motivation, e.g. ego,
evangelism, foundation grants or whatever.
>Especially writing an IDE that would be noticeably more correct than
>my current Emacs/Terminal/interactive Python setup.
While that combination may well suit Python newcomers who are already
experienced Emacs/Terminal users, it's a complete non-starter for
anyone who isn't, because the last thing a newbie wants is to have to
learn two or three different things all at the same time just to get
started.
For example, when I started learning Python I took a look at various
IDEs, but learning one of those on top of learning Python was just
going to be too much, so I ended up using a zero-feature
syntax-coloured shell script editor instead. Might not do anything,
but since it only took 2 minutes to learn I was able to get right on
with the more important task of learning Python, so that I could
actually get on with what I _really_ wanted to do, which was write
cool software to do useful stuff. (BTW, I'm still using that editor
despite it being really limited because I still can't be arsed
sinking time and effort into one of these big, fat, complex IDEs when
I can be writing code instead.)
And that's the whole crux of the matter: Most people who come to
Python aren't interested in learning IDEs, or Python, or anything
else. The only thing they're interested in doing is creating cool
software to do useful stuff, and every second they're having to sit
and learn some tedious crap before they can do that is a second
they're being kept from achieving that goal.
Sure, there'll be some who enjoy all that "learning for learning's
sake", but most are primarily task-oriented so you either directly
help them reach that goal - e.g. by providing a completely intuitive
drag-n-drop GUI builder so they can whip up that 2-minute UI when
they need it - or you keep the hell out their way so you don't hack
them off. Because if you do hack them off, or they think they can get
better help by moving to another platform, then another platform is
just where they're gonna go.
And that's what the [Mac]Python community has to deal with if they
want to attract new users better'n all their competition can. Me, I'm
off to hack up a Script Editor clone now, so you can guess which
particular audience I'm gonna be pitching to in the next few months.
;)
HTH
has
--
http://freespace.virgin.net/hamish.sanderson/
More information about the Pythonmac-SIG
mailing list