From: Markus E Leypold <development-2006-8ecbb5cc8aREMOVETHIS@ANDTHATm-e-leypold.de>
Subject: Re: Ada Interfaces and the Liskov Substitution Principle
Date: Mon, 28 May 2007 15:47:08 +0200
Date: 2007-05-28T15:47:08+02:00 [thread overview]
Message-ID: <fejl1qcv7.fsf@hod.lan.m-e-leypold.de> (raw)
In-Reply-To: 465aa5ba$0$23147$9b4e6d93@newsspool1.arcor-online.net
> Markus E Leypold wrote:
>> the Eiffel arguments versus Liskov/Wing
>>> are that the principles guiding program design should come
>>> from the solution to a problem, not from models when these
>>> cannot capture the solution. In a sense, it is argued that
>>> that L/W substitution (and also co/contra-variance) violate
>>> programming principles!
>> Actually I'm a strong disbeliever in your approach. I doubt, that a
>> solution that isn't mathematically beautiful and simple (i.e. fits a
>> model) is viable in the long run. Intellectual friction will hampoer
>> maintenance and optimization.
>
> There is nothing wrong with a mathematically "beautiful"
> and simple solution. But when
>
> (1) there is a perfectly simple, straight forward, working
> solution,
>
> (2) the solution matches the problem specification 1:1,
>
> (3) the solution is partially incongruent with a mathematical
> model,
>
> (4) because of (3), the solution (1)+(2) is discarded,
>
> there is something wrong.
But now you're arguing quite another case. You said
>>> that the principles guiding program design should come from the
>>> solution to a problem, not from models
(But perhaps I'm reading even that quote wrongly). You've been
basically advocating to invent new program architectures for every
problem/solution pair, i.e. have a solution first than fit the "model"
(language architecture, whatever) on your solution. If you can afford
to design a domain language for every problem you have -- fine. If
not, I suggest that the language designers hae
Basically the language design is a contract: If you can fit your
programming in a certain conceptual pattern (be it typing, OO or
functional programming) the compiler builder promises that the
compiler will produce a correct and (often) fast or efficient program
with the advertised semantics.
If you don't want that contract, I don't know what you get. Probably
C, but even that has a "model" of sorts. Or SAP ...
Bashing theory and inisiting on "fudged" ad hoc solutions ("it just
works, so why not" has brought programming to the place where it is
today: A mess. "If you do this you will get that, but we don't know
why that is so and how that fits in with the rest which follows a
different perhaps not even contradicting rule".
I repeat, that I'm a strong believer in complete, consistent and
"closed" solutions in programming language or system design without
"undefined" borderline cases. Only such a design guarantees that you
know where you stand, are prepared for the next step in evolution and
can take it without breaking everything from the past.
Regards -- Markus
next prev parent reply other threads:[~2007-05-28 13:47 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
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 [this message]
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