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.