SpanglefishDMS Consulting | sitemap | log in

Why Java

Developing with Java

Java is an ideal language for the fast development of software. It is object orientated, portable, has excellent documentation and tutorials and has plenty of example codes available on the web. The Eclipse IDE provides a superb development environment. Written in Java, it is available on a range of workstations and associated operating systems. Eclipse comes with extensive plug-in construction toolkits and examples. More information is available at
Java provides a comprehensive and portable access to operating systems and hence the computers hardware. It is easy to access disk files and data bases, parallel and serial ports, sockets and bluetooth, graphics and audio files, html and xml, as well as hubs, switches and other systems.

Using Java

Graphical User Interface

One of the main advantages of Java is the GUI software Swing. Swings makes developing GUIs easy. Comparisons between using X11 or Windows and Swing has shown Swing requires about one tenth the code. The bonus is the resulting software is both easy to maintain and is portable.
GUI examples

Multi Tasking

Java has built-in threads that make it easy to launch and control multiple tasks. Using standardised subroutines, access to disks, networks and other tasks can be asynchronous, greatly improving performance.


Java can access databases using the JDBC interface. Databases such as Access, Oracle and the open source MySQL all have a JDBC interface. Access to the database is usually done with SQL that is fine for most simple applications. MySQL allows Java to setup and use stored procedures. This gives much better performance to complex applications. More information is available at

Native Language Interface

Java has an impressive list of classes available for software development but, especially when testing and evaluation new hardware, it is sometimes necessary to add low level drivers. A good example of this is tape drives. Unix has routines access to tape drives while Windows is limited to SCSI. Writing drivers in 'C' to access tapes is relatively easy and the Java native language interface (JNI) provides the connection to Java. Java can then be used to write the test and evaluation software.

Mobile Devices

What makes Java even more versatile is the development of J2ME. This is a version of Java especially for mobile devices such as PDAs and mobile phones. The base classes are almost identical and access to memory based file systems, bluetooth and other mobile specific functions is provides by additional packages (JSRs). Plugins are available for Eclipse, together with, emulators that allow programs to be developed and tested on the workstation. Communication between the mobile device and a pc is easy using USB, bluetooth or wireless. The mobile device can then have access to designated pc data.


WikanikoWork from Home