Re: Alexandre Bergel <bergel@iam.unibe.ch>
From: H. S. Lahman (h.lahman_at_verizon.net)
Date: 12/03/03
- Next message: Universe: "Re: 3 Keystones for OO Simulationist Design (Re: Real world modeling."
- Previous message: H. S. Lahman: "Re: Functon/Method- a word or full message."
- In reply to: Alexandre Bergel: "Alexandre Bergel <bergel@iam.unibe.ch>"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Wed, 03 Dec 2003 16:36:10 GMT
Responding to Bergel...
First let me point out that, as a translationist, I am not a language
maven and, in particular, I don't know very much about MLS. So my
comments are just focused on the Oo perspective...
> After 1990 things become clearer with class-based features being
> emphasized. A very few (none?) of new languages are module-based. It
> seems that the prefered machanism for ADT and encapsulation is provided
> by the Object paradigm.
I suspect this is because OO provides for modularization at several
levels. (The notion of class-based modularization is vastly
oversimplified.) Classes provide modularization at the level of
identifiable problem space entities to be abstracted in terms of
encapsulated knowledge and behavior responsibilities.
While a class is logically indivisible in terms of the entity that it
abstracts, it can be further subdivided into attributes (knowledge
responsibilities) and operations (behavior responsibilities). At that
level of modularization one has ADTs for attributes. OO provides
similar encapsulation for operations through methods. In addition, OO
methodologically places constraints (e.g., self-containment) on the
definitions of attributes and methods. IOW, attributes and methods
represent fine-grained modular encapsulation.
At the level of layers and subsystems provides exactly the same sorts of
modularization and encapsulation. Moreover, modern OO practice dictates
that the interfaces for subsystems and layers provide even more
decoupling than class interfaces. So subsystems and layers represent
large scale modularization -- classes on steroids, as it were.
>
> A new trend of languages (Unit of MZScheme and its Java copy Jiazzi,
> MIX(FL), Moby or JavaMod), is coming up where module system is pretty
> advanced and offer features such as instanciation or first class entity.
> But in such case the goal is to offer some higher level of composition
> and not to replace the object paradigm.
I can't speak to the specific examples for lack of knowledge, but I have
noticed a disturbing trend in the industry to try to merge elements of
OO development and functional programming. These are two completely
different construction paradigms that are almost antithetical. IMO, the
paradigms are incompatible and any attempt at merging them is doomed to
inconsistency.
However handy or convenient a feature of one paradigm might seem in a
particular situation, one has to be concerned with how it plays with the
other paradigm in the general case. In the end 3GL languages syntaxes
implement methodological A&D approaches to software construction. Those
methodological approaches depend upon a degree of synergy among their
constituent elements. Inserting elements from other paradigms,
especially ones that are diametrically opposed, seriously risks breaking
the synergy.
*************
There is nothing wrong with me that could
not be cured by a capful of Drano.
H. S. Lahman
hsl@pathfindermda.com
Pathfinder Solutions -- Put MDA to Work
http://www.pathfindersol.com
(888)-OOA-PATH
- Next message: Universe: "Re: 3 Keystones for OO Simulationist Design (Re: Real world modeling."
- Previous message: H. S. Lahman: "Re: Functon/Method- a word or full message."
- In reply to: Alexandre Bergel: "Alexandre Bergel <bergel@iam.unibe.ch>"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
|