comp.lang.ada
 help / color / mirror / Atom feed
From: Georg Bauhaus <rm-host.bauhaus@maps.arcor.de>
Subject: Re: Help with embedded hardware/software platform selection for ADA
Date: 03 Jul 2013 20:50:15 GMT
Date: 2013-07-03T22:50:15+02:00	[thread overview]
Message-ID: <1847309061394574355.897602rm-host.bauhaus-maps.arcor.de@news.arcor.de> (raw)
In-Reply-To: kr1tf7$a58$1@loke.gir.dk

"Randy Brukardt" <randy@rrsoftware.com> wrote:

>> You can't really use Ada on those very small systems -- you can only use a 
>> tiny Ada subset, one that reduces the advantages of Ada a lot. Unless 
>> you're in the tiny minority of people that prefer the Ada *syntax* to that 
>> of C, you're not really gaining anything. (Ada witthout exceptions and 
>> most tasking isn't Ada at all, IMHO). RRS tried to serve that market back 
>> in the early days and got nowhere.
> 
> Rereading this, it comes off as more negative than I intended. Ada was 
> designed as a programming language for "programming in the large", and that 
> means that it's strengths don't really show up on tiny programs (which is 
> what you can fit on tiny boards). That's a problem for Ada if you consider 
> the tiny boards as an entry to working on larger systems down the road; so 
> I'm not against efforts to use Ada on those sorts of systems -- I'm just 
> dubious that they really can be successful (if they make Ada into "just 
> another programming language", it's unclear that anyone will understand why 
> Ada is so great).

This still seems pessimistic, in particular since Ada 2012.

Ada has a few features that single it out. It could not become
just another programming language, even when
tasking we dropped and exception handling limited.

1) The type system uses name equivalence for every kind of  type.
2) If you define a scalar type, you know it, unlike int, or CARDINAL.
3) Structures are built from types, not from pointers and preprocessing
definitions.
3) static binding of operations is the default.
4) Geared to explicit formality, not to artful exegesis of things implied.
5) change a type and have the compiler remind you of the other necessary
changes.

When writing low level software in Ada, you can set the third bit of
something
by assigning True to a component of a packed array. In C, the main
contender,
you can pride yourself on having mastered C's shifting and masking.
(Problem solving provides for combinatorial exercise already. Why more?)

McCormick's long term study shows how this has made a real difference,
more than tasking has.

I think that Ada 2012 adds to that set. It is a good language for
expressing
exactly what you want to happen in the small, and a good language for
describing interfaces of objects explicitly, in packaged types, including
all scalar types, and bridled named pointer types.

A reasonably small Ada, therefore, could not
be just like some other language, I think.

  reply	other threads:[~2013-07-03 20:50 UTC|newest]

Thread overview: 65+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-14 15:39 Help with embedded hardware/software platform selection for ADA Max Herman
2013-06-14 17:05 ` Dmitry A. Kazakov
2013-06-17 15:51   ` Max Herman
2013-06-17 17:12     ` Dmitry A. Kazakov
2013-06-14 17:45 ` G.B.
2013-06-14 20:52   ` Simon Wright
2013-06-14 20:16 ` RasikaSrinivasan
2013-06-14 20:51   ` Simon Wright
2013-06-17 16:00   ` Max Herman
2013-06-17  0:38 ` Luke A. Guest
2013-06-17 16:05   ` Max Herman
2013-07-04 16:13     ` Lucretia
2013-06-17  6:55 ` Help with embedded hardware/software platform selection for Ada Jacob Sparre Andersen
2013-06-17 16:15   ` Max Herman
2013-06-26 23:58   ` Luke A. Guest
2013-06-17 21:46 ` Help with embedded hardware/software platform selection for ADA Marcus F
2013-07-01 18:45   ` mjsilva
2013-07-01 19:32     ` Dmitry A. Kazakov
2013-07-01 23:35       ` Simon Clubley
2013-07-02  7:27         ` Georg Bauhaus
2013-07-02  8:46           ` Dmitry A. Kazakov
2013-07-02  9:09             ` Georg Bauhaus
2013-07-02 14:50               ` Shark8
2013-07-02 15:08             ` mjsilva
2013-07-02 16:53               ` Robert A Duff
2013-07-02 22:47               ` Randy Brukardt
2013-07-03  0:22                 ` Luke A. Guest
2013-07-03 19:13                   ` Randy Brukardt
2013-07-03 19:19                     ` Randy Brukardt
2013-07-03 20:50                       ` Georg Bauhaus [this message]
2013-07-08 12:53                         ` Eryndlia Mavourneen
2013-07-03 21:29                       ` Luke A. Guest
2013-07-03 22:02                       ` Niklas Holsti
2013-07-04 16:02                     ` Luke A. Guest
2013-07-05 21:08                       ` Randy Brukardt
2013-07-03  1:01                 ` mjsilva
2013-07-03  2:41                   ` Luke A. Guest
2013-07-03  7:17                     ` Shark8
2013-07-02 16:52             ` Simon Clubley
2013-07-02 17:27               ` Dmitry A. Kazakov
2013-07-02 19:29                 ` Simon Clubley
2013-07-02 20:21                   ` Dmitry A. Kazakov
2013-07-03 12:08                     ` Simon Clubley
2013-07-03 12:47                       ` Dmitry A. Kazakov
2013-07-03 16:56                         ` Simon Clubley
2013-07-02 22:21                 ` mjsilva
2013-07-03  7:18                   ` Dmitry A. Kazakov
2013-07-03  8:03                     ` Georg Bauhaus
2013-07-03 11:11                       ` Dmitry A. Kazakov
2013-07-03 12:49                         ` G.B.
2013-07-03 16:14                           ` Dmitry A. Kazakov
2013-07-03 14:50                     ` mjsilva
2013-07-02  8:26         ` Dmitry A. Kazakov
2013-07-02 10:44           ` Bill Findlay
2013-07-02 13:02             ` Dmitry A. Kazakov
2013-07-02 13:59               ` Bill Findlay
2013-07-02 14:41                 ` Dmitry A. Kazakov
2013-07-02 16:45                   ` Simon Clubley
2013-07-02 17:40                     ` Dmitry A. Kazakov
2013-07-02 16:57           ` Simon Clubley
2013-07-02 17:44             ` Dmitry A. Kazakov
2013-07-02 14:55         ` mjsilva
2013-07-02 15:20           ` Dmitry A. Kazakov
2013-07-02 15:58             ` mjsilva
2013-07-02 16:58               ` Dmitry A. Kazakov
replies disabled

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