Warning: mysqli::__construct(): (HY000/1203): User howardkn already has more than 'max_user_connections' active connections in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\includes\artfuncs.php on line 21
Failed to connect to MySQL: (1203) User howardkn already has more than 'max_user_connections' active connectionsPath: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Tim Rentsch Newsgroups: comp.lang.c++ Subject: Re: What is OOP? Date: Mon, 16 Dec 2024 23:59:28 -0800 Organization: A noiseless patient Spider Lines: 83 Message-ID: <86o71ahh9b.fsf@linuxsc.com> References: <86frn6og85.fsf@linuxsc.com> <20241202104703.000054f2@yahoo.com> <86v7vlgmmj.fsf@linuxsc.com> <20241215163328.00000e0f@yahoo.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Injection-Date: Tue, 17 Dec 2024 08:59:32 +0100 (CET) Injection-Info: dont-email.me; posting-host="bae58767cdb6c0b535f28978d104ae2f"; logging-data="1748146"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18A1WyLskOybS4cEGISfY8KmgDuA0YlRlw=" User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.4 (gnu/linux) Cancel-Lock: sha1:5eqGUfCObVOmWtlkS87SdNFORj0= sha1:mhJxsUiJgcc5C+tM2GvHeTK1bJE= Bytes: 5674 Michael S writes: > On Sun, 15 Dec 2024 04:24:20 -0800 > Tim Rentsch wrote: > >>> But that does not answer original question, so O.T. >> >> His comment about activity and so forth is very much relevant to >> his view of what "object-oriented programming" means (to the >> extent that I understand what he has said and was trying to say >> in that comment). > > How many words (rough estimate) are required to answer the original > question? > > Your answer to Janis Papanagnou approximately a week ago seems to > suggest that 10,000 words are likely to not suffice, even if those are > words of Alan Key himself. OTOH, relatively short demos have better > chance. > Or do demos have better chance only due to 10,000 words that preceded > them? To address the last question first, in the case of the demo that Fred Brooks saw, he appreciated that /something/ was very different compared to what he was used to, but he didn't yet know what it was (and I'm sure he must have realized that). It's hard to answer the first question, because understanding the answer requires a change in perspective in the person asking the question. A story from my past: my first exposure to programming was in summer school, so probably 8 weeks, certainly no more than 10 weeks. The first half, or maybe even 60 to 70 percent, was FORTRAN (probably FORTRAN IV). I got FORTRAN, it was no problem. For the rest of the session we did System/360 Assembly Language. I was able to get things done in assembly, and thought I understood what was going on (and mostly did, but not everything). Then a question came up: go through the elements of an array without using an index register. I was baffled. The mental model I had constructed for FORTRAN did not suffice to understand assembly. As things turned out a short response from the instructor cleared up my bafflement, but it wasn't just my not understanding, it was that my mental model was wrong. An analogy might be the change in perspective that happened between physics in the 1800s and physics in the first half of the 1900s (that is, after quantum mechanics). Of course my change in perspective wasn't as profound as what was needed for quantum mechanics, but still a change in perspective was needed. Fortunately one short remark from the instructor was enough to do that for me, but it easily might not have been. My thinking was more fluid and malleable when I was a teenager. The problem with trying to answer the question "What is object oriented programming?" is that people want to understand the answer inside a framework that they have built up over decades, and OOP in the sense that Alan means it is a different perspective, a different framework for thinking about programming. For me the change happened in a moment, and what prompted it was at most a sentence or two. On the other hand I had been listening to Alan in "The Alan Kay mystery hour" for what was probably between 50 and 100 hours, and I'm sure that made a difference, but it's hard to point to any specific thing and say that was it. Incidentally he never did try to explain what he meant by the term, or really say very much about it at all; sometimes it would come up in passing but that was it (in my very old and not always reliable memory). There's a paper that was written in the late 1970s -- 1978 IIRC -- by Dan Ingalls ("Daniel H H Ingalls" may be the exact cite) about Smalltalk, which at that time would have been Smalltalk 76. The paper includes a Smalltalk interpreter written in Smalltalk: short but with a surprising amount of detail. I remember a paragraph near the end where Dan tries to convey how programming in Smalltalk is different from conventional programming. I recommend that paper for anyone who is interested in getting an answer to What is OOP. One further thought. I didn't understand the idea of object oriented programming by having it explained to me; I understood it by experiencing programming in a Smalltalk-like environment. So my advice is to try programming a substantial project in Smalltalk. As much as anything else working in Smalltalk has the benefit that there are lots of examples in the form of all the classes and methods that make up the Smalltalk system. The combination of working in the environment and seeing lots of examples done by people who have absorbed the underlying ideas has a good chance of flipping the switch and allowing one to take a new perspective.