Comment I posted here : http://discuss.fogcreek.com/newyork/default.asp?cmd=show&ixPost=3721&ixReplies=41
I have a PythonLanguage story which I'm a little bit shocked by.
I've always liked ScriptingLanguages. I like PerlLanguage a lot. Then last year I thought I'd get into Python, and was converted within an afternoon. There's no doubt this is a beautiful, easy and stress-free language. I've written several smallish programs in it over the last year.
However, in the last couple of months I've been writing a desktop app. in Windows. When I started, I looked at Python and VisualBasic. I started playing about in both environments. But somehow VB took off and suddenly, a couple of months later, I've found I've been happily writing the code in VB. I have days when I think about switching and re-writing, but basically I'm locked in.
I still think Python is a better language. It has far more good features than VB. My VB code is undoubtedly longer than the equivalent Python. The string processing is clunkier. And the lack of inheritance a big drawback.
And yet, somehow, in practice, it hasn't mattered. The code flows easily enough. The language's failings don't hold me up. I get round lack of inheritence using helpers and strategies. The string processing works out OK.
But I think the best explanation I ended up in VB is this : A good IDE counts for a hell of a lot. And the VB IDE has stuff I don't have in the Python IDEs I've tried.
Particularly, auto-completion of function names, and the prompting of the required arguments is a huge productivity boost. (Maybe because I have lousy short-term memory for such things.) The integration of the form-editor and the code behind the controls is still a lot better than, say, PythonCard. And, generally, it does feel more integrated. (ActiveState PythonWin for Windows does auto-complete and argument fill-in. –BillSeitz)
I'm sure decent Python IDEs exist, or are around the corner. And I hope I will be switching one day. But right now I'm kind of surprised I've been so happy in VB.
Have you tried Komodo at ? http://aspn.activestate.com/ASPN/docs/Komodo/3.0/ ? It might be what you're looking for. (SJ)
Another interesting point. I'm generally against strong-typing (AgainstTyping). And I love Python's lack of typing. But I realize that I appreciate the write-time support that types give me in the VB IDE. Not sure how to transport that to Python. (Actually, there are Python IDEs with some code-completion. And there is even talk of OptionalStaticTyping for Python, though it isn't popular.)
Also the reason I don't find the typing a pain in VB is because it's interpretted, so you still don't have the compile stage interupting the flow.
- PythonWorks looked very interesting : http://www.pythonware.com/products/works/
: I wonder why it was discontinued?
JonathanEdwards on language vs tool people : http://alarmingdevelopment.org/index.php?p=8#more-8
BillDeHora on what PythonLanguage needs in a good IDE. (And suspects that's why Guido is thinking about OptionalStaticTyping) : http://www.dehora.net/journal/2005/01/javagetsetnotthatharmfulversioncontrolforrefactoring_harmful.html
Debuggers, wizards, code generators, code folding, code tidy, syntax checking, tree views, all that stuff normally associated with an IDE, are not the key productivity boosters. The facilities a good IDE gives you that count are:
- easy testing,
- version control