AGoodIDE

ThoughtStorms Wiki

Context IDE

Comment I posted here at JoelOnSoftware

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. (This was SdiDesk) 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.

Today

GlamorousToolkit is at the cutting edge of development environments.

Build your own tools to query / analyse and manipulate your code base.

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 interpreted, so you still don't have the compile stage interrupting the flow.

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:

  • autocomplete,
    • refactoring,
    • easy testing,
    • version control

Language Without IDE Using
PythonLanguage Useful but only small bursts of work GEdit
JavaScript These days you can do a lot with good editors GEdit
JavaLanguage Nothing Emacs was pretty bad. ProcessingProcessing is a great environment for Java ... nearest thing to the VB experience. AndroidStudio (I'm using for Android) is powerful, clever, but so heavy, confused and unwieldy.
VisualBasic N/A VB6 OK, Visual Studio 2008 with VB.NET ... lousy experience
C Maybe Emacs is good for those who know CodeBlocks seems ok when it works
Erlang OK 'cos it's so small anyway Probably would help, but still looking for one with syntax colouring,
ClojureLanguage Emacs with ParEdit is beautiful haven't tried in anything else. I love Emacs with ParEdit with Clojure. Usin SamAaron's EmacsLive

Bookmarked at 2023-04-13T21:57:48.058354 https://blog.jonudell.net/2022/11/17/debuggable-explanations/

Bookmarked at 2023-04-10T16:10:17.986265 https://www.codeatlas.xyz/