comp.lang.ada
 help / color / mirror / Atom feed
From: george.priv@gmail.com
Subject: Re: GNAT Pro for .NET
Date: Sat, 29 Nov 2008 12:07:20 -0800 (PST)
Date: 2008-11-29T12:07:20-08:00	[thread overview]
Message-ID: <88f8447f-50c9-447a-a5e7-fce3c643030f@v15g2000yqn.googlegroups.com> (raw)
In-Reply-To: kz6Xk.1141$%M6.591@newsfe13.iad

On Nov 26, 2:05 am, Brad Moore <brad.mo...@shaw.ca> wrote:
> george.p...@gmail.com wrote:
> > Wonder if anyone has any experience with Ada .NET?  How well it is
> > integrated and what are the major issues you had with it?
>
> I've been involved in a port of a number-crunching system originally
> written in Ada 83 from a different compiler vendor running on Unix, to
> Gnat on Windows in Ada 95, and then most recently to .NET in Ada 2005
> using Gnat Pro for .NET. I say port, but for the most part it was simply
> a matter of setting the compiler switches for Ada 95, and Ada 2005,
> and recompiling, though we have been introducing new language features
> during maintenance of the system.
>
> The original system features several tasks with rendezvous, and heavy
> use of the Ada math libraries. There is no GUI involved.
>
> My experiences from these ports are;
>
> Port 1) Ada 83 SCO Unix (non-Gnat vendor) to Win32 Gnat in Ada 95
>
> - Issues relating to compiler vendor switch:
>      None come to mind
>
> _ Issues relating to language switch, Ada 83 - Ada 95
>     1)  We had a generic protected queue, which had used the Ada 95
>         reserved word "protected" in its variable names. We had to
>         change the name of the variables to something else.
>         (A very trivial change)
>     2)  The generic would accept an unconstrained type as a formal
>         parameter. In Ada 95, we had to add the box notation to the
>         formal paramter.
>
>         eg. Instead of;
>
>         generic
>               type Element_Type is private;
>         package P is
>
> we had to write;
>         generic
>               type Element_Type (<>) is private;
>         package P is
> ...
>        Another very trivial change.
>
>      3) We had used passive tasks in a couple of places. In Ada 95, we
>         replaced these library units with protected types.
>         This was a bit more work, but the end result was satisfying and
>         a better result.
>
> - Issues relating to operating system switch: Unix to Windows
>      This was probably the biggest impact, though we had isolated OS
>      routines, so changes were quite localized. The biggest challenge
>      was finding a replacement for Unix's memory mapped array feature,
>      which Windows didn't seem to have matching support for.
>
> - Issues relating to change from services being invoked by CORBA to
>    interface accessed via a DLL.
>     The use of the Interfaces.C library routines was very helpful.
>     To invoke the DLL from .NET, a .NET wrapper was needed to complete
>     the interface.
>
> -------------------------------------------------
>
> Port 2: Ada 95 Windows to Ada 2005 .NET
>
> - Issues relating to the language switch. (Ada 95 to Ada 2005)
>     None: Or at least I don't recall there being any.
>     We have now incorporated new language features including interfaces,
>     Ada.Directories, containers, object prefix notation, to name a few.
>     These mostly come as enhancements needed for maintenance, and are
>     unrelated to the actual port.
>
> - Issues going from win32 to .NET
>     For the most part we didn't need to make any significant code
>     changes. There are a few libraries that weren't implemented in .NET
>     Ada. The ones that
>     come to mind are Ada.Direct_IO and Ada.Directories I believe, though
>     there are other libraries that come with Gnat that provided suitable
>     workarounds. There may have been some other minor issues, but we
>     found workarounds for everything. The application runs well in .NET.
>     We no longer needed the .NET wrapper around our DLL, which simplified
>     things. We had to get rid of our Interfaces.C pragmas and replace
>     with similar vendor specific pragmas for interfacing to .NET.
>     I believe the full list of issues/differences between .NET Gnat Pro
>     and Windows Gnat Pro can be obtained from Adacore.
>
> Regards,
> Brad Moore

Thanks for the info. I played a little with free version but seems
that it has some issues.  Maybe it's just lack of documentation.  I am
considering investing in Gnat Pro next year, so it is nice to know in
advance.

Regards,

George Privalov.



      reply	other threads:[~2008-11-29 20:07 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-11-22 19:51 GNAT Pro for .NET george.priv
2008-11-23 16:36 ` Rob Veenker
2008-11-24 15:44   ` george.priv
2008-11-24 23:07     ` Rob Veenker
2008-11-28  4:20       ` george.priv
2008-11-30 11:40         ` Rob Veenker
2008-11-26  7:05 ` Brad Moore
2008-11-29 20:07   ` george.priv [this message]
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox