32

Recently reading the question What languages do you use without an IDE? One question asked in a few answers was "is Notepad++ and IDE?"

One answers to the original question said "None, I use vim...", implying that vim is an IDE. But then another answer suggested vim isn't an IDE.

So where is the line?

What about notepad, ed, or nano?

Is the only non-IDE coding technique the butterfly technique?

Matt Ellen
  • 3,368
  • 4
  • 30
  • 37

4 Answers4

32

Taken literally, IDE = Integrated Development Environment.

This is the way i look at it:

  1. Integrated: Means you can code / launch / compile / debug your app from the tool.
  2. Development: Means it can group files into projects, and does syntax highlighting for your language, maybe has refactoring tools, ability to generate files from templates (like unit test files, class files etc.), auto complete / intellisense
  3. Environment: Means both of the above are available from the same tool

Notepad++ allows for development (eg. you can write code), but the other areas of development are not covered. I've never used notepad++ for development, only for occasionally editing files.

David_001
  • 2,762
  • 2
  • 26
  • 27
  • 1
    That's a good point. Notepad++ doesn't fully integrate with any language by its self, however it allows for compilation, launch and debugging by use of plug-ins. To me it seems like it might be a full IDE at that point. – Matt Ellen Sep 23 '10 at 08:49
  • 2
    That definition makes Vim and emacs IDEs, since they are seldom used for development without plugins that give them all (or most) of these features. – Chinmay Kanchi Sep 23 '10 at 11:54
  • 2
    Then I'd agree that, when used in conjunction with such plugins, they are IDEs. – Matt Ellen Sep 23 '10 at 12:07
  • 4
    By themselves vim and emacs are just fancy text editors, but if plugins mean you get syntax highlighting, compile & debug features, then as a package I don't see why they wouldn't be considered IDEs. (Clearly, without plugins they're just fancy text editors for sadists). – David_001 Sep 23 '10 at 12:15
  • 1
    Interestingly I just pulled out my Turbo Pascal manual (for the *original* IDE) and there's no debug... but yes, now, as a minimum edit, compile, run, debug. – Murph Sep 23 '10 at 12:29
  • It is worth noting that IDE allows support for plugins for tools like code re-factoring, Re-sharper... – Julius A Sep 23 '10 at 14:08
  • Emacs, at least, comes with compilation, debugging, and syntax highlighting modes. Yes, they're defined in Lisp functions, not C code linked to the emacs binary, but then, that's its architecture: so are such basic things as "open a file". :-) – Ken Mar 05 '11 at 03:58
  • Although you said "Environment: Means both of the above are available from the same tool" you didn't define tool. This is significant because some people would argue that Linux as a whole is an IDE. However, I don't know any OS that in itself allows you to jump directly to errors in the editor - that's still an IDE-only trick AFAIK. –  Oct 16 '12 at 19:21
7

IDE: Integrated Development Environment.

An IDE must have the following:

  • Editor (preferably with syntax highlighting and autocomplete).
  • Integrated compiler or building.
  • Preferably a debugger.

Other enhancements are:

  • Integration with version control.
  • Other tools (like profiler).
Toon Krijthe
  • 2,634
  • 1
  • 21
  • 30
4

Other than the obvious features like integrated build, debug and source control, etc. I want to highlight that autocompletion can help the developer to be really productive with a language with a large library. E.g.

  • Visual Studio
  • Eclipse
  • Wing IDE (not free)

Vim can be setup to do this too.

grokus
  • 7,536
  • 4
  • 31
  • 46
0

It's got to allow you to edit, compile/build, and debug.

gkrogers
  • 900
  • 5
  • 12