On Thursday, August 5, 2010 at 9:51, Frank Heckenbach wrote:
The section is a bit brief.
A more complete discussion of Ada for programmers experienced with other languages is here:
http://www.adaic.org/docs/distilled/adadistilled.pdf
This may prove helpful in understanding features, although again it is based on the older 1995 Ada revision.
The current (2005) Ada Language Reference Manual is available here:
http://www.adaic.com/standards/ada05.html
...although the LRM is a precise description of the language and is less accessible than a tutorial (though it is far more readable than ISO 10206!).
Can it also be used, say, to convert any data type to an "array of char" (in C/Pascal notation) and back, to do "untyped memory block" operations?
There are no untyped values in Ada :-), but it can convert to an equivalent array of bytes or words, for example. Basically, Unchecked_Conversion can convert idempotently between any two objects of the same size, and will convert with implementation-defined results between objects of differing sizes.
Adriaan van Os wrote:
But there is no such thing like Objective-Ada, is there ? That would be a clear disadvantage of Ada as an intermediate language.
There's no such thing, because Ada has had OOP features (inheritance, polymorphism, abstract procedures and functions, dynamic dispatching) since the 1995 revision.
As he mentioned before, Ada's "tagged records" seem to correspond to objects (though I haven't compared in detail).
The examples in Section 9 of "Ada Distilled" may help to clarify this.
-- Dave