I definitely agree with Bill here. There is a definitely a totemistic
attitude about vim or emacs being "all the IDE I need". Knowing your
way around vim (or possibly emacs) is certainly important -- after
all, everybody has to eventually fix something remotely -- but just
languages, some editors look or feel better.
My basic credo is that I want to find the absolute least resistance
between what I see in my head and what eventually gets run. This
applies to my office chair, my keyboard, my monitor, operating system,
editor, language, SCM, deployment manager, etc. Every layer provides
amperage that must be accounted for.
Because in the end, I'm spending 8+ hours a day, 5+ days a week
looking at and working on this setup; I might as well be comfortable.
Personally, I use TextMate for practically all the code I write. I
don't actually use all the features that generally draw people to
TextMate (SCM integration, macros for automating certain tasks in
particular languages/frameworks, etc.) at all. I just like the way it
looks, it's relatively lean and I can easily cut and paste (which is
my major knock on the character-based editors). I have a mouse,
dammit, so let me use it.
I also use NetBeans, sometimes, although, honestly, it's only when I
need to run SQL queries against JDBC databases anymore.
If I was a "real developer" (meaning I wrote code intended to be
compiled, etc.), I couldn't imagine not using something like NetBeans
or Eclipse to automate some of the tedium.
On Wed, Jan 6, 2010 at 9:23 AM, Bill Dueber <[log in to unmask]> wrote:
> 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