Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c++ > #121174

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

Path csiph.com!weretis.net!feeder9.news.weretis.net!news.quux.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From Tim Rentsch <tr.17687@z991.linuxsc.com>
Newsgroups comp.lang.c++
Subject Re: What is OOP? --- The most important aspect of OOP
Date Mon, 09 Dec 2024 09:51:06 -0800
Organization A noiseless patient Spider
Lines 75
Message-ID <86ldwoiw39.fsf@linuxsc.com> (permalink)
References <d8a5a0d563f0b9b78b34711d12d4975a7941f53a.camel@gmail.com> <86frn6og85.fsf@linuxsc.com> <vj0cj5$2n835$1@dont-email.me> <90e75c71c42fcf43b89644a46a60e4fff63ecc10@i2pn2.org>
MIME-Version 1.0
Content-Type text/plain; charset=us-ascii
Injection-Date Mon, 09 Dec 2024 18:51:09 +0100 (CET)
Injection-Info dont-email.me; posting-host="892b8ce7ac5e3c5327272332675a4c02"; logging-data="544175"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18ekihXzZ93s/c5A5tP9VpFoFQATl1W/wo="
User-Agent Gnus/5.11 (Gnus v5.11) Emacs/22.4 (gnu/linux)
Cancel-Lock sha1:0/yTR4/IyhrSiSM7dbZ4Xc2sZ8s= sha1:IExZyGkEnNlmakdZ0Nb/RJTnafk=
Xref csiph.com comp.lang.c++:121174

Show key headers only | View raw


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

Back to comp.lang.c++ | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

What is OOP? wij <wyniijj5@gmail.com> - 2024-12-02 01:17 +0800
  Re: What is OOP? Ross Finlayson <ross.a.finlayson@gmail.com> - 2024-12-01 10:43 -0800
    Re: What is OOP? Ross Finlayson <ross.a.finlayson@gmail.com> - 2024-12-01 10:49 -0800
  Re: What is OOP? Lynn McGuire <lynnmcguire5@gmail.com> - 2024-12-01 15:07 -0600
    Re: What is OOP? Ross Finlayson <ross.a.finlayson@gmail.com> - 2024-12-01 13:36 -0800
    Re: What is OOP? Bonita Montero <Bonita.Montero@gmail.com> - 2024-12-02 08:45 +0100
  Re: What is OOP? Michael S <already5chosen@yahoo.com> - 2024-12-01 23:43 +0200
    Re: What is OOP? wij <wyniijj5@gmail.com> - 2024-12-02 09:02 +0800
  Re: What is OOP? Richard Damon <richard@damon-family.org> - 2024-12-01 17:02 -0500
    Re: What is OOP? wij <wyniijj5@gmail.com> - 2024-12-02 08:57 +0800
      Re: What is OOP? Richard Damon <richard@damon-family.org> - 2024-12-02 08:42 -0500
      Re: What is OOP? Isaac Ganoung <inventor500@vivaldi.net> - 2024-12-08 17:56 +0000
        Re: What is OOP? wij <wyniijj5@gmail.com> - 2024-12-09 08:28 +0800
          Re: What is OOP? wij <wyniijj5@gmail.com> - 2024-12-09 09:27 +0800
  Re: What is OOP? "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-12-01 20:11 -0800
    Re: What is OOP? wij <wyniijj5@gmail.com> - 2024-12-02 16:27 +0800
      Re: What is OOP? wij <wyniijj5@gmail.com> - 2024-12-03 20:43 +0800
  Re: What is OOP? Tim Rentsch <tr.17687@z991.linuxsc.com> - 2024-12-01 20:34 -0800
    Re: What is OOP? Michael S <already5chosen@yahoo.com> - 2024-12-02 10:47 +0200
      Re: What is OOP? Tim Rentsch <tr.17687@z991.linuxsc.com> - 2024-12-15 04:24 -0800
        Re: What is OOP? Michael S <already5chosen@yahoo.com> - 2024-12-15 16:33 +0200
          Re: What is OOP? Tim Rentsch <tr.17687@z991.linuxsc.com> - 2024-12-16 23:59 -0800
    Re: What is OOP? wij <wyniijj5@gmail.com> - 2024-12-02 16:49 +0800
      Re: What is OOP? "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-12-02 14:59 -0800
        Re: What is OOP? wij <wyniijj5@gmail.com> - 2024-12-03 18:10 +0800
        Re: What is OOP? wij <wyniijj5@gmail.com> - 2024-12-03 18:38 +0800
          Re: What is OOP? "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-12-03 12:16 -0800
            Re: What is OOP? wij <wyniijj5@gmail.com> - 2024-12-04 08:44 +0800
              Re: What is OOP? "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-12-06 18:16 -0800
                Re: What is OOP? wij <wyniijj5@gmail.com> - 2024-12-08 01:01 +0800
                Re: What is OOP? Ross Finlayson <ross.a.finlayson@gmail.com> - 2024-12-07 10:46 -0800
              Re: What is OOP? "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-12-19 21:15 -0800
                Re: What is OOP? "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-12-19 21:16 -0800
                Re: What is OOP? "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-12-19 21:17 -0800
                Re: What is OOP? "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-12-23 15:59 -0800
    Re: What is OOP? --- The most important aspect of OOP olcott <polcott333@gmail.com> - 2024-12-06 20:40 -0600
      Re: What is OOP? --- The most important aspect of OOP Richard Damon <richard@damon-family.org> - 2024-12-06 21:45 -0500
        Re: What is OOP? --- The most important aspect of OOP olcott <polcott333@gmail.com> - 2024-12-07 14:07 -0600
        Re: What is OOP? --- The most important aspect of OOP Tim Rentsch <tr.17687@z991.linuxsc.com> - 2024-12-09 09:51 -0800
          Re: What is OOP? --- The most important aspect of OOP Ross Finlayson <ross.a.finlayson@gmail.com> - 2024-12-09 17:43 -0800
        Re: What is OOP? --- The most important aspect of OOP Mr Flibble <leigh@i42.co.uk> - 2025-03-01 21:10 +0000
      Re: What is OOP? --- The most important aspect of OOP wij <wyniijj5@gmail.com> - 2024-12-08 00:32 +0800
  Re: What is OOP? Rosario19 <Ros@invalid.invalid> - 2024-12-04 13:14 +0100
    Re: What is OOP? wij <wyniijj5@gmail.com> - 2024-12-04 22:31 +0800
    Re: What is OOP? wij <wyniijj5@gmail.com> - 2024-12-19 10:32 +0800
    Re: What is OOP? Tim Rentsch <tr.17687@z991.linuxsc.com> - 2025-03-17 10:17 -0700
      Re: What is OOP? wij <wyniijj5@gmail.com> - 2025-03-19 04:58 +0800
        Re: What is OOP? wij <wyniijj5@gmail.com> - 2025-03-20 23:04 +0800
      Re: What is OOP? Michael S <already5chosen@yahoo.com> - 2025-03-20 17:37 +0200
        Re: What is OOP? Tim Rentsch <tr.17687@z991.linuxsc.com> - 2025-03-29 13:33 -0700
      Re: What is OOP? Mr Flibble <flibble@reddwarf.jmc.corp> - 2025-03-27 18:23 +0000
        Re: What is OOP? wij <wyniijj5@gmail.com> - 2025-03-29 11:12 +0800
          Re: What is OOP? Mr Flibble <flibble@reddwarf.jmc.corp> - 2025-03-29 05:07 +0000
          Re: What is OOP? Michael S <already5chosen@yahoo.com> - 2025-03-29 20:39 +0300
            Re: What is OOP? Mr Flibble <flibble@reddwarf.jmc.corp> - 2025-03-29 19:03 +0000
        Re: What is OOP? Tim Rentsch <tr.17687@z991.linuxsc.com> - 2025-03-29 13:36 -0700
  Re: What is OOP? wij <wyniijj5@gmail.com> - 2025-09-28 16:02 +0800

csiph-web