From: "Mike Silva" <mjsilva@jps.net>
Subject: Re: Why should hackers love Ada. (Re: Ada 95 based RTOS)
Date: 2000/02/25
Date: 2000-02-25T00:00:00+00:00 [thread overview]
Message-ID: <QjCt4.1407$dw3.83172@news.wenet.net> (raw)
In-Reply-To: 38B5C9E6.143A32D6@flash.net
Gary Scott wrote in message <38B5C9E6.143A32D6@flash.net>...
>Larry Kilgallen wrote:
>
>> 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.
>
>This is a good feature, but many other languages have similar features
(some very old like Jovial and PL/1).
>In other languages, my experience is that you simply define
pack/unpack/scale routines and write the main
>executive and high-level functionality in a high-level fashion (possibly
OO) and simply invoke these low-level
>"reformat" routines at the top and bottom of the frame (or as-required).
Then again, I'm also used to being
>able to embed assembly to gain access to an interval timer or generate an
interrupt right into the high-level
>language code.
It seems that you are challenging the group to prove that Ada is somehow
"the best" at "bit-twiddling". I suspect that the only claim that can be
made is that Ada has very good support for such things -- not only
bit-twiddling but also e.g. specification of data representations, tasking
and interrupt handling. Ada is simply a very nice general purpose language
that has everything you need for cuddling up to the hardware.
Mike
next prev parent reply other threads:[~2000-02-25 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 ` Ted Dennison
2000-02-25 0:00 ` Scott Ingram
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 ` Gary
2000-02-24 0:00 ` Gisle S�lensminde
2000-02-24 0:00 ` Marin D. Condic
2000-02-24 0:00 ` Larry Kilgallen
2000-02-25 0:00 ` Gary Scott
2000-02-25 0:00 ` Mike Silva [this message]
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-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-24 0:00 ` Ehud Lamm
2000-02-24 0:00 ` Ted Dennison
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox