Development Environments, sometimes called a Software Development Environment (SDE) or Integrated Development Environment (IDE 1) are a key feature for most development groups. All hardware manufacturers have either developed their proprietary environment or developed a relationship with an SDE or IDE vendor. Even Microsoft, mainly a software creator, has developed Microsoft Visual Studios for developing software in multiple software languages. Many Development Environments (DEs) have templates that make developing code for certain platforms and languages easier. Code in DEs can be developed in either to-be-compiled languages or in scripted languages usually executed from command prompts (If you are familiar with UNIX (LINUX) commands, then this is fairly easy).
Shell Scripts Environments
For most of my shell script development on my Windows 10 system, I use Cygwin. Cygwin is an environment that uses the Borne Again Shell (BASH) to execute UNIX/LINUX shell commands. It is a mostly complete environment, but does lack some of the task scheduling characteristics of a full LINUX system or Windows 10.
Software Development Environment
The SDE term was usually used for Development Environments developed for UNIX
systems. For example, at Hewlett-Packard we developed SoftBench to help developers on HP-UX. We did port it to Solaris so that developers could use SoftBench as their development environment on both systems. An excellent paper describing SoftBench was written by Deborah A. Lienhart. SofBench used Motif on HP-UX to created wrappers for command line tools, as well as creating tools that used the full features of Motif, to integrate into the X Window system.
These tools communicated by the Broadcast Message Server (BMS) by sending out standard commands to a specified tool class. Integration was done through the Encapsulator, which allowed developers to substitute other tools for the standard SoftBench tools or add new tools to the environment. For substituting a tool for an existing tool, it just required the new tool to understand the TOOL/COMMAND/data format of each message and respond to it correctly. New tools could be added to the environment by defining the acceptable TOOL/COMMAND/data commands and publicizing those commands so that others could use the added tools. We worked with several venders to provide their tools instead of the standard SoftBench tools for code development. Some of the first integrations were from Configuration Management companies. these were tightly integrated with the BUILD tool so that the developer could specify which version of the project/too/executable could be built and the BUILD tool would gather the proper files from the CM tool to build the desired version. Stephen A. Williams wrote a paper about Using SoftBench to Integrate Heterogeneous Software Development Environments
I did go to Sweden to train engineers on how to use the Encapsulator to build an integrated tool set. The most interesting project that came from this was the Zurich Air Traffic control system. They used the BMS to track planes and other objects (like buses and trucks on the taxi-ways and near the runways). They used very few of the original tools, but loved the way they could exchange information about each object. The group wanted to port the project to the Stockholm airport, but the coding had been done so specifically for the Zurich airport that it would not be easy to port. By this time I had been moved to the Ignite-UX project or I would have loved to work with them to make their code more generic so that it could be ported to other airports. However, because of politics HP was downplaying this environment by 2002 so the porting did not happen. The last I heard was the airport finally had to go to a different system for lack of maintenance of this product. Too bad.
Integrated Development Environment
Microsoft Visual Studio
IntelliJ Idea is a Development Environment created by JetBrains. The Interface is divided into four parts:
- Menu Bar along top
- Project Directory in the middle on the left
- Code Pane on the right>/li>
- Compilation and output pane across the bottom
Creating a New Project
New Projects can be created from either existing source or from a template. We will use a default emplate in this example.
- On the Menu Bar select File:New > Project…
- A New Project… dialog box will appear.
- Make sure Java is selected in the left column.
- For the Project SDK: select the Java Development Kit (1.8 or 1.10) which is found under the Java Program Application directory. For Windows: c:\Program Files\Java
- No library needs to be selected for basic Java programs.
- Click the button.
- On the Create from Template window, use the defaults and click the button.
- Choose your Program name: wisely. For this example, I chose Methods
- The default Project directory is on the following line. Make sure it points to the desired location
- Click the button.
- If you are working on a Project already, a new dialog box opens with the choices . Choose wisely.
- After this choice, the dialog box goes away and leaves the main window. The center section has not loaded any code and has other information which we will cover later.
- Click on Project▼ in the left pane, it will display your project name (Methods).
- Click ►📁methods to change to ▼📁methods to show 📁src directory.
- Click on the 📁src directory and press button type=”button”>Altbutton type=”button”>Insert to bring up a new list.
- Select ©Java Class from the list.
- In the dialog box, type in your class name. It is best if it is the same as the file name. In this example it is Methods.
- Keep the Kind: as ©Class and click
You now have a Java file with the public class Methods. To add the required main() method within the new class, type “psvm” to create a “public static void main(String args) method.
Single Language IDEs’s
There are also some single language environments that are available. Sun Microsystems developed NetBeans for their Java environment, while IDLE was developed for Python. Both are single language development environments and are fairly well documented by their developers. I will only be covering multi-language IDS’s in this article.
1 Unfortunately, like most TLAs, IDE can also represent the International Development Enterprises. This is a great organization that helps small business owners in developing countries.