Thinking of Ada
Not just for things that go 'bang'
You’re not designing software for an aeroplane, so what does a bug or two matter between friends, eh?
There are many who should be forgiven for assuming that this is the standard mantra of software developers. Bugs in applications happen, and continue to happen, and the world does keep turning. But as applications have become more significant in businesses, especially for companies that increasingly live and die by the web, a bug can be every bit as fatal as one that shuts down the engines at 38,000 feet.
Web-based operations are just one type of business where the reliability of software is fast becoming central to their survival and where the "it’s only a bug", attitude should now be the equivalent of “it’s only bird flu, I expect I’ll live”.
So AdaCore's launch of the latest version of GNAT Pro, v5.04, is perhaps timely. The launch itself is hardly earth-shattering stuff, for GNAT is just an open-source Ada applications development environment. And Ada, of course, is an old and rather esoteric language developed specifically for US military applications.
In its latest incarnation, Ada 2005, still holds on to the fundamental goal of producing highly reliable applications. And while the defence marketplace is still its primary target, there could well be some mileage in developers looking at the language for the truly `mission critical’ applications that are now becoming common.
The 2005 version introduced enhancements that make Ada far more compatible with web-based applications and environments, particularly in terms of interoperability with Java and C++. This should now allow developers to exploit its reliability and capabilities, such as its safe, high level memory management, and some compile-time and run-time checks that are designed to help avoid bugs like buffer overflows or access to unallocated memory.
Other factors that help Ada ensure its reliability are its standardisation by ISO, and the fact that this means upgrades to the language only occur in a controlled fashion – and not very often. This may seem heretical in a world where software vendors assume they must be dead if not upgrading all the time, but in the cause of applications reliability, it may not be such a bad idea. The new version of GNAT Pro incorporates enhancements to the installation process, as well as new features such as options for stack usage analysis and a tool that can be used to enforce project-specific rules. It comes with a full Ada compiler, an IDE, and a toolset that includes a visual debugger and a set of supplemental libraries and bindings. It is also available to run on the latest 64-bit platforms such as SGI’s Altix servers and HP’s Integrity servers.®