From: Fernando Mato Mira
Subject: Re: Subject-Oriented Programming as per Vlissides et al
Date: 
Message-ID: <37662F29.F4CFB69F@iname.com>
········@saltmine.radix.net wrote:

> Thought I'd put in a word for the concept of SOP that I first heard about
> 2 years ago.  It is different from a recent definition of it that I
> recently saw posted.
>
> Excerpted from their web site:
> http://www.research.ibm.com/sop/compositionrules.htm

I remember that. I coined my definition of Subject Oriented somewhere between
1992 and 1994 (but you won't see it published yet, except maybe for a
reference in some old USENET posting or something like that). Their concept of
`subject' looks pretty much like `aspect' for me [I wondered if they were
`paper engineers' trying to create a new term per se].
I didn't need to invent anything new. The concept of privileging a certain
object is as old as OO. While I like saying things like "OO is not to forget
about the syntactic objects of your sentence", that is more to wake up people
to multimethods that anything else. OO is taken to mean a lot more than
dispatching, and some arguments obviously do not work like direct or indirect
objects, but rather as syntactic complements, so OO just for `multimethods'
would not be a precise definition. The right term for multimethods would be
"Sentence Oriented Programming" (although "Verb Oriented Programming" would
seem to apply, it better fits traditional monomorphic programming,  which just
looks at the "verb" and not at the arguments).

So:

- Verb Oriented (== monomorphic)
- Object Oriented
      polymorphic dimension:
         - Subject Oriented
         - Sentence Oriented

The funny thing is that expressions in a  Subject Oriented language like
Smalltalk can really look
like sentences:

Fernando send: aPaper about: subjectOriented to: OOPSLA

--
Fernando D. Mato Mira
Real-Time SW Eng & Networking
Advanced Systems Engineering Division
CSEM
Jaquet-Droz 1                   email: matomira AT acm DOT org
CH-2007 Neuchatel                 tel:       +41 (32) 720-5157
Switzerland                       FAX:       +41 (32) 720-5720

www.csem.ch      www.vrai.com     ligwww.epfl.ch/matomira.html

From: Fernando Mato Mira
Subject: Object, Subject, Verb and Phrase Orientedness
Date: 
Message-ID: <37664CEA.21FB4467@iname.com>
Fernando Mato Mira wrote:

> would not be a precise definition. The right term for multimethods would be
> "Sentence Oriented Programming" (although "Verb Oriented Programming" would

A more practical (and international) alternative to "Sentence" is Phrase, and the
classification should
actually go more like:

- monomorphic = Verb Oriented
- polymorphic
     - Subject Oriented
     - Phrase Oriented

So that then:

- Object
     - VO ("object based"?)
     - "object oriented"
            SO
            PO

Where the "" are because someone might find prettier if one said `object-based'
instead of all `object' languages, and because "object oriented" is such a misused
and ambiguous name I'd be happy to drop it for at least a generation. And what
"object based" means in contrast to "object oriented" is not really clear to me
either.

--
Fernando D. Mato Mira
Real-Time SW Eng & Networking
Advanced Systems Engineering Division
CSEM
Jaquet-Droz 1                   email: matomira AT acm DOT org
CH-2007 Neuchatel                 tel:       +41 (32) 720-5157
Switzerland                       FAX:       +41 (32) 720-5720

www.csem.ch      www.vrai.com     ligwww.epfl.ch/matomira.html
From: [Invalid-From-Line]
Subject: Re: Subject-Oriented Programming as per Vlissides et al
Date: 
Message-ID: <7k5n7t$2n7$2@news1.Radix.Net>
In comp.object Fernando Mato Mira <········@iname.com> wrote:


> ········@saltmine.radix.net wrote:

>> Thought I'd put in a word for the concept of SOP that I first heard about
>> 2 years ago.  It is different from a recent definition of it that I
>> recently saw posted.
>>
>> Excerpted from their web site:
>> http://www.research.ibm.com/sop/compositionrules.htm

> I remember that. I coined my definition of Subject Oriented somewhere between
> 1992 and 1994 (but you won't see it published yet, except maybe for a
> reference in some old USENET posting or something like that). Their concept of
> `subject' looks pretty much like `aspect' for me [I wondered if they were
> `paper engineers' trying to create a new term per se].

Vlissides is wrong to think OO is mainly about decoupling like the
pragmatists do--the modelling aspect should generally lead the decoupling
side.  But he does have much experience.  Also, he helped write the
widely acclaimed book 'Design Patterns'.

> I didn't need to invent anything new. The concept of privileging a certain
> object is as old as OO. While I like saying things like "OO is not to forget
> about the syntactic objects of your sentence", that is more to wake up people
> to multimethods that anything else. OO is taken to mean a lot more than
> dispatching, and some arguments obviously do not work like direct or indirect
> objects, but rather as syntactic complements, so OO just for `multimethods'
> would not be a precise definition. The right term for multimethods would be
> "Sentence Oriented Programming" (although "Verb Oriented Programming" would
> seem to apply, it better fits traditional monomorphic programming,  which just
> looks at the "verb" and not at the arguments).

> So:

> - Verb Oriented (== monomorphic)
> - Object Oriented
>       polymorphic dimension:
>          - Subject Oriented
>          - Sentence Oriented

> The funny thing is that expressions in a  Subject Oriented language like
> Smalltalk can really look
> like sentences:

> Fernando send: aPaper about: subjectOriented to: OOPSLA

Nice.

Elliott

> --
> Fernando D. Mato Mira
> Real-Time SW Eng & Networking
> Advanced Systems Engineering Division
> CSEM
> Jaquet-Droz 1                   email: matomira AT acm DOT org
> CH-2007 Neuchatel                 tel:       +41 (32) 720-5157
> Switzerland                       FAX:       +41 (32) 720-5720

> www.csem.ch      www.vrai.com     ligwww.epfl.ch/matomira.html
From: Tim Ottinger
Subject: Re: Subject-Oriented Programming as per Vlissides et al
Date: 
Message-ID: <3766CBB4.9ADCE6E1@oma.com>
········@saltmine.radix.net wrote:
> Vlissides is wrong to think OO is mainly about decoupling like the
> pragmatists do--the modelling aspect should generally lead the decoupling
> side.  But he does have much experience.  Also, he helped write the
> widely acclaimed book 'Design Patterns'.

All software is about meeting requirements. I think we're okay there.
Good software about meeting all requirements and having a desirable
structure for maintenance during its long life. How would you
structure
software? It seems the eternal forces acting on structure are 
cohesion and coupling -- that means DM.   OO can be built with some
great DM characteristics. It works to collect highly cohesive routines
and data (data types/objects) and separate them from other routines
and data that they are less cohesive with (other objects of differing
responsibility), and it allows them to be decoupled with abstract
interfaces! Better yet, it's *objective*. DM isn't a subjective, 
feel-good thing. It's something you can examine and resolve by 
making some good OO decisions.

So maybe there's something to this stuff that all of these "insane
but otherwise brilliant" people keep saying. 


> > The funny thing is that expressions in a  Subject Oriented language like
> > Smalltalk can really look
> > like sentences:
> 
> > Fernando send: aPaper about: subjectOriented to: OOPSLA
> 
> Nice.

Nearly everything looks good in smalltalk. So why aren't we using 
it for everything? I keep forgetting....

-- 
--------- There is no craftite conspiracy -------------
Tim Ottinger         Object Mentor      OO Training and
········@oma.com      www.oma.com          Mentoring
-------------------------------------------------------
We can interpret a bad temper as a sign of inferiority.
                                        -- Alfred Adler
From: John Jensen
Subject: Re: Subject-Oriented Programming as per Vlissides et al
Date: 
Message-ID: <7k981d$h6g$1@nnrp03.primenet.com>
Tim Ottinger <········@oma.com> wrote:

: All software is about meeting requirements.

Sometimes I fear software all is about Requirements Meetings.

John
From: Robert C. Martin
Subject: Re: Subject-Oriented Programming as per Vlissides et al
Date: 
Message-ID: <%Vda3.886$el4.28918@ord-read.news.verio.net>
John Jensen wrote in message <············@nnrp03.primenet.com>...
>Tim Ottinger <········@oma.com> wrote:
>
>: All software is about meeting requirements.
>
>Sometimes I fear software all is about Requirements Meetings.


!!!  B^)

Amen to that brother.


Robert C. Martin    | Design Consulting   | Training courses offered:
Object Mentor       | ·······@oma.com     |   Object Oriented Design
14619 N Somerset Cr | Tel: (800) 338-6716 |   C++
Green Oaks IL 60048 | Fax: (847) 918-1023 | http://www.oma.com

TINCC.
From: Thomas A. Russ
Subject: Re: Subject-Oriented Programming as per Vlissides et al
Date: 
Message-ID: <ymizp21cu2v.fsf@sevak.isi.edu>
Fernando Mato Mira <········@iname.com> writes:

> - Verb Oriented (== monomorphic)
> - Object Oriented
>       polymorphic dimension:
>          - Subject Oriented
>          - Sentence Oriented

I would argue that the CLOS style model would be a polymorphic form of
Verb Oriented programming.  That is because the methods attach to the
generic function rather than to any of the objects involved.  I would
suggest that "Sentence Oriented" would be better placed under the Verb
Oriented category.

That is in part because simple sentences have only a single verb,
although there may be numerous "objects" such as the subject, direct
object, indirect object, prepositional objects, etc.

I also prefer the term "Sentence Oriented" to "Phrase Oriented" because
not all phrases require a verb to be present, and a system dispatching
based on the function seems to require something akin to a verb.

-- 
Thomas A. Russ,  USC/Information Sciences Institute          ···@isi.edu