Integrated Development Environments

Steven J Zeil

Last modified: Mar 4, 2018
Contents:

Abstract

Integrated Develop Environments (IDEs) are software packages that attempt to provide comprehensive support for coding, testing, and debugging

In this lesson we discuss the minimum expectations we have for an IDE. We also look at some of the optional but desirable features we would like to see.

We will survey some common popular IDEs and comment briefly on the features they provide, before settling down upon Eclipse, the IDE that will be used throughout the remainder of this course.

1 The Components of an IDE

What’s the minimum that we expect in an IDE?


The Components of an IDE (optional)

What would we like to see in an IDE?


The Components of an IDE (deluxe)

What makes us positively giddy when we see it in an IDE?

2 IDE Examples

2.1 emacs

The *nix swiss army knife of editors, emacs has long functioned as a basic IDE:

References, if you are unfamiliar with this:

2.1.1 emacs Strengths and Weaknesses

2.2 Microsoft Visual

Visual Studio

2.2.1 Visual Strengths and Weaknesses

I’ve never been fond of Visual, but that comes more from my opinion of the MS compilers. MS C++ had recurring issues with basic standards conformance and std library implementation. And MS’s support of Java was perpetually luke-warm.

2.3 NetBeans

Free IDE originally distributed by Sun as “the” development platform for Java.

Netbeans and Visual clearly stole interface ideas from one another.

(Then Eclipse came along and stole from them both. Nowadays it’s pretty clear that they are all very much aware of anything resembling an innovation by one of the others.)

I have not used NetBeans in a long time. I remember it as being incredibly sluggish even on reasonably high-powered desktops.

My enduring impression is that Eclipse seemed to do everything NetBeans wanted to do, did it about 6 months later, but did it better.

2.4 Single-Language IDEs

The open source community has produced numerous single-language IDEs.

Many are focused on educational use.

Examples:

C++
Bloodshed Dev-C++, Code::Blocks
Java
BlueJ, Dr. Java, jGrasp

3 Eclipse

Probably the hottest IDE in the open source world:

Eclipse is available here.

3.1 Availability