[interfacekit] Re: What makes a good IDE?

Have you ever used Borland C++ 5.x?  Not C++ Builder; the older line of
products.  This, in my mind, represents (minus a few editing gew-gaws)
the pinnacle of non-RAD IDEs.  The *only* thing I didn't like about the
environment was the binary project file.  This was well before using XML
for everything under the sun was the hep thing to do, so I can hardly
blame them. =)

In all honesty, it's been so long since I used BeIDE that I can't
remember the catalog of stuff I disliked about it.  What I do know is
that almost immediately after starting to code for BeOS, I moved to
using Eddie and makefiles (which I do *not* care for).  Not long after
that, Be started providing their whole makefile-engine thing and I moved
to that.

I also use CodeWarrior for PalmOS *daily*.  While the environment is a
big improvement over the BeIDE version of CodeWarrior, project
management can be a real pain in the rear.  It nevers gets to be *too*
bad, simply because Palm projects are by nature small.  Using the tool
to manage something as big as Deco (my main BeOS project prior to
OpenBeOS, which happens to be a development environment) would be
completely out of the question -- the project manager just doesn't have
what it takes.  And Deco is small compared to what we're doing (a
thought which frightens me).

In short, BeIDE is fine for managing small to medium projects (ignoring
any other complaints I might have about it, but can't recall), but
totally out of its depth on anything large scale.

To answer the question posed by the subject, a good IDE should provide a
great editor (which is a lengthy subject all its own) and a project
manager which is capable of handling large scale projects which are
composed of numerous sub-projects which are quite large in and of
themselves.  It should be simple to navigate the entire source tree of
your project in a hierarchical manner, which (in most cases) is going to
reflect the directory structure on disk.  Changing options for the
top-level project, sub-projects and individual files should be simple
and intuitive.  When you want to tweak some obscure, low-level attribute
of a single file, it should be easy to find the appropriate dialog,
without having it in your face at all times.  Tabbed dialogs are great
for a lot of things, but I've seen a lot of users get confused by them
in IDEs.  Sometimes it's just better to have an "Advanced" button which
brings up the next level of propeller-headed goodness. =)

So, really, BeIDE falls down for me on both of these counts.  I don't
like the editor -- the highlighting is pathetically simplified and there
aren't enough "goodies" which make editting easier -- and the project
manager is really *weak* (which is the part that is important for us). 
If an IDE hasn't got those things covered right, pretty much anything
else it does really doesn't matter.  I seriously loved the tabbed editor
in C++Builder, but the wimpy project manager (inherited from Delphi,
where apparently no one does any large scale development) just drove me
nuts!  I always felt that if Borland dropped the BC5 project manager
into C++Builder, no one in their right mind would use anything else to
develop for Windows.

Rant, rant, rant. =P

e

DarkWyrm wrote:
> 
> I remember a while a ago our discussion about JAM, make, BeIDE, and so forth,
> and I was wondering what makes BeIDE so bad that we don't want to use it. Not
> that I don't support what we're doing - I just was curious.
> 
> --DW

Other related posts: