views:

263

answers:

4

I'm doing a trade study for Ada development on Linux. Do you have any good compiler/OS recommendations?

So far, I've got GNAT from AdaCore running on CentOS 5.4, and I have license requests in for Rational Apex and Aonix ObjectAda.

This is a porting effort. The original codebase is Apex 3.0 on OSF1 4.0d.

Anything else I should be considering? Ideally, it would be a supported environment.

+3  A: 

There is always SPARK, but I believe its a specialized/subsetted version of the Ada language. You might want to contact SigAda or the Ada usenet group to see if there are any other ideas.

Honestly though, GNAT is a great tool set. You can use GNATBench, an Eclipse interface, or GPS, a light-weight GTK+ IDE, to interface with the GNAT tools.

Dr. Watson
Yes, GNAT is looking good so far. I'll take a look at SPARK, thanks.
Dave
You're right; SPARK is a subset or superset of Ada. Thanks, anyway.
Dave
SPARK is technically a unified software development and verification system that uses a subset of Ada as its working language.
Marc C
mmm... Spark can be considered a separate programming language in itself, so IMO it's not worth considering its toolset for porting your existing Ada project to another platform / compiler.I think Spark is great, but it's not ease to convert an existing Ada application into Spark ("sparkify" Ada code).
Santiago
+4  A: 

One issue you need to take into consideration is to determine to what degree your system that's being ported utilizes vendor-supplied packages to perform its function. What I've seen with older, large systems, especially Apex ones, is a propensity for the language gurus during its development time to have decided that vanilla Ada just wasn't good enough, and so tie into all these vendor-supplied packages. If that's what your system does right now, it's a strong argument for upgrading within the vendor and sticking with Apex (all other things being mostly equal).

Whenever I've done ports of such systems, if given the opportunity I've done my best to tear out all the vendor-supplied stuff--nine times out of ten replacing the vendor-specific stuff with vanilla Ada implementations worked just as well, and you no longer have to deal with the quirks of a compiler-specific package. Plus, you increase the portability and maintainability of the system, allowing it to better adapt to future changes.

Marc C
Thank you, this is excellent advice to consider. Excepting any worthwhile new compiler recommendations in the next few days, I'll mark this as the answer.
Dave
P.S I see by your profile you're in Alabama and you answer Ada questions. You've got to be in Hunstville, yes?
Dave
Got it in 1 :-) Want to outsource the port?
Marc C
Outsource? There's a reasonable chance we work for the same company :)
Dave
Not likely. There's only one guy named Dave in the company, and he goes by David. And, you would already know me :-)
Marc C
+1  A: 

Other compilers I am aware of are Green Hills AdaMULTI (for various RTOSes), and DDC-I's SCORE (also for various RTOSes)

T.E.D.
Yes, I found those, but there's no Linux support that I can see. That's surprising to me.
Dave
No real Windows support either, except for target simulators. Commodity OSes aren't their market, I don't think.
T.E.D.
+1  A: 

Providers of certified compilers that support Linux (in addition to those listed in the question):

Irvine Compiler Corp.

OC Systems

RR Software

Sofcheck

Dave