comp.lang.ada
 help / color / mirror / Atom feed
From: kilgallen@eisner.decus.org (Larry Kilgallen)
Subject: Re: Why should hackers love Ada. (Re: Ada 95 based RTOS)
Date: 2000/02/24
Date: 2000-02-24T00:00:00+00:00	[thread overview]
Message-ID: <2000Feb24.122253.1@eisner> (raw)
In-Reply-To: 38B55928.8A0EAB06@quadruscorp.com

In article <38B55928.8A0EAB06@quadruscorp.com>, "Marin D. Condic" <mcondic-nospam@quadruscorp.com> writes:
> Gary wrote:
>> I see this reference to ADA being good at bit twiddling, periodically.
>> Virtually all high-level languages provide facilities for bit twiddling.  Is
>> there something unique about ADA (I'm a non-ADA programmers, sorry).  Is this
>> a reference to a transfer function (other languages have this) or memory
>> aliasing tricks?
> 
> Well, I don't know what the rest of the world means by "bit twiddling"
> but I know what *I* mean when I say that. ;-)
> 
> You have all the facilities you need in Ada (Ada95 - Ada83 didn't do
> this well) to do shifting, masking & other manipulations of individual
> bits within words. If you've ever had to do interfacing to low level
> devices, hardware registers, I/O ports, etc., then you know that you
> can't always deal with data as an "abstraction" where you can allow the
> compiler to pick whatever representations it wants and manipulate things
> any way it likes. Often I have been up against time constraints where
> even if a high level method of solving the problem may work fine, we
> dipped into bit masks and logical operators because they degenerated to
> much more efficient code.
> 
> Ada95 lets you get at things like this when you need to. The difference
> between Ada and C on this issue is that with Ada it is a "last resort"
> whereas with C it is a "way of life". (Look at how lots of bindings to C
> stuff includes numeric constants for specifying options by or'ing
> together the constants. While Ada can do that, it isn't the usual
> idiom.)

I think a major advantage of Ada is that it lets the programmer deal
at a higher level for the main body of the program, while only the
interface description contains the specification that bits 2-4 are
treated as a numeric field for the unit number.  The compiler aids
and enforces adherence to that specification without requiring the
programmer to be constantly thinking about it and getting it right.




  reply	other threads:[~2000-02-24  0:00 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-02-18  0:00 Ada 95 based RTOS xaplos
2000-02-18  0:00 ` Tucker Taft
2000-02-21  0:00   ` xaplos
2000-02-22  0:00     ` Matthew Majka
2000-02-22  0:00       ` xaplos
2000-02-22  0:00         ` Ted Dennison
2000-02-22  0:00           ` xaplos
2000-02-23  0:00             ` Roger Racine
2000-02-24  0:00               ` Simon Wright
2000-02-24  0:00                 ` Robert Dewar
2000-02-25  0:00             ` Mike Silva
2000-02-26  0:00               ` xaplos
2000-02-22  0:00         ` Stanley R. Allen
2000-02-22  0:00         ` Marin D. Condic
2000-02-23  0:00         ` Tarjei T. Jensen
2000-02-23  0:00           ` Gautier
2000-02-23  0:00             ` Ehud Lamm
2000-02-23  0:00               ` Why should hackers love Ada. (Re: Ada 95 based RTOS) Marin D. Condic
2000-02-23  0:00                 ` Vladimir Olensky
2000-02-23  0:00                   ` Gautier
2000-02-24  0:00                     ` Ehud Lamm
2000-02-24  0:00                   ` David C. Hoos, Sr.
2000-02-24  0:00                     ` Vladimir Olensky
2000-02-23  0:00                 ` Gary
2000-02-24  0:00                   ` Gisle S�lensminde
2000-02-24  0:00                   ` Marin D. Condic
2000-02-24  0:00                     ` Larry Kilgallen [this message]
2000-02-25  0:00                       ` Gary Scott
2000-02-25  0:00                         ` Mike Silva
2000-02-26  0:00                           ` Gary Scott
2000-02-25  0:00                         ` Marin D. Condic
2000-02-25  0:00                           ` Gary
2000-02-26  0:00                       ` Robert Dewar
2000-02-26  0:00                         ` Gary Scott
2000-03-07  0:00                           ` Mike Dimmick
2000-03-10  0:00                             ` Wil
2000-03-10  0:00                               ` Ada OS again " David Starner
2000-03-11  0:00                               ` David Botton
2000-02-24  0:00                 ` Ehud Lamm
2000-02-24  0:00                   ` Ted Dennison
2000-02-23  0:00           ` Ada 95 based RTOS Ted Dennison
2000-02-25  0:00             ` Scott Ingram
replies disabled

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