🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

Compiler+Text editor Vs. and IDE question...

Started by
8 comments, last by Simian Man 17 years, 8 months ago
Hello, I am new here and not sure this is the correct place to ask, but it seemed to be the most fitting... I was wondering if someone can describe a quick overview of writing code in a compiler environment and that of an IDE. I am somewhat familiar with working with IDE's to make simple programs, and have a small idea of how using a compiler and text editor works, but beyond that I am unsure. I would also like to know the advantages and disadvantage of both methods of programming, and how one can benefit certain programs or programming situations over the other, such as in game programming. From what I've gathered, using just a compiler makes for easier portability, as well as stronger and more language support. I've also heard it takes a while longer for a certain language to get an IDE for it, because one has to develop debuggers and other IDE tools for it. Anyways, if this is the wrong place, sorry! Hopefully you can move or delete it.
Advertisement
It depends what language one uses. The IDE I use is developed for object pascal, you can read in and edit seperate pascal files (units) and they form a project. Additionally, there are visual tools that are there to speed up development (Rapid Aid Design). You can drag those onto a window, the IDE creates the windows for you. If you press the 'compile' button it compiles, and pressing 'run' executes the program.
IDEs are just text editors with more programming-specific features. There's still a compiler behind the scenes (or sometimes built into the IDE) that's building the code into an executable. You can often use an IDE to write code, exit, then compile from the command line if you want to.

There's no advantage to using a plain text editor over an IDE. You might be forced to develop stronger personal skills to make up for things that IDE users take for granted, but that's your advantage, not the tool's.
Ah, thanks for the information!

Do you know when a compiler and a regular text editor may be advantageous over an IDE? Such as for certain type of projects, situations, etc.

I think I'm pretty aware of the pros of an IDE, now I just need pros of using just a compiler and editor.

This is for a class I have in which we are suppose to question "experienced" people in our field and ask them specific questions--so more focus on the cons of an IDE and pros of the other environment-type would be prefered.

Thanks for all the answers! And I guess this wasn't too wrong of a spot for this topic.
Quote: Original post by Nypyren
There's no advantage to using a plain text editor over an IDE.


I can't stand using a tool that gets me 80% of the way there and makes it more difficult to do the remaining 20%.

I've been programming for years, and I'm not really used to this newfangled model of software presented by Windows in which the hardware, the OS, and the user interface are so tightly integrated you can't do stuff that was just expected a couple of decades ago.

One of the things we used to do back in the day was build and test software on a machine other than the terminal on our desks. In fact, dialled in a 300 baud to diagnose and resolve a problem on a customer site was a bug part of my job.

I can still connect from home and work on projects at the office.

I can do none of that with an IDE. AN IDE severly limits what I can do. In fact, there is nothing an IDE can do for me that I can't do with just vi and make, except for generate code. My experience with generated code is I end up throwing most of it out and writing it again anyways, and it's easier to regenerate it than to fix a bug in it.

It's true that relying on an IDE saves you from having to know a lot about what you're doing. That's great, but I don't think it's appropriate for a professional software developer (and I know a lot of people aren't professional software developers, so adjust your expectations accordingly). It does explain a lot about the current state of software.

Stephen M. Webb
Professional Free Software Developer

actually, I would even go as far as daring to say that the new generation of "IDE-educated" programmers may be up for a tough awakening: I know personally several people (among them good friends!) who cannot cope without the IDE they were trained to use at work/school/uni, regardless of whether it's .NET, Eclipse/NetBeans or MSVS:these "programmers" can no longer "function" in/with a non-IDE environment, often not even in a merely different/new IDE environment.
This is the type of "point & click" programming that companies such as MS have been trying to push for years and it's since just recently that the fruits of such initiatives are showing up.
Personally, I really don't mind IDEs all that much, in fact I usually use all sorts of different IDEs/editors, but totally depending on the job to be accomplished-IMHO, one of the biggest mistakes you can make as a programmer is to become fixated on a certain toolset, or platform/environment in general.
IDEs often become a hindrance when you want to do something non-trivial in your build process, e.g. build a program to generate some sources for another program.

Command line tools tend to be more "composable" (as opposed to the 'I' for Integrated in 'IDE'): you can choose whichever editor, debugger, profiler, build tool, pretty printer and version control tool you like and don't have to fight your IDE to use it (or find a plugin of unknown quality).
Quote: Original post by Nypyren
There's no advantage to using a plain text editor over an IDE. You might be forced to develop stronger personal skills to make up for things that IDE users take for granted, but that's your advantage, not the tool's.


I would disagree if you consider text editors like emacs or vim to be "plain text editors". I find them more useful than any other IDE i've come across.

Text editors can also be useful when doing cross platform or multi language development. They allow you to keep the same keyboard shortcuts and environment for all your development work.

Some IDE's only work on one OS or with one Language. In that case I would consider a text editor to have an advantage over and IDE.

Cheers
Chris
CheersChris
I also grew up on IDEs -- many of the textbooks I used to learn programming assumed that the programmer used an IDE and as far as I knew, it was pretty much standard way to write programs. Then I put the effort into learning working on a terminal and using Vim and fell in love with this method of development almost instantly.

I'd say that "IDEs × text editors" is just a matter of personal preference -- I dislike graphical interfaces, other people adore them.
It's good to know both because a lot of languages do not have (good) IDES. For C++ work, I will use MSVC, but I also have Vim and make on my computer for the other languages I use: Haskell, Ocaml, Lex & Yacc, Perl etc. Basically, vim will highlight anything!

This topic is closed to new replies.

Advertisement