Subject-Oriented Programming as per Vlissides et al 
Author Message
 Subject-Oriented Programming as per Vlissides et al

Quote:

> 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.*-*-*.com/

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



Sat, 01 Dec 2001 03:00:00 GMT  
 Subject-Oriented Programming as per Vlissides et al

Quote:

> 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



Sat, 01 Dec 2001 03:00:00 GMT  
 Subject-Oriented Programming as per Vlissides et al

Quote:

>> 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'.

Quote:
> 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

- Show quoted text -

Quote:
> --
> 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



Sat, 01 Dec 2001 03:00:00 GMT  
 Subject-Oriented Programming as per Vlissides et al

Quote:
> - 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.

--



Sat, 01 Dec 2001 03:00:00 GMT  
 Subject-Oriented Programming as per Vlissides et al

Quote:

> 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.

Quote:
> > 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 {*filter*} -------------
Tim Ottinger         Object Mentor      OO Training and

-------------------------------------------------------
We can interpret a bad temper as a sign of inferiority.
                                        -- Alfred Adler



Sun, 02 Dec 2001 03:00:00 GMT  
 Subject-Oriented Programming as per Vlissides et al

: All software is about meeting requirements.

Sometimes I fear software all is about Requirements Meetings.

John



Sun, 02 Dec 2001 03:00:00 GMT  
 Subject-Oriented Programming as per Vlissides et al

Quote:


>: 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:

14619 N Somerset Cr | Tel: (800) 338-6716 |   C++
Green Oaks IL 60048 | Fax: (847) 918-1023 | http://www.oma.com

TINCC.



Mon, 03 Dec 2001 03:00:00 GMT  
 
 [ 9 post ] 

 Relevant Pages 

1. Object,Subject,Verb, and Phrase (Sentence) Oriented Programming

2. subject/obect oriented programming

3. Object,Subject,Verb, and Phrase (Sentence) Oriented Programming

4. Object,Subject,Verb, and Phrase (Sentence) Oriented Programming

5. Object,Subject,Verb, and Phrase (Sentence) Oriented Programming

6. AFP MO:DCA OGL ACIF et al conversion to HTML

7. Newsreader, c.l.a Archive, et al.

8. are green threads et al really cheaper ?

9. Tabbing between controls et al.

10. EVENT:timer ......CW2.003 et.al ..... WINDOWS Template

11. Trees et-al

12. Y2K : for Mel, Anne, Phil et.al

 

 
Powered by phpBB® Forum Software