Integrated Development
Environments
(IDES)

Dr Andy Evans

[Fullscreen]

Tooling Up

  • When you do real programming, it's unlikely you'll do it with Notepad++ and the command line compiler.
  • You'll probably use an Integrated Development Environment (IDE).
  • These make your life easier.
  • They take a little time to learn to use, but are worth the investment.

What do IDEs do?

  • Usually have Syntax colouring (e.g. will colour keywords, strings, method names etc.) and line numbers, like Notepad++.
  • Push-button formatting.
  • Usually have one-push compiling and running.
  • Usually have run-time debugging - stops when your code breaks, shows you where, and tells you the problem. Usually have a facility for stepping through code one line at a time, and watching how variables change. Some will highlight errors as you type.
  • Often have "auto-complete" drop down lists - you type an Object's name, and they give drop-down lists of the potential methods.
  • Linking to other people's code.

Other Functions

  • Rapid Application Development (RAD)
    • The software lets you draw user interfaces and writes the code for you. It may or may not then let you alter that code.
  • Computer Aided Software Engineering (CASE) Tools
    • CASE tools help structure the development process. They may contain facilities for generating UML, converting UML into code, and for seeing which classes are dependent on each other.
    • UML - a way of drawing code - we'll come back to this.
  • Profilers/Refactoring tools
    • Show unused code and speed bottlenecks.
    • Allow quick altering of multiple files.

Other Functions

  • Build scripting
    • Software that reads scripts that compile your code into different forms.
  • Version and repository control
    • Links to online repositories that store code and maintain different versions you can roll-back to.
  • Native compilation
    • Compilation to executables that don't rely on the JVM, or wrappers for code to install and run the JVM when appropriate.

Popular Java IDEs

Free:

  • Netbeans (Oracle)
  • Eclipse (IBM)
  • JDeveloper (Oracle; originally based on JBuilder; specifically for Enterprise development)
  • BlueJ (Kent Uni; Basic beginners IDE)

 

Commercial:

  • IntelliJ IDEA (JetBrains; there is a free stripped-down 'community' version)
  • JBuilder (Was Borland, now Embarcadero)

Netbeans

Big advantage of being built by Oracle, therefore well tied to Java.

Written in Java, so developers can use it as the foundation for other software and build plugins for it in Java.

Eclipse

Lots of plugins for major pieces of software (e.g. ArcGIS).

Conclusions

Find what best suits your practice.

But have a go at both Netbeans and Eclipse so you can operate in both.

Don't forget the command line and Notepad++ for quick jobs / lowest common denominator backtrack and old skool retro fun.