| Deutsch English Français Italiano |
|
<86a593infj.fsf@linuxsc.com> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail From: Tim Rentsch <tr.17687@z991.linuxsc.com> Newsgroups: comp.lang.c++ Subject: Re: What is OOP? Date: Sat, 29 Mar 2025 13:36:48 -0700 Organization: A noiseless patient Spider Lines: 36 Message-ID: <86a593infj.fsf@linuxsc.com> References: <d8a5a0d563f0b9b78b34711d12d4975a7941f53a.camel@gmail.com> <gog0ljdjdhdekscrcbpprte8788aerq05h@4ax.com> <OOP-20241218203833@ram.dialup.fu-berlin.de> <86h63rr2yo.fsf@linuxsc.com> <fIgFP.1495528$gHk7.785173@fx17.ams4> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Injection-Date: Sat, 29 Mar 2025 21:36:48 +0100 (CET) Injection-Info: dont-email.me; posting-host="bce5d514645198b751d22fcd37272ca3"; logging-data="2254329"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+L/V40T6yhv4iLiU8WTLAZ5rDpVH/3L0U=" User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.4 (gnu/linux) Cancel-Lock: sha1:dKqawFsbg/YMnP7ahm6pwx+am7A= sha1:Nb6PYIALTm38ypE1FlxgJaR1lS8= Bytes: 2556 Mr Flibble <flibble@reddwarf.jmc.corp> writes: > On Mon, 17 Mar 2025 10:17:51 -0700, Tim Rentsch wrote: > >> ram@zedat.fu-berlin.de (Stefan Ram) writes: [...] >>> |Procedural code (code using data structures) makes it easy to |add new >>> functions without changing the existing data |structures. OO code, on >>> the other hand, makes it easy to add |new classes without changing >>> existing functions. >>> Robert C. Martin >>> >>> |Procedural code makes it hard to add new data structures |because all >>> the functions must change. OO code makes it hard |to add new functions >>> because all the classes must change. >>> Robert C. Martin >> >> Both of these comments make the mistake of conflating OOP with >> programming in languages that have classes. That isn't what Alan meant >> by object-oriented programming. That Smalltalk has classes is >> incidental to what is meant by object-oriented programming; classes in >> Smalltalk are simply a way of implementing the abstract idea of >> "object-oriented programming" that had started in Alan's thinking, and >> actually much earlier than Smalltalk or even Simula. > > Wrong. OOP is: > > * Encapsulation > * Inheritance > * Polymorphism (including LSP) > * Abstractions > > The above necessitates the need for classes or similar. Your view of object-oriented programs is different from Alan Kay's view of object-oriented programming.