comp.lang.ada
 help / color / mirror / Atom feed
* Ganssle plugs Ada
@ 2012-09-14 14:36 mjsilva
  2012-09-14 21:29 ` Shark8
  0 siblings, 1 reply; 3+ messages in thread
From: mjsilva @ 2012-09-14 14:36 UTC (permalink / raw)


Since nobody else seems to have mentioned this,

http://www.eetimes.com/electronics-blogs/break-points/4395816/Ada-2012?cid=NL_Embedded&Ecosystem=embedded

Of course some of the comments show as much ignorance and close-mindedness as ever.



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Ganssle plugs Ada
  2012-09-14 14:36 Ganssle plugs Ada mjsilva
@ 2012-09-14 21:29 ` Shark8
  2012-09-14 21:48   ` Simon Wright
  0 siblings, 1 reply; 3+ messages in thread
From: Shark8 @ 2012-09-14 21:29 UTC (permalink / raw)


Thanks for sharing that; it was a pretty good read.

I found some of the objections in the comments to be rather amusing; in particular this list [comments added]:

>1. Software that was not designed or specified right so that software implemented according to spec would not function correctly in the real world.

-- Granted; that's the problem with having an incorrect model. No language can help there.

> 2. Algorithmic errors. Poorly implemented algorithms. A sort that doesn't, for example.

-- No language can keep you from logic errors like ">" instead of ">=" -- Ada does help in this regard as much as it is able to by not cluttering the "operator namespaces" with similar symbols; this touches two of Ada's design goals: Readability & Maintainability.

> 3. Oversights of the metres vs feet variety, or poor calibration/filtering etc resulting in incorrect calculations.

-- Ada addresses this in as far as possible by disallowing different [numeric] types from freely interacting.

> 4. Timing/locking issues.

-- Ada spent lots of effort dealing with this; there's the Ada.Calendar package, the Duration type, and protected objects/methods which can severely cut down on race-conditions.

> 5. Incorrect hardware handling. For example using edge triggered instead of level triggered interrupts resulting in peripherals going to sleep and product failure.

-- I've not done a lot of low-level work... but I'm under the impression that Ada's interrupt handlers work perfectly fine.

> 6. Buffer overflows, poor pointer handling and the like.
>
> Ada can only address (6).

-- Nope, Ada addressed at least 2/3rds of that list.

> Valgrind etc can help to find (6) too when these turn up in C.

-- Ah, yes, 'help'.



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Ganssle plugs Ada
  2012-09-14 21:29 ` Shark8
@ 2012-09-14 21:48   ` Simon Wright
  0 siblings, 0 replies; 3+ messages in thread
From: Simon Wright @ 2012-09-14 21:48 UTC (permalink / raw)


Shark8 <onewingedshark@gmail.com> writes:

>> 5. Incorrect hardware handling. For example using edge triggered
>> instead of level triggered interrupts resulting in peripherals going
>> to sleep and product failure.
>
> -- I've not done a lot of low-level work... but I'm under the
> impression that Ada's interrupt handlers work perfectly fine.

As noted, the edge/level interrupt triggering is a hardware issue
(normally; could be configuration done by software), so no software
features are going to prevent the wrong choice.



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2012-09-21 13:20 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-09-14 14:36 Ganssle plugs Ada mjsilva
2012-09-14 21:29 ` Shark8
2012-09-14 21:48   ` Simon Wright

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