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.