Re: What is OOP? --- The most important aspect of OOP

Liste des GroupesRevenir à cl c++ 
Sujet : Re: What is OOP? --- The most important aspect of OOP
De : tr.17687 (at) *nospam* z991.linuxsc.com (Tim Rentsch)
Groupes : comp.lang.c++
Date : 09. Dec 2024, 18:51:06
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <86ldwoiw39.fsf@linuxsc.com>
References : 1 2 3 4
User-Agent : Gnus/5.11 (Gnus v5.11) Emacs/22.4 (gnu/linux)
Richard Damon <richard@damon-family.org> writes:

On 12/6/24 9:40 PM, olcott wrote:
>
On 12/1/2024 10:34 PM, Tim Rentsch wrote:
>
wij <wyniijj5@gmail.com> writes:
>
In response to the question of the subject line...
>
Just because a program is being written in a language that has
functions doesn't mean that what is being done is functional
programming.
>
Just because a program is being written in a language that has
classes and objects doesn't mean that what is being done is
object-oriented programming.
>
More than anything else object-oriented programming is a mindset
or a programming methodology.  It helps if the language being
used supports classes, etc, but the methodology can be used even
in languages that don't have them.
>
A quote:
>
 My guess is that object-oriented programming will be in the
 1980s what structured programming was in the 1970s.
 Everyone will be in favor of it.  Every manufacturer will
 promote his products as supporting it.  Every manager will
 pay lip service to it.  Every programmer will practice it
 (differently).  And no one will know just what it is.
>
That paragraph is taken from a paper written more than 40 years
ago.  The prediction came true with a vengeance, even more than
the author expected.  Most of what has been written about object
oriented programming was done by people who didn't understand it.
>
Two more quotes, these from Alan Kay:
>
 I invented the term "Object Oriented Programming," and C++
 is not what I had in mind.
>
 Though Smalltalk's structure allows the technique now known
 as data abstraction to be easily (and more generally)
 employed, the entire thrust of its design has been to
 supersede the concept of data and procedures entirely;  to
 replace these with the more generally useful notions of
 activity, communication, and inheritance.
>
The most important aspect of OOP is the ability to decompose
a problem into independent component parts.  This can eliminate
the side effects in the structured programming model that
result from global data.
>
Excpet that normally OOP is fully based on the operation resulting in
"side effects" as they mutate the state of the object the methods are
part of.
>
What this does is not ELIMINATE the side effects, but limits their
scope.  A given object type will tend to keep its own state "private"
and interact only with other object via "public" interfaces, allowing
us to limit the scope we need to think of when looking at
interactions.
>
This makes it very different from the "functional" model, where we do
not allow for side-effects.

I agree with the first paragraph, because of the word "normally".  I
think it's important to add that there is no inherent incompatibility
between object-oriented programming and functional programming.  There
are ways to work with classes and objects in a fully functional mode,
in much the same way that one can write code for data structures such
as AVL trees or B-trees that is fully functional (so there are no side
effects to existing trees when adding or deleting elements, for
example).

Date Sujet#  Auteur
1 Dec 24 * What is OOP?45wij
1 Dec 24 +* Re: What is OOP?2Ross Finlayson
1 Dec 24 i`- Re: What is OOP?1Ross Finlayson
1 Dec 24 +* Re: What is OOP?3Lynn McGuire
1 Dec 24 i+- Re: What is OOP?1Ross Finlayson
2 Dec 24 i`- Re: What is OOP?1Bonita Montero
1 Dec 24 +* Re: What is OOP?2Michael S
2 Dec 24 i`- Re: What is OOP?1wij
2 Dec 24 +* Re: What is OOP?6Richard Damon
2 Dec 24 i`* Re: What is OOP?5wij
2 Dec 24 i +- Re: What is OOP?1Richard Damon
8 Dec 24 i `* Re: What is OOP?3Isaac Ganoung
9 Dec 24 i  `* Re: What is OOP?2wij
9 Dec 24 i   `- Re: What is OOP?1wij
2 Dec 24 +* Re: What is OOP?3Chris M. Thomasson
2 Dec 24 i`* Re: What is OOP?2wij
3 Dec 24 i `- Re: What is OOP?1wij
2 Dec 24 +* Re: What is OOP?24Tim Rentsch
2 Dec 24 i+* Re: What is OOP?4Michael S
15 Dec 24 ii`* Re: What is OOP?3Tim Rentsch
15 Dec 24 ii `* Re: What is OOP?2Michael S
17 Dec 24 ii  `- Re: What is OOP?1Tim Rentsch
2 Dec 24 i+* Re: What is OOP?13wij
3 Dec 24 ii`* Re: What is OOP?12Chris M. Thomasson
3 Dec 24 ii +- Re: What is OOP?1wij
3 Dec 24 ii `* Re: What is OOP?10wij
3 Dec 24 ii  `* Re: What is OOP?9Chris M. Thomasson
4 Dec 24 ii   `* Re: What is OOP?8wij
7 Dec 24 ii    +* Re: What is OOP?3Chris M. Thomasson
7 Dec 24 ii    i`* Re: What is OOP?2wij
7 Dec 24 ii    i `- Re: What is OOP?1Ross Finlayson
20 Dec 24 ii    `* Re: What is OOP?4Chris M. Thomasson
20 Dec 24 ii     `* Re: What is OOP?3Chris M. Thomasson
20 Dec 24 ii      `* Re: What is OOP?2Chris M. Thomasson
24 Dec 24 ii       `- Re: What is OOP?1Chris M. Thomasson
7 Dec 24 i`* Re: What is OOP? --- The most important aspect of OOP6olcott
7 Dec 24 i +* Re: What is OOP? --- The most important aspect of OOP4Richard Damon
7 Dec 24 i i+- Re: What is OOP? --- The most important aspect of OOP1olcott
9 Dec 24 i i`* Re: What is OOP? --- The most important aspect of OOP2Tim Rentsch
10 Dec 24 i i `- Re: What is OOP? --- The most important aspect of OOP1Ross Finlayson
7 Dec 24 i `- Re: What is OOP? --- The most important aspect of OOP1wij
4 Dec 24 `* Re: What is OOP?4Rosario19
4 Dec 24  +- Re: What is OOP?1wij
18 Dec 24  `* Re: What is OOP?2Stefan Ram
19 Dec 24   `- Re: What is OOP?1wij

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal