lunes, septiembre 11, 2006

OOD en diseños Web

De tanto en tanto, en el foro Comp.Object se inician interesantes discusiones sobre diseño orientado a objetos (sin hablar de algunos que perduran durante largo tiempo -inclsuo años-).
El ocho de septiembre se inició una que seguramente se irá ampliando...titulada "El futuro de la programación orientada a objetos", discurre inicialmente sobre la OOP y los diseños Web, considerándolos básicamente procedurales. Inicia Vibi Varghese:
I am interested in hearing everyone's opinion on what they think the future is of Object Oriented programming.

I have spend most of my career with object oriented concepts (12+ years) but recently with AJAX and the free tools, I really wonder what the future of OO is.

I recently launched a business written completely with free tools like php and AJAX. I worked hard to give everything a structure like we OO programmers are so particular about but honestly there was minimal dependence on OO.

The extend of my reusability might have been include pages, constants, etc.

Are many of you finding widespread use of OO in the web world?

El grupo, con algunos colaboradores permanentes, da algunas razones en favor de OOP, que contribuyen también a perfilar el paradigma. Como siempre, HS Lahman tiene algo que aportar (los resaltados son míos):

Responding to VV...

> I am interested in hearing everyone's opinion on what they think the
> future is of Object Oriented programming.

> I have spend most of my career with object oriented concepts (12+ years
> ) but recently with AJAX and the free tools, I really wonder what the
> future of OO is.

> I recently launched a business written completely with free tools like
> php and AJAX. I worked hard to give everything a structure like we OO
> programmers are so particular about but honestly there was minimal
> dependence on OO.

Huh? It is true that a lot of the RAD CRUD/USER tools and layered model infrastructure are object-based at best. In addition, OSes like Windows and interoperability infrastructures are pretty much a bunch of class wrappers overlaid on function libraries.

But the OOness lies in the OOA/D of the application, which is largely independent of the specific implementation technologies. (The transformation engines used for full code generation from UML OOA models routinely target languages like C or even Assembly for the output.)

> The extend of my reusability might have been include pages, constants

> etc.

Reuse is nice but not a major consideration in using OO techniques. The real objective of OO development is to create maintainable applications in the face of volatile requirements over the product life cycle.

To answer your title question, OO programming is still the only game in town for producing maintainable software. Unfortunately there is a lot
of software called "OO" that is just C or FORTRAN programming with strong typing.

The long term future of OO lies in UML as a 4GL. Currently UML is the only truly general purpose 4GL available and the OO paradigm's emphasis on abstraction is ideally suited to 4GLs because it allows independence from the local computing environment.

Currently we are just moving into a paradigm shift similar to the shift
from 2GLs (BAL) to 3GLs in the early '60s. In another 10-15 years I
fully expect 3GL programmers to be as rare as Assembly programmers
today. Currently the only vehicle in town for that shift is the OO
paradigm.

> Are many of you finding widespread use of OO in the web world?

From what little I've seen, no. Much of current web development seems
to be a throwback to the '60s. That's sad because there really shouldn't be anything different about web development than one finds in typical R-T/E environments. You've got a remote client and asynchronous messages. What's new about that?
[Apocryphal anecdote. A couple of years ago I saw an article in a journal where the author actually claimed the first markup language was invented in 1986. How soon they forget and repeat past mistakes.
Markup and scripting languages were very much in vogue in the late '50s and '60s. But there was a reason why they were abandoned by the early '70s.]

Lahman impulsa Pathfinder, uno de los productos 4GL embarcados en un desarrollo MDD. La discusión desemboca naturalmente en el plano en que se debe establecer: lo importante no es OOP (la programación), sino OOD/OOA, el diseño conceptual y el análisis. Las herramientas 4GL aplican las posibildades de la orientación a objetos en un plano abstracto, implementándolo luego en el medio que se requiera, es decir, lo que va de un modelo PIM (Platform Independent Model) a un modelo PSM (Platform Specific Model) en el esquema MDA...

No hay comentarios.: