Deutsch English Français Italiano |
<853d65692ada3865dafc2c6010539ed20e4e348c.camel@gmail.com> View for Bookmarking (what is this?) Look up another Usenet article |
Path: eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: wij <wyniijj5@gmail.com> Newsgroups: comp.lang.c++ Subject: Re: What is OOP? Date: Mon, 02 Dec 2024 16:49:39 +0800 Organization: A noiseless patient Spider Lines: 70 Message-ID: <853d65692ada3865dafc2c6010539ed20e4e348c.camel@gmail.com> References: <d8a5a0d563f0b9b78b34711d12d4975a7941f53a.camel@gmail.com> <86frn6og85.fsf@linuxsc.com> MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Injection-Date: Mon, 02 Dec 2024 09:49:41 +0100 (CET) Injection-Info: dont-email.me; posting-host="4577dd8d25eca687854d0e4ae5cd6643"; logging-data="3366981"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19EpgQXlFz7mUWUxRAX3jd3" User-Agent: Evolution 3.50.2 (3.50.2-1.fc39) Cancel-Lock: sha1:fLkjRem/9qSlN1FQynBIifwG5oM= In-Reply-To: <86frn6og85.fsf@linuxsc.com> On Sun, 2024-12-01 at 20:34 -0800, Tim Rentsch wrote: > wij <wyniijj5@gmail.com> writes: >=20 > In response to the question of the subject line... >=20 > Just because a program is being written in a language that has > functions doesn't mean that what is being done is functional > programming. >=20 > 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. >=20 > More than anything else object-oriented programming is a mindset > or a programming methodology.=C2=A0 It helps if the language being > used supports classes, etc, but the methodology can be used even > in languages that don't have them. >=20 > A quote: >=20 > =C2=A0=C2=A0=C2=A0 My guess is that object-oriented programming will be i= n the > =C2=A0=C2=A0=C2=A0 1980s what structured programming was in the 1970s. > =C2=A0=C2=A0=C2=A0 Everyone will be in favor of it.=C2=A0 Every manufactu= rer will > =C2=A0=C2=A0=C2=A0 promote his products as supporting it.=C2=A0 Every man= ager will > =C2=A0=C2=A0=C2=A0 pay lip service to it.=C2=A0 Every programmer will pra= ctice it > =C2=A0=C2=A0=C2=A0 (differently).=C2=A0 And no one will know just what it= is. >=20 > That paragraph is taken from a paper written more than 40 years > ago.=C2=A0 The prediction came true with a vengeance, even more than > the author expected.=C2=A0 Most of what has been written about object > oriented programming was done by people who didn't understand it. >=20 > Two more quotes, these from Alan Kay: >=20 > =C2=A0=C2=A0=C2=A0 I invented the term "Object Oriented Programming," and= C++ > =C2=A0=C2=A0=C2=A0 is not what I had in mind. >=20 > =C2=A0=C2=A0=C2=A0 Though Smalltalk's structure allows the technique now = known > =C2=A0=C2=A0=C2=A0 as data abstraction to be easily (and more generally) > =C2=A0=C2=A0=C2=A0 employed, the entire thrust of its design has been to > =C2=A0=C2=A0=C2=A0 supersede the concept of data and procedures entirely;= =C2=A0 to > =C2=A0=C2=A0=C2=A0 replace these with the more generally useful notions o= f > =C2=A0=C2=A0=C2=A0 activity, communication, and inheritance. Thanks for those information (I did not particularly study 'OOP'). From my >20 years of practice, I would say the object+action model=C2=A0 works nearly perfectly. Particularly it is the same idea with=C2=A0 abstract algebra. IOW, OOP is programming abstract algebra for=C2=A0 general problems.=C2=A0 I recently read a book (translation version) https://www.amazon.com/Mind-Motion-Action-Shapes-Thought/dp/046509306X OO is probably also how our brain works. So, yes, we don't absolutely need = OO language to program in OO, OO is natural (thou C++ is very suitable. And, t= here may be other kind of good programming model). Note: A point in 'the' inheritance theory of OO is seriously false. I can't say it right now, it is about inherited class has to delete inherited member.