From: mfb@mbunix.mitre.org (Michael F Brenner)
Subject: Re: Ada - State of the art tools... lacking
Date: 1997/12/29
Date: 1997-12-29T00:00:00+00:00 [thread overview]
Message-ID: <688998$avn@top.mitre.org> (raw)
In-Reply-To: 34A74195.46994669@srv.net
> ... although Ada is by far the best language for developing large
> and complex systems for multiple platforms do so is FAR FROM
> AUTOMATIC. Things to watch out for are compiler/platform
> specific pragmas, representation clauses (legal boundries and
> element sizes), and various and sundry semantic interpretation
> differences.
If anyone is making a list of things to watch out for, the following
have bitten me this year:
(1) differences in system.storage_size,
(2) differences in ordinary operating system functions such as
renaming files, getting directory lists, getting the current
tick of the clock, accessing virtual versus absolute memory,
how to set the environmental variables, how to spawn an
Ada program as a separate operating system process, etc.
(3) differences in the way you address different disk drives and
specifically the lack of ability to use URLs to address
different disk drives the way IE and Netscape and Mosaic do,
(4) differences in the way you access the exact unparsed command line
from which the user invoked yourself,
(5) differences in the way you convert a machine address into
an integer type,
(6) differences in the way interrupts are handled: how to enable or
disable interrupts, how to read or set interrupt vectors,
how to go into supervisor (root, protected, etc.) mode,
how to do a callback, how to put a wrapper around a function
that will be called by an interrupt handler, how to chain
interrupts, how to attach an Ada interrupt handler to an
interrupt number, how to restore the previous interrupt
handler, how to tickle a port,
(7) differences in the way you extract bytes from integers,
for example, if you wish to get the third byte (the
byte next to the high-order byte) of a four-byte integer,
(8) differences in the way assertions are implemented as a
procedure or an optional pragma,
(9) differences in whether code is generated for unchecked
conversion in each given case (i.e. when code is generated
the procedure has to be rewritten a different way to
avoid making the extra copy of large data structures),
(10) whether things exist like long_float,
(11) gross differences in the way stream_io works on various
current implementations of gnat with regard to whether
extra carriage returns or line feeds are generated,
how to determine end of a binary file, how to connect
to pipelines in DOS and Unix, and how to use the built-in
random access in stream_io to actually do random access
on your piped input file.
(12) whether one can link a package or a procedure in a package
as the main program versus just being able to link a
library level procedure as a main program,
(13) availability of the annexes.
Mike Brenner mikeb@mitre.org
next prev parent reply other threads:[~1997-12-29 0:00 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <01bd102d$fcfbb910$652da8c0@steved_home>
1997-12-24 0:00 ` Ada - State of the art tools... lacking Robert Dewar
[not found] ` <01bd108a$12194860$baeb649b@freeman>
1997-12-24 0:00 ` Robert Dewar
1997-12-27 0:00 ` Steved
1997-12-28 0:00 ` Paul Whittington
1997-12-29 0:00 ` Michael F Brenner [this message]
1997-12-30 0:00 ` Jean-Pierre Rosen
1997-12-31 0:00 ` Paul Whittington
1997-12-24 0:00 ` Jon S Anthony
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox