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
good to be reminded, although that will force me to reinstall modules extensions, etc. when I upgrade python, won't it?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.
Well that's where the dilemmas begin. If I want aqua apps and Vpython apps, I need two pythons. (I think. See below.)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!
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/
It does indeed. I think PyOXIDE is very promising, although it crashes on me pretty frequently.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.
Someday I'll understand what that really implies and entails. But today I'm simulating a newbie (with great success, it seems)
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.
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.
3b. Keys can be rebound simply, e.g. by editing a text file
I think this is over-prioritized.
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
Subversion clearly better if its newbie-friendly. I was focusing for easiest to implement and easiest to use.
5c. Some kind of simple versioning (such as saving automatic incrementally numbered backups)
Subversion integration? Numbered backups sounds really obnoxious.
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.)
Perhaps that's just one of those pesky newbie-opaque configuration issues....?Gtk-WARNING **: cannot open display: Visual-2003-10-05 (exit status: 1)
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*.
_______________________________________________ Pythonmac-SIG maillist - Pythonmac-SIG@python.org http://mail.python.org/mailman/listinfo/pythonmac-sig