Re: Design is intent.

From: Laurent Bossavit (laurent_at_dontspambossavit.com)
Date: 03/26/05


Date: Sat, 26 Mar 2005 21:29:52 +0100

Shayne,

> Your choices of course. Isn't there some quote about blowing like a leaf
> with the wind? Some people direct their own lives;

And how did they come to be that way ? At one point it wasn't so - they
didn't choose to be born, for instance. (I'm choosing to indulge my
appetite for amateur philosophy, with that question...)

> Well, the confusion we're talking about now is thinking that the code is the
> design. It'd be harder to slip into this confusion in the days of machine
> code and assembly, but people do it nowadays because the code is more
> expressive.

Is it "all or nothing" ? If we say that design is in the head, what
trips us up in "the code *is* the design" is equating something material
with something mental - mixing logical levels. If we say "(some of) the
code expresses (some of) the design", then it's a matter of degree.

"The code expresses all of the design" becomes an ideal attainable in
principle, if not realized in practice with current languages and their
limitations. (But we're making headway - the hype in some circles about
a framework called Ruby on Rails is a case in point; the Ruby language
places exceptional emphasis on expressivity.)

The comparison with natural language could prove interesting - if we
assume that natural language can express any idea we are capable of
having (and there's no reason to think otherwise), how does it *do*
that?

> I'd say that taken literally, it's nonsense, because the class (if you're
> talking about an OO class) isn't an abstraction at all. It's really more
> like a machine that produces Bars.

I'm not seeing how e.g. an abstract class (oh damn, here's that word
again in a third distinct sense) is like a machine... It can't function
in autonomy. How does it "produce" anything ? The subclasses can be said
to "produce" instances, but I wouldn't say that of the base class.

You said "taken literally" - that's part of how I meant the question;
when *we* conceive of an abstraction called Foo, and our code describes
a class Foo, is it unreasonable to take the short-cut and call the (OO)
class Foo an abstraction ?

Laurent



Relevant Pages

  • Re: Design is intent.
    ... > code expresses the design", then it's a matter of degree. ... > The comparison with natural language could prove interesting - if we ... >> talking about an OO class) isn't an abstraction at all. ... Shayne ...
    (comp.object)
  • Re: Abstract public member variales?
    ... client (the problem solution) is indifferent to the details. ... at the level of abstraction where you define how the game works. ... I describe the workings of the game at many levels of abstraction, depending on who I am talking to. ... At the other is the level of abstraction that I use when summarizing my design in a paragraph for usenet. ...
    (comp.object)
  • Re: Ease of product development (was Re: Nanotech arms race worries:all smoke and no fire?)
    ... but design problems as well. ... > Levels of abstraction is an extremely powerful design tool. ... > there'll be no more molecular engineering needed. ... I, however, am a hardware developer. ...
    (sci.nanotech)
  • Re: LSP and subtype
    ... Do you seriously classify UML as a language? ... > for resolving functional requirements during design so the 3GLs are ... > abstraction in 4GLs. ... >> But that just means that you don't reuse anything. ...
    (comp.object)
  • Re: OT: concrete and clay WAS: Re: I need a new compiler...
    ... oriented *design* over object oriented programming. ... I was using "abstraction" in the sense of the word in English and not as the ... He has become an accomplished pilot on the simulator and I was very ... We need abstraction layers to keep us sane. ...
    (comp.lang.cobol)