Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.c++ > #121174
| From | Tim Rentsch <tr.17687@z991.linuxsc.com> |
|---|---|
| Newsgroups | comp.lang.c++ |
| Subject | Re: What is OOP? --- The most important aspect of OOP |
| Date | 2024-12-09 09:51 -0800 |
| Organization | A noiseless patient Spider |
| 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> |
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
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