LinuxQuestions.org
Help answer threads with 0 replies.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Non-*NIX Forums > Programming
User Name
Password
Programming This forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.

Notices


Reply
  Search this Thread
Old 03-09-2007, 10:57 AM   #1
JMJ_coder
Member
 
Registered: Apr 2006
Distribution: Fedora
Posts: 478

Rep: Reputation: 30
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)?
 
Old 03-09-2007, 11:20 AM   #2
nadroj
Senior Member
 
Registered: Jan 2005
Location: Canada
Distribution: ubuntu
Posts: 2,539

Rep: Reputation: 60
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.

Last edited by nadroj; 03-09-2007 at 11:24 AM.
 
Old 03-09-2007, 02:46 PM   #3
taylor_venable
Member
 
Registered: Jun 2005
Location: Indiana, USA
Distribution: OpenBSD, Ubuntu
Posts: 892

Rep: Reputation: 43
"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.
 
Old 03-10-2007, 07:37 AM   #4
cygnus-x1
Member
 
Registered: Jul 2006
Location: Crisfield
Distribution: Slackware, CentOS, RedHat
Posts: 159

Rep: Reputation: 15
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.
 
Old 03-10-2007, 01:31 PM   #5
johnMG
Member
 
Registered: Jul 2003
Location: CT, USA
Distribution: Debian Sarge (server), Etch (work/home)
Posts: 601

Rep: Reputation: 32
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

Last edited by johnMG; 03-10-2007 at 01:37 PM.
 
Old 03-10-2007, 02:33 PM   #6
JMJ_coder
Member
 
Registered: Apr 2006
Distribution: Fedora
Posts: 478

Original Poster
Rep: Reputation: 30
Hello,

Quote:
Originally Posted by johnMG
some sort of code structure browser
What is this?
 
Old 03-10-2007, 03:17 PM   #7
JMJ_coder
Member
 
Registered: Apr 2006
Distribution: Fedora
Posts: 478

Original Poster
Rep: Reputation: 30
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?
 
Old 03-10-2007, 03:54 PM   #8
taylor_venable
Member
 
Registered: Jun 2005
Location: Indiana, USA
Distribution: OpenBSD, Ubuntu
Posts: 892

Rep: Reputation: 43
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.)
 
Old 03-12-2007, 03:10 PM   #9
johnMG
Member
 
Registered: Jul 2003
Location: CT, USA
Distribution: Debian Sarge (server), Etch (work/home)
Posts: 601

Rep: Reputation: 32
> > 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.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
What is the purpose of JBoss? HGeneAnthony Linux - Software 2 04-18-2006 07:58 PM
Purpose of HCL the_imax LQ Suggestions & Feedback 6 01-11-2005 05:31 AM
Purpose of some directories Menestrel Linux - Newbie 2 01-08-2005 05:47 AM
RH9 &9.0 Benq CDRW 4012a IDE + IDE CDROM - Install - how to cgtueno Linux - Hardware 6 05-30-2004 02:43 PM
how2 make the kernel scan both PCI IDE and Mboard IDE channels? carboncopy Slackware 1 07-23-2003 03:26 PM

LinuxQuestions.org > Forums > Non-*NIX Forums > Programming

All times are GMT -5. The time now is 04:04 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration