This forum is in permanent archive mode. Our new active community can be found here.

IDEs vs Text Editors

edited June 2007 in Technology
Quick question. In my simplistic and beginner-level exploration of the world of writing computer code, I have often wondered: Why is it preferable for one to use a text editor like VI when programming instead of an IDE or vice versa?

Comments

  • edited June 2007
    For a beginner it strips away the need to learn how to use a particular IDE. (Assuming you are then given the appropriate instructions to run from a command line or some other simple compiling method.)

    Personally, I very much prefer my IDEs as they provide an easier combined environment to work in. Granted I've been using Visual Studios for a few years now and know my way around pretty well. The same goes for many of the other IDEs I've used. I can't stand VI, while I recognize that it's very powerful, being a Windows user I have little need to learn how to use it so it's just frustrating when I do have to use it.

    On the other hand when I'm working on HTML or PHP or some such I often times pop open UltraEdit which is the best text editor I've found for Windows. It still offers the syntax highlighting which helps make syntax errors more noticable. It's also very flexible in the editing modes that it offers, the most beneficial of which is column mode editing. It is beyond frustrating that other programs I use on a near day to day basis do not offer column editing.
    Post edited by raquor on
  • edited June 2007
    I've been using VIM for my little scripts, and as I was writing those words just now, I realized the answer to my own question.

    One uses VI because of all the shortcuts and commands that make things go faster. Also, text files are easily transferable while IDE save files may not.

    The advantage of the IDE, though, is various tools such as highlighting and a helpful little "Run" button at the top can help make debugging easier.

    Am I right?
    Post edited by Sail on
  • The advantage of the IDE, though, is various tools such as highlighting and a helpful little "Run" button at the top can help make debugging easier.

    Am I right?
    Yeah. But if you want syntax highlighting, you could always use SciTE, which is basically a programmers text editor.
  • I love the colorizing of my code when I use and IDE. It helps you quickly find a mistake such as missing quotes or a missing "*/" to close out a comment.
  • If you are using a properly configured and fully featured text editor like vim or emacs, then there isn't really anything that IDEs can do which text editors can not. It really just comes down to your personal taste and skills. Nubs who are dependent on the mouse and GUIs are more comfortable with IDEs. L33t h4x0rs who know how to use the keyboard and a terminal are more efficient with the text editors.

    Personally, the main reason I use vi and a terminal is because most of the IDEs I have used try to exert they influence over your code. They automatically generate code in a certain style. They expect you to write your code in a special way. They let hidden GUI options get in the way of your code. For example if I use Visual Studio and write a simple hello world in C++, it might not compile! I have to choose the exact right type of project and make sure a bunch of options in the GUI are set just right in order for it to work. When you use vi and gcc for your coding, then your code is all that matters. I don't want anything outside of my code itself affecting how my code compiles and runs.
  • edited June 2007
    Personally, the main reason I use vi and a terminal is because most of the IDEs I have used try to exert they influence over your code. They automatically generate code in a certain style.
    This is the single worst part about most IDEs (VS in particular); not that they generate code badly, but that they generate code at all. No pre-determined procedure can generate code that works for your project better than you can...unless you're completely inept, in which case you should be working on that underlying code so you learn more. (Aside: If the boilerplate code generated by Visual Studio is really the best way to do things, it shouldn't even be in your project code; it should be in a library)
    </elitist rant>

    What Scott says about properly configured vim is very true; however, there are GUI tools that don't get in your way nearly as much as most IDEs. Anjuta (for linux at least, maybe windows) comes to mind; it has good syntax highlighting, it has project files (if you're in to that sort of thing), and can build & run your program at the press of a key. Even it has gotten a bit more obtrusive as of late, however; it now pops up an "open or create project" type dialog by default when you open it.

    In the end, if you learn to code with a text editor, you will always be able to code in new environments.
    Post edited by belarm on
Sign In or Register to comment.