LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Programming (https://www.linuxquestions.org/questions/programming-9/)
-   -   Purpose of IDE (https://www.linuxquestions.org/questions/programming-9/purpose-of-ide-536023/)

JMJ_coder 03-09-2007 10:57 AM

Purpose of IDE
 
Hello,

What is the purpose of using an IDE? And what benefits does it have? Why not just use VIM, gcc, and dbg (and similar tools)?

nadroj 03-09-2007 11:20 AM

the purpose of an IDE is just that--an Integrated Development Environment. its purpose is to make tasks quicker and centralized, basically.

why use vim when you can use 'echo mycode > file.c'? because vim is specialized for the specific task of text editing and is much easier than using echo >/>> each time you want to write something. IDEs try to make everything simple by allowing you to view, edit, debug, and compile code in one interface.

one downside to IDEs i have found (or at least popular ones such as Visual Studio .NET and Eclipse, which are both excellent by the way) is the extra garbage it creates. by garbage i mean all the extra files and folders. for example, a simple hello world c++ program written in Visual Studio .NET would be a few megabyte, with the .cpp file being 1kb.

at school i use a command window and the history (2 commands--cc, ./filename), and a GUI text editor. we have eclipse installed on our unix terminals at school but due to the incredible load of the servers, it freezes often so its quickest to use a simple editor and command window for compiling.

this is my opinion.

if you find using the command line-based tools is working smoothly and efficiently for you then i wouldnt see a need to use an IDE.

taylor_venable 03-09-2007 02:46 PM

"IDE" is such a loose terminology. If you're using some of Vim's external-integration features, like the :make command and :cn and :cl to step through compiler errors, you're using an IDE in some sense. As such, I consider the differentiation between a sufficiently advanced editor (Vim, Emacs, jEdit, but not Notepad or the like) and an IDE completely irrelevant and a matter only of what words you prefer to use.

That said, the software that most people consider IDEs (Eclipse, JBuilder, Visual Studio) I consider bloatware. They eat resources and produce worthless extraneous files and features, and they over-complicate the already difficult task of programming. You'd be better off understanding your code, how its inter-related, and how to build it manually than to rely on some magical tool. In my opinion, of course. :) I'm sure my myriads of professors who have insisted on JBuilder and Eclipse for everything would disagree.

So my advice is, use the integrating features of your particular favorite editor, be it Vim or Emacs or what-have-you, to interact with the standard CLI tools you need, like make or gdb or ant. That way you will understand what's happening "under the hood" with your project, and have the full flexibility of the underlying tools at hand, but still be able to work quickly from within one environment. Of course, I believe in Emacs, but Vim works very well right out of the box as well, you've just got to learn the editor's features.

cygnus-x1 03-10-2007 07:37 AM

taylor speaks the truth here. Too many people think you have to use a behemoth IDE like eclipse or together for everything. These IDE's have a strong points but like most tools they are not good at everything and they try and hide from you what is actually going on (which I hate). I don't mind using Eclipse for code writing, denugging and testing but as a build/deployment platform I disagree. Build and deployment should be handled separately and be standardized across the development group ideally with a CM group involved depending on the size of the group.

Many mega-IDEs do create garbage and can try and enforce certain structures beneath them which may or may not conflict with a good CM process/structure.

Personally I believe you should use th ebest tool for the job and one that you feel comfortable with. I have been using emacs for 9 years. I am still no expert at it but I use it strictly for editing and it allows me to edit fast. I use ant for our build and deployment scripts.

johnMG 03-10-2007 01:31 PM

The purpose of an IDE is to tie together various programming tools with GUI widgets to make it easier for some folks to use those tools.

If you're comfortable with the various command line tools (editor, debugger, some sort of code structure browser), then an IDE will be of no use to you.

Best bet is to start with an editor (I recommend GNU Emacs), then learn the command line tools as you need them, *then* try an IDE if you want.

Using an IDE on day one may not serve you best in the long run.

Here's my notes on Emacs, which might help you get started quickly: http://www.milliwatt-software.com/jmg/notes/emacs.html

JMJ_coder 03-10-2007 02:33 PM

Hello,

Quote:

Originally Posted by johnMG
some sort of code structure browser

What is this?

JMJ_coder 03-10-2007 03:17 PM

Hello,

I have seen in the past various stories of people turning VIM into and IDE. That intrigues me (as I like VIM) and I wonder if that is possible, and how?

taylor_venable 03-10-2007 03:54 PM

Quote:

Originally Posted by JMJ_coder
I have seen in the past various stories of people turning VIM into and IDE. That intrigues me (as I like VIM) and I wonder if that is possible, and how?

For myself, when I was playing around with Vim recently, it meant learning to set the environment correctly based on the current filetype, and using the Project and TagList plugins. There's some info on my website, as well as a screenshot of the "final result" and my vimrc file.

http://www.metasyntax.net/?section=u...e=software#vim
http://www.metasyntax.net/unix/vimrc.html

While it's not a complete environment by any standards (maybe you want to use the new omni-completion features or what-not), it should get you started to grab these two plugins and start playing around. A bit of a warning: I had some trouble with the latest version of TagList in Vim 7.0 -- if you get errors, try using the next-to-latest version instead. (Might have just been my configuration though, I'm not sure.)

johnMG 03-12-2007 03:10 PM

> > some sort of code structure browser
>
> What is this?

Well, for larger codebases, it can be useful to run programs that help you learn your way around. It can be something like Exuberant Ctags that lets you quickly navigate code while in your editor, or maybe it could be something that'll draw a function call tree for you. There's all sorts of little tools out there to help you visualize your code. You can seek them out and use them, or you can look for an IDE to provide that sort of functionality.


All times are GMT -5. The time now is 09:25 AM.