At the risk of making this worse... Bill makes good points, and I wasn't saying "don't use an IDE". I meant "I don't like using an IDE, so I don't want to be forced to, and that affects my language/tool preferences. You might want to consider whether you like using a particular IDE or not, in addition to other considerations."
Where I work we try hard to keep IDE-specific files and choices out of the vcs, aside from maybe adding some patterns to the .ignore file to reinforce this. We value letting all the different developers use whatever tools they prefer, and we do often use different ones (emacs, vim, eclipse, coda, etc.) to work on the same project and the same code at the same time without stomping on each other's toes, which is a Good Thing.
I love you all. Really.
On Jan 6, 2010, at 9:37 AM, Joel Marchesoni wrote:
> I should have worded my response differently. I didn't mean one shouldn't use any IDE at all, but as Dan said if there is a special IDE *for that language* and otherwise one can't develop it I would stay away from it.
> -----Original Message-----
> From: Code for Libraries [mailto:[log in to unmask]] On Behalf Of Bill Dueber
> Sent: Wednesday, January 06, 2010 9:23 AM
> To: [log in to unmask]
> Subject: Re: [CODE4LIB] Choosing development platforms and/or tools, how'd you do it?
> On Wed, Jan 6, 2010 at 8:53 AM, Joel Marchesoni <[log in to unmask]>wrote:
>> I agree with Dan's last point about avoiding using a special IDE to develop
>> with a language.
> I'll respectfully, but vehemently, disagree. I would say avoid *forcing*
> everyone working on the project depend on a special IDE -- avoid lockin.
> Don't avoid use.
> There's a spectrum of how much an editor/environment can know about a
> program. At one end is Smalltalk, where the development environment *is* the
> program. At the other end is something like LISP (and, to an extent, Ruby)
> where so little can be inferred from the syntax of the code that a "smart"
> IDE can't actually know much other than how to match parentheses.
> For languages where little can be known at compile time, an IDE may not buy
> you very much other than syntax highlighting and code folding. For Java,
> C++, etc. an IDE can know damn near everything about your project and
> radically up your productivity -- variable renaming, refactoring,
> context-sensitive help, jump-to-definition, method-name completion, etc. It
> really is a difference that makes a difference.
> I know folks say they can get the same thing from vim or emacs, but at that
> level those editors are no less complex (and a good deal more opaque) than
> something like Eclipse or Netbeans unless you already have a decade of
> experience with them.
> If you're starting in a new language, try a couple editors, too. Both
> Eclipse and Netbeans are free and cross-platform, and have support for a lot
> of languages. Editors like Notepad++, EditPlus, Textmate jEdit, and BBEdit
> can all do very nice things with a variety of languages.
> Bill Dueber
> Library Systems Programmer
> University of Michigan Library