Path: csiph.com!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail
From: Tim Rentsch
Newsgroups: comp.lang.c++
Subject: Re: What is OOP?
Date: Sat, 29 Mar 2025 13:33:53 -0700
Organization: A noiseless patient Spider
Lines: 27
Message-ID: <86ecyfinke.fsf@linuxsc.com>
References: <86h63rr2yo.fsf@linuxsc.com> <20250320173759.000042df@yahoo.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Injection-Date: Sat, 29 Mar 2025 21:33:53 +0100 (CET)
Injection-Info: dont-email.me; posting-host="bce5d514645198b751d22fcd37272ca3"; logging-data="2254329"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX191II0y+JMQuN6lhoIE64eJ8z0OKSWtKSY="
User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.4 (gnu/linux)
Cancel-Lock: sha1:MxtdM68reCwxCgH3iNO2O/sBezE= sha1:eO+zc7YEaH4ojnRMWJgGPUJLqpA=
Xref: csiph.com comp.lang.c++:122046
Michael S writes:
> On Mon, 17 Mar 2025 10:17:51 -0700
> Tim Rentsch wrote:
>
>> The late binding that Alan is talking about is the binding of
>> messages to processing activity. Note the contrast with calling
>> a function, where the binding of name to what processing is done
>> is static rather than deferred.
>
> It sounds like very flexible paradigm that I very certainly don't want
> to use.
> I like majority of my mistakes caught in compile/link/load time rather
> than in run time.
It's important to understand that object-oriented programming is
more about mindset than it is about any particular set of language
features. In particular, OOP is not incompatible with strong type
checking, especially under the "majority" criterion. There are
languages with classes and inheritance that also impose strict type
checking (OCaml is one example), which I think would get you the
property you want of catching most mistakes before run time. I
don't mean to suggest that a combination "ideal OOP" and perfect
type checking is a solved problem, it isn't. My sense though is
that languages that are available now can supply between 80 and 90
percent of both. You might want to try looking into whether that
could do what you want.