comp.lang.ada
 help / color / mirror / Atom feed
From: "Fernando D. Mato Mira" <matomira@acm.org>
Subject: Object,Subject,Verb, and Phrase (Sentence) Oriented Programming
Date: 1999/06/16
Date: 1999-06-16T00:00:00+00:00	[thread overview]
Message-ID: <3766E393.3CB871F4@acm.org> (raw)
In-Reply-To: ymizp21cu2v.fsf@sevak.isi.edu

"Thomas A. Russ" wrote:

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

Just got back from dinner and relaxation and the thing got brewing.
See below and give me your opinion [am I psychic or what? ;-)]

> I also prefer the term "Sentence Oriented" to "Phrase Oriented" because

Me too, and also because (for me) it's rythmically more pleasing. However,
then your abbreviations
would be something like SuO and SeO. That's what I meant by more practical.
So I'llcontinue using SO and PO, at least for now, for brevity and clarity.

*** NEW STUFF ***

Although the new terminology in the way it was presented seem to serve
a valid purpose, making communication and understanding easier (as phrases
like
"language with multimethods" or "single-dispatching OO language"), it is
not clear from there whether having them to basically be synoymns for
existing
concepts could not be considered pointless, or whether it would be better
to
use the thems VO, SO and PO only in the context of OO languages, so that
one could just say `a PO language" instead of `a POOO language'
(although SOOO [good], VOOO, and POOO seem quite useful for religious wars
;-) )

But it's possible to do better. In fact, one can talk about VO,SO,and PO in

the different dimensions categorizing a language:

I'll just make up a CO (Complement Oriented) term for the time being to
assign to all the theoretical cases
where it could be a direct object, indirect object, or other part of speech
(so maybe it's better to reserve the `P' for this?)

Key:
PO: Phrase Oriented
VO: Verb Oriented
SO: Subject Oriented
CO: Complement Oriented

Syntax:

VO: v(s,o,i)
SO: s.v(o,i)
PO: s v: o with: i  Shape of a fork (cuttlery), the subject can be seen
        in a symmetric position, not just `before the rest'.
       (v s o) Analogous.

       Whether a (imperative)  sentence should begin or end
       with a verb or not, can change across diffenent natural languages.

No language with strange `CO' syntax exists.

Dispatching:
VO: monomorphic
SO: single dispatch (single dispatch on something that is not the `subject'
in some sense (syntactic position,
       encapsulator) is _theoretically_ possible, it could be said `not
all', but we can define that the `subject'
       at the dispatching level is the distinguished dispatching argument.
[One could say the general case is
      CO, or OO in the non-syntactic (`structural') sense, but that is
another story]
PO: multiple dispatch

Encapsulation:
VO: CLOS, dylan
SO: C++, Eiffel, ...
PO: Cecil

Fortunately, nobody encapsulates methods in the class of a `non-subject'
argument.
But here one could could use CO again. And SO and CO are both `structural'
OO.


So you can say, for example, that Dylan is `a  PO (dispatching) language
withVO syntax and VO encapsulation',
or that Smalltalk is `a SO (dispatching) language with PO syntax (and SO
encapsulation)'


This is getting interesting. Now starts to take form something that could
actually be called a `paper'..


Thanks for your input,

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







       reply	other threads:[~1999-06-16  0:00 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <7k3f2n$3gk$1@news1.Radix.Net>
     [not found] ` <37662F29.F4CFB69F@iname.com>
     [not found]   ` <ymizp21cu2v.fsf@sevak.isi.edu>
1999-06-16  0:00     ` Fernando D. Mato Mira [this message]
1999-06-16  0:00       ` Object,Subject,Verb, and Phrase (Sentence) Oriented Programming Fernando D. Mato Mira
     [not found]         ` <19990617103727.07296.00000475@ng34.aol.com>
1999-06-18  0:00           ` Fernando D. Mato Mira
1999-06-18  0:00             ` Matthew Heaney
1999-06-18  0:00               ` Fernando Mato Mira
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox