[Pythonmac-SIG] Re: Mac newbie
Jon Schull
jschull at digitalgoods.com
Mon Feb 14 04:17:21 CET 2005
On Feb 13, 2005, at 6:23 PM, Bob Ippolito wrote:
> On Feb 13, 2005, at 17:53, Jon Schull wrote:
>> So in prioritized order (numbers are prioritized; letter ordering is
>> not)
>> 1a. A peppy native aqua, crash-free text editor with optional
>> syntax highlighting
>
> There are plenty of these, including but not limited to Xcode, BBEdit,
> SubEthaEdit, Smultron, etc.
right
>> 1b. A single easy and obvious configuring of the python memory
>> environment. (.pth? sys.path? site module? gimme a break!)
>
> Put stuff in /Library/Python/2.3 -- is it that hard? You don't have
> to know about the underlying mechanisms.
good to be reminded, although that will force me to reinstall modules
extensions, etc. when I upgrade python, won't it?
>> 2a. an under-the-hood solution to, or hiding of, the dueling
>> pythons. (Maybe that means installing modules in two locations?)
>
> Don't install multiple Pythons. Problem solved!
Well that's where the dilemmas begin. If I want aqua apps and Vpython
apps, I need two pythons. (I think. See below.)
> The under-the-hood solution is implemented anyway - PantherPythonFix.
> You simply need to make sure all of your extensions were built after
> installing it, and that the "dueling" python is 2.3.5 or 2.4.x or
> later. We can't go back in time and relink any extensions that you
> had managed to download or build on your own before this fix was
> developed, unfortunately.
This is a newsflash! I read Daily Python-URL religiously. And there's
no mention of this at python.org, nor at Jack's page to which we are
referred http://homepages.cwi.nl/~jack/macpython/
>> 2b. The text editor should support code folding (to best exploit
>> python's most distinctive and valuable feature) via keystrokes.
>
> PyOXIDE does this, I think.. I'm not sure what else does.
It does indeed. I think PyOXIDE is very promising, although it crashes
on me pretty frequently.
>
>> 3a. Command R runs the current script.
>
> I think a lot of the aforementioned text editors can do this. In the
> context of a PyObjC app, the Xcode templates give you this.
Someday I'll understand what that really implies and entails. But
today I'm simulating a newbie (with great success, it seems)
>
>> 3b. Keys can be rebound simply, e.g. by editing a text file
>
> I think this is over-prioritized.
You're probably right. To me, though, being able to fold and unfold
code, and to run the program without breaking my flow is a huge help in
keeping track of forest and trees.
>> 3c. Errors take you to the offending line.
>
> Not sure what supports this... I would imagine that PyOXIDE does?
It does
>
>> 4. An easy to use, pythonic gui system that will carry cross
>> platform.
>
> PythonCard is probably the farthest along with this, I think?
I'd be interested in hearing what people think. If I recall, my tests
involved customizing the pythoncard editor itself. With large source
files the editor just got too sluggish.
>> 5a. Easy variable tracing
>
> Do people really use variable tracing that often? I don't find myself
> using it much even in languages that support it. I find myself
> inspecting state only when I'm sitting at a break point. Perhaps I'm
> just not effectively using the debugger, I do it in my head, or the
> code I write in these languages doesn't make variable tracing that
> useful.
>
>> 5b. A full stepping debugger.
>
> pdb gives you this, without the GUI... I don't really find myself
> stepping around a lot though, I simply set the code up to dump me at a
> post mortem or at a specific place and then I inspect what's going on.
> I rarely try and continue execution after inspecting the state,
> because usually I want to change something.
PyOxide, with
>
>> 5c. Some kind of simple versioning (such as saving automatic
>> incrementally numbered backups)
>
> Subversion integration? Numbered backups sounds really obnoxious.
Subversion clearly better if its newbie-friendly. I was focusing for
easiest to implement and easiest to use.
>
>> 6. What he said. But, as noted, that's asking a lot. I'd be happy
>> with 1+...
>>
>> Notes:
>> Today, Smultron gives me #1
>> 1b bites me periodically but I'm brain-damaged already so I don't
>> feel the pain very often
>> 2a is a scandal (even if no one in particular is to blame)
>> 3a Command R can wait for the third tier because I have a trick: I
>> run a script "onchange.py python somefile.py" which runs somefile.py
>> whenever I save the file. But a newbie wouldn't know how to create
>> this script.
>> 4. AnyGui seemed like a really good idea to me.
>
> Lots of good ideas never get the attention and effort they deserve.
>
>> 5a and 5b: the point of mentioning these is to show how LOW a
>> priority they are relative to the prior basic usability issues.
>>
>> I'm not complaining here, so much as trying to raise consciousness
>> about lost opportunities and newbie frustrations to which
>> afficionados in the mature python community are, almost by
>> definition, blinded.
>>
>> Also, I'm speculating but not presuming that this is the right
>> prioritization. Your comments?
>
> An out-of-process Python interpreter/debugger combo would be really
> high on my list. What good is cmd-R if it only works for command line
> scripts? For IDEs written in Python, in-process interpreters and
> debuggers can cause the IDE to crash, halt, or behave strangely.
> Unfortunately this is common practice.
I agree. I've been bitten by that.
This discussion leads me to believe that if I were to upgrade my python
to 2.35+, run pantherpython fix, I could install modules without
worrying about "crosstalk", use PyOXIDE, and have virtually everything
I want (with the possible exception of running VPython programs from
within PyOxide. Even that SHOULD be possible if I run as an external
process using /sw/bin/python, but I get an error.)
> Gtk-WARNING **: cannot open display:
> Visual-2003-10-05
> (exit status: 1)
Perhaps that's just one of those pesky newbie-opaque configuration
issues....?
Anyway, this has been very useful to me, thanks!
Maybe the pieces are actually all available and what's needed is
newbie's guide for those new to python, or python on the mac.
Then it wouldn't just be useful to *me*.
More information about the Pythonmac-SIG
mailing list