From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Ada Interfaces and the Liskov Substitution Principle
Date: Tue, 29 May 2007 19:29:08 +0200
Date: 2007-05-29T19:28:54+02:00 [thread overview]
Message-ID: <39viqigjwhrb$.gz67xvpinyjr.dlg@40tude.net> (raw)
In-Reply-To: 1180445634.5664.23.camel@kartoffel
On Tue, 29 May 2007 15:33:54 +0200, Georg Bauhaus wrote:
> On Tue, 2007-05-29 at 14:05 +0200, Dmitry A. Kazakov wrote:
>
>>> In fact, this is happening. For example, timing properties of
>>> co-operating procedures are captured in mathematical models. This is
>>> different from the ubiquitously alleged mathematicality of programming:
>>> that programs model mathematical functions. Some programs do, but is this
>>> all that matters?
>>
>> Yes, because application programming deals with mathematical models of the
>> reality. I doubt you could skip this abstraction layer.
>
> Programming deals with models of reality and, empirically, most of the
> time these models have properties that can be described using
> mathematics. Which is a good thing.
> However, asking for *mathematical* models of reality is asking for
> a clean room definition of the physical model in terms of mathematics.
Any mathematical model is still an approximation. The reason why
mathematics is better here than ad-hocery of outsourced programmers, is
that the mathematical "hardware" is far more powerful than one of Intel.
Hence there is a far less constraints imposed upon you when you model it
mathematically. So even if you had a very good mathematical model it might
be quite difficult to implement it on the machine hardware. This is all
programming is about - porting mathematics. (:-)) To model the reality in
just one hop might be just impossible for a normal programmer. You cannot
rely on Nobel Price laureates, they are rare, expensive and uninterested in
our problems.
> Many programs just happen to be a model of reality, and they still
> work well, even though they were not mathematically designed.
> The programmers are hardly aware of every conceivable mathematical
> property of their model. Still, they write sound programs.
How can you know that? (:-)) Let's take the braking control system for your
next car...
>>> Shouldn't the relation between programs and mathematical
>>> functions be reversed? Wait, it is!
>>
>> You can consider mathematics or parts of as programming on some "axiomatic
>> hardware".
>
> What I want is the mathematics of program models, more than programming
> to satisfy mathematics. BTW, what is the best suited mathematical
> structure that (minimally) describes the loop
>
> while k < 100 loop
> k := Integer'succ(k);
> end loop;
Ordered set, mathematical induction etc.
> and how does it help?
A lot. For example it can tell the code reviewer that the above program is
equivalent to:
if k < 100 then
k := 100;
end if;
--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de
next prev parent reply other threads:[~2007-05-29 17:29 UTC|newest]
Thread overview: 81+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-05-23 19:47 Ada Interfaces and the Liskov Substitution Principle Stefan Lucks
2007-05-23 20:32 ` Ludovic Brenta
2007-05-23 22:00 ` Randy Brukardt
2007-05-24 0:56 ` Anh Vo
2007-05-24 18:27 ` Pascal Obry
2007-05-24 18:39 ` Dmitry A. Kazakov
2007-05-24 18:51 ` Pascal Obry
2007-05-24 22:44 ` Randy Brukardt
2007-05-24 6:57 ` Stefan Lucks
2007-05-23 20:54 ` Maciej Sobczak
2007-05-23 21:58 ` Randy Brukardt
2007-05-24 7:29 ` Maciej Sobczak
2007-05-24 8:02 ` Dmitry A. Kazakov
2007-05-24 12:58 ` Maciej Sobczak
2007-05-24 13:42 ` Dmitry A. Kazakov
2007-05-24 22:08 ` Robert A Duff
2007-07-01 1:00 ` David Thompson
2007-05-24 22:58 ` Randy Brukardt
2007-05-25 7:52 ` Maciej Sobczak
2007-05-25 8:21 ` Dmitry A. Kazakov
2007-05-25 20:27 ` Maciej Sobczak
2007-05-26 7:48 ` Dmitry A. Kazakov
2007-05-27 8:30 ` Maciej Sobczak
2007-05-27 10:04 ` Dmitry A. Kazakov
2007-05-29 8:03 ` Maciej Sobczak
2007-05-29 13:18 ` Dmitry A. Kazakov
2007-05-29 13:32 ` Dmitry A. Kazakov
2007-05-29 15:34 ` Maciej Sobczak
2007-05-29 17:07 ` Dmitry A. Kazakov
2007-05-30 7:40 ` Maciej Sobczak
2007-05-30 8:43 ` Dmitry A. Kazakov
2007-05-30 12:54 ` Maciej Sobczak
2007-05-30 13:56 ` Dmitry A. Kazakov
2007-05-30 16:49 ` vgodunko
2007-05-30 20:52 ` Maciej Sobczak
2007-05-31 8:15 ` Dmitry A. Kazakov
2007-05-31 13:46 ` Maciej Sobczak
2007-06-01 7:29 ` Dmitry A. Kazakov
2007-06-01 13:32 ` Maciej Sobczak
2007-06-01 14:53 ` Dmitry A. Kazakov
2007-06-01 20:31 ` Maciej Sobczak
2007-06-02 8:19 ` Dmitry A. Kazakov
2007-06-02 16:49 ` Maciej Sobczak
2007-06-03 7:09 ` Dmitry A. Kazakov
2007-06-03 22:04 ` Maciej Sobczak
2007-06-04 8:08 ` Dmitry A. Kazakov
2007-06-04 17:02 ` Maciej Sobczak
2007-06-05 8:35 ` Dmitry A. Kazakov
2007-06-05 22:12 ` Maciej Sobczak
2007-06-06 8:21 ` Dmitry A. Kazakov
2007-06-06 14:46 ` Maciej Sobczak
2007-06-06 15:11 ` Maciej Sobczak
2007-06-06 15:32 ` Markus E Leypold
2007-05-24 10:42 ` Georg Bauhaus
2007-05-24 13:41 ` Dmitry A. Kazakov
2007-05-25 16:59 ` Markus E Leypold
2007-05-28 9:52 ` Georg Bauhaus
2007-05-28 11:50 ` Dmitry A. Kazakov
2007-05-28 23:32 ` Georg Bauhaus
2007-05-29 12:05 ` Dmitry A. Kazakov
2007-05-29 13:33 ` Georg Bauhaus
2007-05-29 17:29 ` Dmitry A. Kazakov [this message]
2007-05-29 20:46 ` Georg Bauhaus
2007-05-30 7:53 ` Dmitry A. Kazakov
2007-05-30 13:18 ` Georg Bauhaus
2007-05-31 10:27 ` Dmitry A. Kazakov
2007-05-31 11:44 ` Georg Bauhaus
2007-06-01 7:37 ` Dmitry A. Kazakov
2007-06-01 10:07 ` Markus E Leypold
2007-06-01 11:41 ` Georg Bauhaus
2007-06-01 13:07 ` Dmitry A. Kazakov
2007-05-28 13:47 ` Markus E Leypold
2007-05-28 23:12 ` Georg Bauhaus
2007-05-28 13:56 ` Markus E Leypold
2007-05-28 23:00 ` Georg Bauhaus
2007-05-24 7:39 ` Dmitry A. Kazakov
2007-05-24 11:12 ` Stefan Lucks
2007-05-24 13:56 ` Dmitry A. Kazakov
2007-05-24 14:41 ` Stefan Lucks
2007-05-24 15:46 ` Dmitry A. Kazakov
2007-05-24 15:00 ` Georg Bauhaus
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox