comp.lang.ada
 help / color / mirror / Atom feed
From: Georg Bauhaus <bauhaus@futureapps.invalid>
Subject: Re: Build language with weak typing, then add scaffolding later to strengthen it?
Date: Sat, 23 May 2015 14:40:25 +0200
Date: 2015-05-23T14:40:25+02:00	[thread overview]
Message-ID: <mjpsdi$6cq$1@dont-email.me> (raw)
In-Reply-To: <46b2dce1-2a1c-455d-b041-3a9d217e2c3f@googlegroups.com>

On 22.05.15 22:04, kalvin.news@gmail.com wrote:
> perjantai 22. toukokuuta 2015 22.41.15 UTC+3 J-P. Rosen kirjoitti:
>>
>> To take an analogy: nobody would be so fool as to use a language
>> designed for making animations on web pages in a real-time context ;-)
>>
>> --
>> J-P. Rosen
>> Adalog
>> 2 rue du Docteur Lombard, 92441 Issy-les-Moulineaux CEDEX
>> Tel: +33 1 45 29 21 52, Fax: +33 1 45 29 25 00
>> http://www.adalog.fr
>
> Reality bites.

Sort of.

> And it is quite easy the find developers how are familiar with C/C++.

HR staff think they find people who think they are familiar with C
or even C++. That's good enough, though, if employment is evidence.

People who write C scarcely know what they really are writing. But.
It is perceived risk, though, both on the part of programmers and
on the part of management that counts, also perceived quality of
software in general. So, the risk of using C is reduced if every
programmer and every manager takes the same risks.

(If cheaper Ada could help, than I think that remembering DOT.COM
business will prevent a situation that makes Ada have C-like pricing
for microcontrollers.)

C is tricky, and its ISO standard is impressively long for a reason,
even though it omits many things to be documented per implementation.
(Some 150 pages for the core language, excl. the library, for a total
of around 500 pages.)

C++---a language that for reasons of historic incident is believed
to be some sort of C, and mentioned curiously in contexts
such as in "C/C++"---is a different beast entirely.
How many microcontrollers can one program in C++ without using
some C++ -> C translator?

> And it is very hard to convince managers to invest to new tools that they do not know or understand, or their knowledge is based on outdated information (like "Yeah, I know Ada. One of my friends worked with Ada in 80's and it was *very* slow, the compiler produced terrible code and they needed Vax-cluster to run the compiler. Ada is so big."). So, we are dealing with a cultural, economical and practical challenges as well as historical burden and bad reputation.
>
> I do not claim that even Ada would be the ultimate solution. Someone made a good point above that, for example Oberon manual is only like 17 pages

Actually …

> and Ada RM is over 1000 pages.

What corresponds to the Oberon-1 "manual" (Wirth's 1987 report,
I take it?) in Ada's ISO reference would be the core language.
About 1/3 of the LRM, some 350 pages.

Now why is the Ada LRM still 10x that of Component Pascal (current
Oberon)? In part because of ISO requirements, needed for solid works
of industry, when not "soldering". Precision is needed. In part,
because Ada has task types generic units and elaboration and so
one, as has already been mentioned; things that were needed, and
will be needed even more in the future, provided that microcontrollers,
too, will get more ALUs working in parallel. (ActiveOberon formed
Object + Semaphore constructs; another dozen pages, and again
offloading much on programmers, see below.)

E.g., quoting from the "Component Pascal Language report" (about
30 pages), on CASE statements:

"If the value of the expression does not occur as a label of any case,
  the statement sequence following the symbol ELSE is selected,
  if there is one, otherwise the program is aborted."

Abort? That would not have been acceptable to an Ada compiler from
day one.
But, surely, all programmers will do the right thing, won't they?
And good testing should find the hole in the Oberon program
before it is deployed, right?

To me, this report is a example of how a language definition shifts
responsibility (and definitions) to programmers doing all the work of,
say, keeping case statements right…
This might work well for the self-employed or for small groups
of programmers, and for programs that are sufficiently small; but how
should this help refactoring, say? Changes? What I want to point out is
this: it is not that surprising, then, if the Oberon "manual" can be
very short.


> There might be something wrong here, and may explain partly why Ada has not gain popularity.

Yes. History and pricing.


  parent reply	other threads:[~2015-05-23 12:40 UTC|newest]

Thread overview: 111+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-21 19:11 Build language with weak typing, then add scaffolding later to strengthen it? Nasser M. Abbasi
2015-05-21 19:29 ` AdaMagica
2015-05-22  7:27   ` Dmitry A. Kazakov
2015-05-22  7:42 ` Georg Bauhaus
2015-05-22  8:54   ` Nasser M. Abbasi
2015-05-22 11:29 ` kalvin.news
2015-05-22 12:57   ` J-P. Rosen
2015-05-22 14:01     ` kalvin.news
2015-05-22 14:34       ` kalvin.news
2015-05-23 11:09         ` Peter Chapin
2015-05-22 15:37       ` J-P. Rosen
2015-05-22 16:29         ` kalvin.news
2015-05-22 17:39           ` Simon Clubley
2015-05-22 17:51             ` kalvin.news
2015-05-22 19:41               ` J-P. Rosen
2015-05-22 20:04                 ` kalvin.news
2015-05-22 20:32                   ` Jeffrey R. Carter
2015-05-22 21:22                     ` kalvin.news
2015-05-23 11:14                     ` Peter Chapin
2015-05-23 12:42                       ` Jeffrey R. Carter
2015-05-23 17:48                         ` Simon Wright
2015-05-25  8:34                           ` Pascal Obry
2015-05-25 10:22                             ` Simon Wright
2015-05-25 18:12                               ` Georg Bauhaus
2015-05-22 20:39                   ` jan.de.kruyf
2015-05-28 22:33                     ` Randy Brukardt
2015-05-29  6:56                       ` jan.de.kruyf
2015-05-23 12:40                   ` Georg Bauhaus [this message]
2015-05-25  7:14                     ` jan.de.kruyf
2015-05-25 12:26                       ` Georg Bauhaus
2015-05-25 18:44                       ` Shark8
2015-05-25 19:54                         ` jan.de.kruyf
2015-05-25 21:25                           ` Shark8
2015-05-26  7:46                           ` Georg Bauhaus
2015-05-26  8:12                           ` Georg Bauhaus
2015-05-25 20:01                         ` Nasser M. Abbasi
2015-05-25 20:04                           ` Nasser M. Abbasi
2015-05-25 20:37                             ` jan.de.kruyf
2015-05-26  7:52                               ` Jacob Sparre Andersen
2015-05-26 11:43                                 ` jan.de.kruyf
2015-05-26 15:38                                   ` jan.de.kruyf
2015-05-28 23:39                                   ` Randy Brukardt
2015-05-29  8:51                                     ` Stefan.Lucks
2015-05-29 18:04                                       ` Jeffrey R. Carter
2015-05-29 21:51                                       ` Randy Brukardt
2015-05-30 10:28                                         ` jan.de.kruyf
2015-05-30 11:12                                           ` Dmitry A. Kazakov
2015-05-30 13:21                                             ` jan.de.kruyf
2015-05-30 15:00                                               ` Simon Clubley
2015-05-30 18:40                                                 ` jan.de.kruyf
2015-05-30 16:40                                               ` Dmitry A. Kazakov
2015-05-30 20:52                                                 ` jan.de.kruyf
2015-05-31  8:31                                                   ` Nasser M. Abbasi
2015-05-31  8:52                                                   ` Dmitry A. Kazakov
2015-06-04 15:31                                                     ` jan.de.kruyf
2015-06-04 17:23                                                       ` Dmitry A. Kazakov
2015-06-04 20:14                                                         ` Shark8
2015-06-04 23:12                                                           ` Nasser M. Abbasi
2015-06-01 21:36                                                 ` Randy Brukardt
2015-06-04 15:22                                                   ` jan.de.kruyf
2015-05-27 13:41                                 ` jan.de.kruyf
2015-05-25 23:05                             ` Peter Chapin
2015-05-26  8:01                               ` Sylvain Laperche
2015-05-26  8:20                                 ` Georg Bauhaus
2015-05-26  8:49                                 ` J-P. Rosen
2015-05-26 12:36                                   ` Simon Clubley
2015-05-26 13:39                                     ` J-P. Rosen
2015-05-26 14:21                                       ` Dmitry A. Kazakov
2015-05-26 16:19                                       ` Shark8
2015-05-26 20:51                                         ` J-P. Rosen
2015-05-26 17:11                                   ` Jeffrey R. Carter
2015-05-28 23:49                                     ` Randy Brukardt
2015-05-29 21:54                                       ` Randy Brukardt
2015-05-29 22:32                                         ` Jeffrey R. Carter
2015-05-26  8:17                               ` Georg Bauhaus
2015-05-28 22:46                       ` Randy Brukardt
2015-05-28 23:18                         ` Nasser M. Abbasi
2015-05-29 21:27                           ` Randy Brukardt
2015-05-29  7:55                         ` jan.de.kruyf
2015-05-29  9:27                           ` Simon Wright
2015-05-29 10:23                             ` jan.de.kruyf
2015-05-29 12:01                               ` G.B.
2015-05-29 13:43                                 ` jan.de.kruyf
2015-05-29 15:32                             ` Simon Wright
2015-05-29 15:57                               ` jan.de.kruyf
2015-05-29  9:31                         ` Jacob Sparre Andersen
2015-05-29 10:37                           ` jan.de.kruyf
2015-05-29 10:56                           ` Björn Lundin
2015-05-29 12:03                             ` Peter Chapin
2015-05-29 21:00                               ` Shark8
2015-05-29 20:57                           ` Shark8
2015-05-29 21:36                             ` Randy Brukardt
2015-06-01 22:20                               ` Shark8
2015-05-29 21:45                           ` Randy Brukardt
2015-05-29 23:12                             ` Peter Chapin
2015-05-30  9:10                               ` Georg Bauhaus
2015-05-23 13:01                 ` Luke A. Guest
2015-05-22 17:57             ` Simon Wright
2015-05-22 18:31               ` jan.de.kruyf
2015-05-22 14:03     ` jan.de.kruyf
2015-05-22 15:21       ` David Botton
2015-05-22 15:23         ` jan.de.kruyf
2015-05-22 15:31       ` Bob Duff
2015-05-22 15:48         ` jan.de.kruyf
2015-05-22 14:25     ` G.B.
2015-05-22 15:04     ` Bill White
2015-05-22 15:28     ` Bob Duff
2015-05-22 17:46       ` Simon Clubley
2015-05-22 18:16         ` jan.de.kruyf
2015-05-22 19:01           ` Simon Wright
2015-05-22 19:41             ` jan.de.kruyf
replies disabled

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