comp.lang.ada
 help / color / mirror / Atom feed
From: "Pascal J. Bourguignon" <pjb@informatimago.com>
Subject: Re: Heartbleed
Date: Sat, 12 Apr 2014 20:56:32 +0200
Date: 2014-04-12T20:56:32+02:00	[thread overview]
Message-ID: <87ioqe4brz.fsf@kuiper.lan.informatimago.com> (raw)
In-Reply-To: libmkh$mn6$1@speranza.aioe.org

"Nasser M. Abbasi" <nma@12000.org> writes:

> On 4/12/2014 6:42 AM, Pascal J. Bourguignon wrote:
>> "Nasser M. Abbasi" <nma@12000.org> writes:
>>
>>> Python also is weakly typed.
>>
>> You're wrong.  Compare:
>
> How can I be wrong when in Python variables do not even have
> types, only values do.
>
> But any way, I was comparing it to Ada strong variable type
> system.  

That's the whole point.  

Typing values instead of typing variables is stronger.

When you have a system where all the values are typed, if there's a bug
(either because the language allows unsafe operations, or because
there's a bug in the system, or because there's a hardware failure), you
still have the assurance that only operations valid for this type of
value can be applied to it.

And the specific operation applied is dispatched at run-time, depending
on the type of value we encounter at run-time.  





>>>> a=float(1);
>>>> b=int(1);
>>>> c=a+b;
>
> The above will not even compile in Ada. Mixing apples and
> oranges.
>
> Python is not a language I would use to write robust
> software that if failed, people can die as a result. Lets
> leave it here.

IIRC, Ariane 5 software was written in Ada.
http://www.di.unito.it/~damiani/ariane5rep.html
In a language like lisp or python, the arithmetic operations that can't
produce fixnums automatically produce bignums, and all the code will
automatically handle bignums once the magnitudes require them.

Similarly, the Mars Climate Orbiter bug occured in statically typed
programming language: variables containing different units were still of
the same floating point data type.  
http://en.wikipedia.org/wiki/Mars_Climate_Orbiter#Cause_of_failure

A dynamically strongly typed-value programming language such as Lisp or
Python would have used objects containing both the magnitude and the
unit, and an operation mixing objects of different units would have
involved an automatic unit conversion.


In both cases, the customer could still consider that a bug exist (in
the case of Ariane 5 it was a specification "bug", so…), in that
operations could become slower than expected, but with  dynamically
typed-value system, you would still get correct results.  And in a
control system, it is better to generate correct control commands at
half the expected rate, than to crash or produce  bad control commands
at the initially specified rate.


-- 
__Pascal Bourguignon__
http://www.informatimago.com/
"Le mercure monte ?  C'est le moment d'acheter !"

  reply	other threads:[~2014-04-12 18:56 UTC|newest]

Thread overview: 144+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-11  2:39 Heartbleed Charles H. Sampson
2014-04-11  7:59 ` Heartbleed Maciej Sobczak
2014-04-11 10:50   ` Heartbleed Pascal J. Bourguignon
2014-04-12  1:46   ` Heartbleed Charles H. Sampson
2014-04-11 12:43 ` Heartbleed kalvin.news
2014-04-11 19:33   ` Heartbleed Simon Clubley
2014-04-12  4:58     ` Heartbleed Shark8
2014-04-12  7:15       ` Heartbleed Nasser M. Abbasi
2014-04-12  9:28         ` Heartbleed Georg Bauhaus
2014-04-12  9:33         ` Heartbleed Georg Bauhaus
2014-04-12 11:42         ` Heartbleed Pascal J. Bourguignon
2014-04-12 15:37           ` Heartbleed Nasser M. Abbasi
2014-04-12 18:56             ` Pascal J. Bourguignon [this message]
2014-04-12 20:29               ` Heartbleed Yannick Duchêne (Hibou57)
2014-04-12 20:34               ` Heartbleed Dmitry A. Kazakov
2014-04-12 20:47                 ` Heartbleed Yannick Duchêne (Hibou57)
2014-04-12 20:53                   ` Heartbleed Yannick Duchêne (Hibou57)
2014-04-15 10:02                 ` Heartbleed Yannick Duchêne (Hibou57)
2014-04-15 12:35                   ` Heartbleed Dmitry A. Kazakov
2014-04-12 21:57               ` Heartbleed Niklas Holsti
2014-04-13 13:08                 ` Heartbleed Georg Bauhaus
2014-04-13 13:55                   ` Heartbleed Pascal J. Bourguignon
2014-04-13 15:13                     ` Heartbleed Dennis Lee Bieber
2014-04-13 15:36                       ` Heartbleed Nasser M. Abbasi
2014-04-12 18:39           ` Heartbleed Simon Wright
2014-04-12 19:15             ` Heartbleed Pascal J. Bourguignon
2014-04-12 19:18               ` Heartbleed Pascal J. Bourguignon
2014-04-12 20:40               ` Heartbleed Yannick Duchêne (Hibou57)
2014-04-12 20:44               ` Heartbleed Yannick Duchêne (Hibou57)
2014-04-12 21:31               ` Heartbleed Niklas Holsti
2014-04-12 14:58         ` Heartbleed Dennis Lee Bieber
2014-04-12 18:28           ` Heartbleed Yannick Duchêne (Hibou57)
2014-04-12 18:22       ` Heartbleed Yannick Duchêne (Hibou57)
2014-04-12 18:38       ` Heartbleed Simon Clubley
2014-04-12 20:24         ` Heartbleed Yannick Duchêne (Hibou57)
2014-04-12 21:48           ` Heartbleed Simon Clubley
2014-04-17  6:15         ` Heartbleed Jacob Sparre Andersen
2014-04-17 15:55           ` Heartbleed Shark8
2014-04-17 21:01           ` Heartbleed Simon Clubley
2014-04-17 21:51             ` Heartbleed Shark8
2014-04-17 21:54               ` Heartbleed Alan Jump
2014-04-17 22:02                 ` Heartbleed Adam Beneschan
2014-04-17 22:35                 ` Heartbleed Simon Clubley
2014-04-17 22:55                   ` Heartbleed Jeffrey Carter
2014-04-18  8:48                     ` Heartbleed Simon Clubley
2014-04-18 18:02                       ` Heartbleed Jeffrey Carter
2014-04-18 20:31                         ` Heartbleed Yannick Duchêne (Hibou57)
2014-04-18 23:16                           ` Heartbleed Pascal J. Bourguignon
2014-04-19 18:29                             ` Heartbleed Simon Clubley
2014-04-21 22:50                             ` Heartbleed Randy Brukardt
2014-04-18  1:38                   ` Heartbleed Yannick Duchêne (Hibou57)
2014-04-18 14:59                     ` Heartbleed Nasser M. Abbasi
2014-04-18 17:12                       ` Heartbleed Alan Browne
2014-04-18 17:30                       ` Heartbleed J-P. Rosen
2014-04-18 18:04                         ` Heartbleed Jeffrey Carter
2014-04-18 18:34                           ` Heartbleed Simon Clubley
2014-04-18 20:45                             ` Heartbleed Jeffrey Carter
2014-04-18 21:35                             ` Heartbleed Dennis Lee Bieber
2014-04-18 22:20                               ` Heartbleed Jeffrey Carter
2014-04-18 22:41                                 ` Heartbleed Adam Beneschan
2014-04-19 15:53                                   ` Heartbleed Dennis Lee Bieber
2014-04-18 18:37                           ` Heartbleed Alan Browne
2014-04-18 20:45                             ` Heartbleed Jeffrey Carter
2014-04-18 21:06                               ` Heartbleed Alan Browne
2014-04-18 22:20                                 ` Heartbleed Jeffrey Carter
2014-04-19 14:04                                   ` Heartbleed Alan Browne
2014-04-18 20:49                             ` Heartbleed Shark8
2014-04-18 21:07                               ` Heartbleed Alan Browne
2014-04-18 22:56                           ` Heartbleed Nasser M. Abbasi
2014-04-19  4:27                             ` Heartbleed tmoran
2014-04-18 21:17                   ` Heartbleed Shark8
2014-04-19 18:59                     ` Heartbleed Simon Clubley
2014-04-19 19:21                       ` Heartbleed Shark8
2014-04-18  1:29             ` Heartbleed Yannick Duchêne (Hibou57)
2014-04-18 10:42               ` Heartbleed J-P. Rosen
2014-04-19 11:50         ` Oberon and Wirthian languages (was: Heartbleed) Ludovic Brenta
2014-04-19 12:46           ` Oberon and Wirthian languages Georg Bauhaus
2014-04-19 19:17             ` Simon Clubley
2014-04-19 19:25               ` Shark8
2014-04-19 16:35           ` Oberon and Wirthian languages (was: Heartbleed) Yannick Duchêne (Hibou57)
2014-04-19 19:32             ` Simon Clubley
2014-04-19 22:30               ` Dennis Lee Bieber
2014-04-19 22:35                 ` Oberon and Wirthian languages Alan Browne
2014-04-19 16:53           ` Georg Bauhaus
2014-04-19 17:32           ` Simon Wright
2014-04-19 17:35           ` Jeffrey Carter
2014-04-19 18:06             ` Yannick Duchêne (Hibou57)
2014-04-19 18:53             ` Shark8
2014-04-19 20:08               ` Simon Clubley
2014-04-19 22:16                 ` Simon Clubley
2014-04-21 13:06           ` Oberon and Wirthian languages (was: Heartbleed) Simon Clubley
2014-04-21 18:13             ` Simon Clubley
2014-04-21 18:45               ` Oberon and Wirthian languages Shark8
2014-04-21 23:26                 ` Randy Brukardt
2014-04-22  0:21                   ` Simon Clubley
2014-04-22  5:48                   ` Shark8
2014-04-21 18:16             ` Jeffrey Carter
2014-04-22  0:34               ` Simon Clubley
2014-04-22  3:01                 ` Jeffrey Carter
2014-04-22 23:31                   ` Randy Brukardt
2014-04-22  6:41                 ` Simon Wright
2014-04-22 12:25                   ` Simon Clubley
2014-04-22 19:13                     ` Niklas Holsti
2014-04-22 20:46                       ` Simon Clubley
2014-04-22 23:38                         ` Randy Brukardt
2014-04-23 12:16                           ` Simon Clubley
2014-04-23 20:55                             ` Simon Wright
2014-04-24  0:20                               ` Simon Clubley
2014-04-24 13:05                                 ` Niklas Holsti
2014-04-24 18:51                                   ` Simon Clubley
2014-04-24 20:11                                     ` Niklas Holsti
2014-04-25  1:37                                       ` Randy Brukardt
2014-04-25 21:33                                         ` Simon Clubley
2014-04-25 21:55                                           ` Randy Brukardt
2014-04-25 23:16                                             ` Dennis Lee Bieber
2014-04-26  6:31                                               ` Niklas Holsti
2014-04-26  0:23                                             ` Nasser M. Abbasi
2014-04-26  2:46                                             ` Shark8
2014-04-26  2:52                                               ` Shark8
2014-04-26  6:37                                               ` Niklas Holsti
2014-04-26  6:19                                             ` Georg Bauhaus
2014-04-26  6:35                                               ` Georg Bauhaus
2014-04-26  6:42                                               ` Niklas Holsti
2014-04-26 17:15                                                 ` Simon Clubley
2014-04-26  6:29                                             ` Niklas Holsti
2014-04-26  7:36                                               ` Dmitry A. Kazakov
2014-04-26  7:52                                                 ` Georg Bauhaus
2014-04-26  8:09                                                   ` Dmitry A. Kazakov
2014-04-26 18:32                                                 ` Simon Clubley
2014-05-08  2:36                                               ` Randy Brukardt
2014-05-08 17:48                                                 ` Niklas Holsti
2014-05-08 19:22                                                   ` Randy Brukardt
2014-04-26  7:23                                             ` Simon Wright
2014-04-26  9:27                                               ` Niklas Holsti
2014-04-26 12:34                                                 ` Simon Wright
2014-04-27 10:38                                                   ` Simon Wright
2014-04-27 15:36                                                     ` Simon Clubley
2014-04-27 14:26                                               ` Brian Drummond
2014-04-22 23:30                 ` Randy Brukardt
2014-04-23 12:17                   ` Simon Clubley
2014-05-14  9:39         ` Heartbleed gvdschoot
2014-04-12 22:01       ` Heartbleed Yannick Duchêne (Hibou57)
2014-04-18 17:58         ` Heartbleed Alan Browne
2014-04-18 17:24 ` Heartbleed - attacks? Alan Browne
replies disabled

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