comp.lang.ada
 help / color / mirror / Atom feed
From: nobody@REPLAY.COM (Anonymous)
Subject: Re: Is this ground dead?  Also, info on Mach that's more recent
Date: 1998/01/19
Date: 1998-01-19T00:00:00+00:00	[thread overview]
Message-ID: <199801191517.QAA00894@basement.replay.com> (raw)
In-Reply-To: 69rdmb$j29$1@encore.ece.cmu.edu


<34AE2AE8.ED17B2C6@gildea.net>
<5lzpky66rq.fsf@tequila.systemsz.cs.yale.edu>
<69jr4q$44j$1@encore.ece.cmu.edu> <tgmEMy5z4.9vs@netcom.com>

On 17 Jan 1998 23:08:59 GMT, dacut@henry.ece.cmu.edu (David A. Cuthbert)
wrote:

> Thomas G. McWilliams <tgm@netcom.com> wrote:
> >David A. Cuthbert <dacut@henry.ece.cmu.edu> wrote:
> >: At any rate, relying on type safety for protection means that you
> >: can't use C, C++, or assembly, or anything written in those
> >: languages (so forget device drivers).  Assembly is the killer here;
> >
> >Have you used Ada?  Ada is type-safe and more powerful than C for
> >low level bit-twiddling. Ada is a natural for device drivers and
> >systems programming.
> 
> Used, no; glanced at code samples, yes.  My impression is that it
> looks rather neat (nicer than C++ in many respects), but I've invested
> too much into my C++ tools to even consider a switch.
> 
> I'm somewhat confused as to how Ada can be "natural" for device
> drivers and systems programming.  For example, how do I code a task
> switch or set up a DMA channel to a device in Ada?  Relying on a
> library written in anything but Ada doesn't count.
> 
> Of course, I have no idea how I'd do that in C or C++, either, without
> relying on nasty tricks like relying on assumptions about the
> compiler's code generation and purposely breaking the type system.
> 
> -- 
> David A. Cuthbert (dacut@ece.cmu.edu)
> Graduate Student    Electrical and Computer Engineering
> Data Storage Systems Center, Carnegie Mellon University
> 
> 

Sounds as if you should learn Ada. Ada has low-level features for
specifying where in memory variables reside and how they are
represented, which are missing from C/++, and is type safe and easier to
read than assembler.

Since tasking is part of Ada, one doesn't generally code task switches
explicitly in Ada. For other low-level operations, one generally does
not need to break the type system or rely on assumptions about the
compiler's code generation. Such operations are generally OS or hardware
dependent, so I do not exclude relying on the features of the OS or
hardware.

Jeff Carter  PGP:1024/440FBE21
My real e-mail address: ( carter @ innocon . com )
"English bed-wetting types."
Monty Python & the Holy Grail

Posted with Spam Hater - see
http://www.compulink.co.uk/~net-services/spam/




  parent reply	other threads:[~1998-01-19  0:00 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <34AE2AE8.ED17B2C6@gildea.net>
     [not found] ` <5l3eir6lvj.fsf@tequila.systemsz.cs.yale.edu>
     [not found]   ` <69j8u6$spl$1@encore.ece.cmu.edu>
     [not found]     ` <5lzpky66rq.fsf@tequila.systemsz.cs.yale.edu>
     [not found]       ` <69jr4q$44j$1@encore.ece.cmu.edu>
1998-01-17  0:00         ` Is this ground dead? Also, info on Mach that's more recent Thomas G. McWilliams
1998-01-17  0:00           ` David A. Cuthbert
1998-01-17  0:00             ` Robert Dewar
1998-01-19  0:00               ` vonhend
1998-01-19  0:00                 ` Robert Dewar
1998-01-19  0:00             ` Anonymous [this message]
1998-01-19  0:00               ` feladdress.peter
1998-01-19  0:00                 ` Robert Dewar
1998-01-20  0:00                 ` Christopher Browne
1998-01-20  0:00                 ` Is this ground dead? Also, info on Mach that's more rec Jerry van Dijk
1998-01-22  0:00                 ` Compile-time type checking Nick Roberts
replies disabled

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