Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.c++ > #121103 > unrolled thread
| Started by | wij <wyniijj5@gmail.com> |
|---|---|
| First post | 2024-12-02 01:17 +0800 |
| Last post | 2025-09-28 16:02 +0800 |
| Articles | 20 on this page of 57 — 13 participants |
Back to article view | Back to comp.lang.c++
What is OOP? wij <wyniijj5@gmail.com> - 2024-12-02 01:17 +0800
Re: What is OOP? Ross Finlayson <ross.a.finlayson@gmail.com> - 2024-12-01 10:43 -0800
Re: What is OOP? Ross Finlayson <ross.a.finlayson@gmail.com> - 2024-12-01 10:49 -0800
Re: What is OOP? Lynn McGuire <lynnmcguire5@gmail.com> - 2024-12-01 15:07 -0600
Re: What is OOP? Ross Finlayson <ross.a.finlayson@gmail.com> - 2024-12-01 13:36 -0800
Re: What is OOP? Bonita Montero <Bonita.Montero@gmail.com> - 2024-12-02 08:45 +0100
Re: What is OOP? Michael S <already5chosen@yahoo.com> - 2024-12-01 23:43 +0200
Re: What is OOP? wij <wyniijj5@gmail.com> - 2024-12-02 09:02 +0800
Re: What is OOP? Richard Damon <richard@damon-family.org> - 2024-12-01 17:02 -0500
Re: What is OOP? wij <wyniijj5@gmail.com> - 2024-12-02 08:57 +0800
Re: What is OOP? Richard Damon <richard@damon-family.org> - 2024-12-02 08:42 -0500
Re: What is OOP? Isaac Ganoung <inventor500@vivaldi.net> - 2024-12-08 17:56 +0000
Re: What is OOP? wij <wyniijj5@gmail.com> - 2024-12-09 08:28 +0800
Re: What is OOP? wij <wyniijj5@gmail.com> - 2024-12-09 09:27 +0800
Re: What is OOP? "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-12-01 20:11 -0800
Re: What is OOP? wij <wyniijj5@gmail.com> - 2024-12-02 16:27 +0800
Re: What is OOP? wij <wyniijj5@gmail.com> - 2024-12-03 20:43 +0800
Re: What is OOP? Tim Rentsch <tr.17687@z991.linuxsc.com> - 2024-12-01 20:34 -0800
Re: What is OOP? Michael S <already5chosen@yahoo.com> - 2024-12-02 10:47 +0200
Re: What is OOP? Tim Rentsch <tr.17687@z991.linuxsc.com> - 2024-12-15 04:24 -0800
Re: What is OOP? Michael S <already5chosen@yahoo.com> - 2024-12-15 16:33 +0200
Re: What is OOP? Tim Rentsch <tr.17687@z991.linuxsc.com> - 2024-12-16 23:59 -0800
Re: What is OOP? wij <wyniijj5@gmail.com> - 2024-12-02 16:49 +0800
Re: What is OOP? "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-12-02 14:59 -0800
Re: What is OOP? wij <wyniijj5@gmail.com> - 2024-12-03 18:10 +0800
Re: What is OOP? wij <wyniijj5@gmail.com> - 2024-12-03 18:38 +0800
Re: What is OOP? "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-12-03 12:16 -0800
Re: What is OOP? wij <wyniijj5@gmail.com> - 2024-12-04 08:44 +0800
Re: What is OOP? "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-12-06 18:16 -0800
Re: What is OOP? wij <wyniijj5@gmail.com> - 2024-12-08 01:01 +0800
Re: What is OOP? Ross Finlayson <ross.a.finlayson@gmail.com> - 2024-12-07 10:46 -0800
Re: What is OOP? "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-12-19 21:15 -0800
Re: What is OOP? "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-12-19 21:16 -0800
Re: What is OOP? "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-12-19 21:17 -0800
Re: What is OOP? "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-12-23 15:59 -0800
Re: What is OOP? --- The most important aspect of OOP olcott <polcott333@gmail.com> - 2024-12-06 20:40 -0600
Re: What is OOP? --- The most important aspect of OOP Richard Damon <richard@damon-family.org> - 2024-12-06 21:45 -0500
Re: What is OOP? --- The most important aspect of OOP olcott <polcott333@gmail.com> - 2024-12-07 14:07 -0600
Re: What is OOP? --- The most important aspect of OOP Tim Rentsch <tr.17687@z991.linuxsc.com> - 2024-12-09 09:51 -0800
Re: What is OOP? --- The most important aspect of OOP Ross Finlayson <ross.a.finlayson@gmail.com> - 2024-12-09 17:43 -0800
Re: What is OOP? --- The most important aspect of OOP Mr Flibble <leigh@i42.co.uk> - 2025-03-01 21:10 +0000
Re: What is OOP? --- The most important aspect of OOP wij <wyniijj5@gmail.com> - 2024-12-08 00:32 +0800
Re: What is OOP? Rosario19 <Ros@invalid.invalid> - 2024-12-04 13:14 +0100
Re: What is OOP? wij <wyniijj5@gmail.com> - 2024-12-04 22:31 +0800
Re: What is OOP? wij <wyniijj5@gmail.com> - 2024-12-19 10:32 +0800
Re: What is OOP? Tim Rentsch <tr.17687@z991.linuxsc.com> - 2025-03-17 10:17 -0700
Re: What is OOP? wij <wyniijj5@gmail.com> - 2025-03-19 04:58 +0800
Re: What is OOP? wij <wyniijj5@gmail.com> - 2025-03-20 23:04 +0800
Re: What is OOP? Michael S <already5chosen@yahoo.com> - 2025-03-20 17:37 +0200
Re: What is OOP? Tim Rentsch <tr.17687@z991.linuxsc.com> - 2025-03-29 13:33 -0700
Re: What is OOP? Mr Flibble <flibble@reddwarf.jmc.corp> - 2025-03-27 18:23 +0000
Re: What is OOP? wij <wyniijj5@gmail.com> - 2025-03-29 11:12 +0800
Re: What is OOP? Mr Flibble <flibble@reddwarf.jmc.corp> - 2025-03-29 05:07 +0000
Re: What is OOP? Michael S <already5chosen@yahoo.com> - 2025-03-29 20:39 +0300
Re: What is OOP? Mr Flibble <flibble@reddwarf.jmc.corp> - 2025-03-29 19:03 +0000
Re: What is OOP? Tim Rentsch <tr.17687@z991.linuxsc.com> - 2025-03-29 13:36 -0700
Re: What is OOP? wij <wyniijj5@gmail.com> - 2025-09-28 16:02 +0800
Page 2 of 3 — ← Prev page 1 [2] 3 Next page →
| From | Michael S <already5chosen@yahoo.com> |
|---|---|
| Date | 2024-12-15 16:33 +0200 |
| Message-ID | <20241215163328.00000e0f@yahoo.com> |
| In reply to | #121207 |
On Sun, 15 Dec 2024 04:24:20 -0800 Tim Rentsch <tr.17687@z991.linuxsc.com> 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?
[toc] | [prev] | [next] | [standalone]
| From | Tim Rentsch <tr.17687@z991.linuxsc.com> |
|---|---|
| Date | 2024-12-16 23:59 -0800 |
| Message-ID | <86o71ahh9b.fsf@linuxsc.com> |
| In reply to | #121209 |
Michael S <already5chosen@yahoo.com> writes:
> On Sun, 15 Dec 2024 04:24:20 -0800
> Tim Rentsch <tr.17687@z991.linuxsc.com> 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.
[toc] | [prev] | [next] | [standalone]
| From | wij <wyniijj5@gmail.com> |
|---|---|
| Date | 2024-12-02 16:49 +0800 |
| Message-ID | <853d65692ada3865dafc2c6010539ed20e4e348c.camel@gmail.com> |
| In reply to | #121117 |
On Sun, 2024-12-01 at 20:34 -0800, Tim Rentsch wrote:
> wij <wyniijj5@gmail.com> writes:
>
> In response to the question of the subject line...
>
> Just because a program is being written in a language that has
> functions doesn't mean that what is being done is functional
> programming.
>
> 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.
>
> More than anything else object-oriented programming is a mindset
> or a programming methodology. It helps if the language being
> used supports classes, etc, but the methodology can be used even
> in languages that don't have them.
>
> A quote:
>
> My guess is that object-oriented programming will be in the
> 1980s what structured programming was in the 1970s.
> Everyone will be in favor of it. Every manufacturer will
> promote his products as supporting it. Every manager will
> pay lip service to it. Every programmer will practice it
> (differently). And no one will know just what it is.
>
> That paragraph is taken from a paper written more than 40 years
> ago. The prediction came true with a vengeance, even more than
> the author expected. Most of what has been written about object
> oriented programming was done by people who didn't understand it.
>
> Two more quotes, these from Alan Kay:
>
> I invented the term "Object Oriented Programming," and C++
> is not what I had in mind.
>
> Though Smalltalk's structure allows the technique now known
> as data abstraction to be easily (and more generally)
> employed, the entire thrust of its design has been to
> supersede the concept of data and procedures entirely; to
> replace these with the more generally useful notions of
> 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
works nearly perfectly. Particularly it is the same idea with
abstract algebra. IOW, OOP is programming abstract algebra for
general problems.
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, there
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.
[toc] | [prev] | [next] | [standalone]
| From | "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> |
|---|---|
| Date | 2024-12-02 14:59 -0800 |
| Message-ID | <vile40$3k3j8$1@dont-email.me> |
| In reply to | #121123 |
On 12/2/2024 12:49 AM, wij wrote: > On Sun, 2024-12-01 at 20:34 -0800, Tim Rentsch wrote: >> wij <wyniijj5@gmail.com> writes: >> >> In response to the question of the subject line... >> >> Just because a program is being written in a language that has >> functions doesn't mean that what is being done is functional >> programming. >> >> 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. >> >> More than anything else object-oriented programming is a mindset >> or a programming methodology. It helps if the language being >> used supports classes, etc, but the methodology can be used even >> in languages that don't have them. >> >> A quote: >> >> My guess is that object-oriented programming will be in the >> 1980s what structured programming was in the 1970s. >> Everyone will be in favor of it. Every manufacturer will >> promote his products as supporting it. Every manager will >> pay lip service to it. Every programmer will practice it >> (differently). And no one will know just what it is. >> >> That paragraph is taken from a paper written more than 40 years >> ago. The prediction came true with a vengeance, even more than >> the author expected. Most of what has been written about object >> oriented programming was done by people who didn't understand it. >> >> Two more quotes, these from Alan Kay: >> >> I invented the term "Object Oriented Programming," and C++ >> is not what I had in mind. >> >> Though Smalltalk's structure allows the technique now known >> as data abstraction to be easily (and more generally) >> employed, the entire thrust of its design has been to >> supersede the concept of data and procedures entirely; to >> replace these with the more generally useful notions of >> 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 > works nearly perfectly. Particularly it is the same idea with > abstract algebra. IOW, OOP is programming abstract algebra for > general problems. > 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, there > 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. > Have you ever messed around with cohort scheduling? Not sure why I am thinking of that now after reading your response. Humm... https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/tr-2001-39.pdf
[toc] | [prev] | [next] | [standalone]
| From | wij <wyniijj5@gmail.com> |
|---|---|
| Date | 2024-12-03 18:10 +0800 |
| Message-ID | <b288e54b383b786eec695735c1a3a2652334cea5.camel@gmail.com> |
| In reply to | #121129 |
On Mon, 2024-12-02 at 14:59 -0800, Chris M. Thomasson wrote: > On 12/2/2024 12:49 AM, wij wrote: > > On Sun, 2024-12-01 at 20:34 -0800, Tim Rentsch wrote: > > > wij <wyniijj5@gmail.com> writes: > > > > > > In response to the question of the subject line... > > > > > > Just because a program is being written in a language that has > > > functions doesn't mean that what is being done is functional > > > programming. > > > > > > 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. > > > > > > More than anything else object-oriented programming is a mindset > > > or a programming methodology. It helps if the language being > > > used supports classes, etc, but the methodology can be used even > > > in languages that don't have them. > > > > > > A quote: > > > > > > My guess is that object-oriented programming will be in the > > > 1980s what structured programming was in the 1970s. > > > Everyone will be in favor of it. Every manufacturer will > > > promote his products as supporting it. Every manager will > > > pay lip service to it. Every programmer will practice it > > > (differently). And no one will know just what it is. > > > > > > That paragraph is taken from a paper written more than 40 years > > > ago. The prediction came true with a vengeance, even more than > > > the author expected. Most of what has been written about object > > > oriented programming was done by people who didn't understand it. > > > > > > Two more quotes, these from Alan Kay: > > > > > > I invented the term "Object Oriented Programming," and C++ > > > is not what I had in mind. > > > > > > Though Smalltalk's structure allows the technique now known > > > as data abstraction to be easily (and more generally) > > > employed, the entire thrust of its design has been to > > > supersede the concept of data and procedures entirely; to > > > replace these with the more generally useful notions of > > > 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 > > works nearly perfectly. Particularly it is the same idea with > > abstract algebra. IOW, OOP is programming abstract algebra for > > general problems. > > 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, there > > 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. > > > > Have you ever messed around with cohort scheduling? Not sure why I am > thinking of that now after reading your response. Humm... > > https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/tr-2001-39.pdf Nope. Typical problem of messing around that kind of low-levelness is the cost/profit value is high. For some, the c/p is good, not me.
[toc] | [prev] | [next] | [standalone]
| From | wij <wyniijj5@gmail.com> |
|---|---|
| Date | 2024-12-03 18:38 +0800 |
| Message-ID | <f4160b394cf17e59f10b2ed1c02db87045849f4a.camel@gmail.com> |
| In reply to | #121129 |
On Mon, 2024-12-02 at 14:59 -0800, Chris M. Thomasson wrote: > On 12/2/2024 12:49 AM, wij wrote: > > On Sun, 2024-12-01 at 20:34 -0800, Tim Rentsch wrote: > > > wij <wyniijj5@gmail.com> writes: > > > > > > In response to the question of the subject line... > > > > > > Just because a program is being written in a language that has > > > functions doesn't mean that what is being done is functional > > > programming. > > > > > > 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. > > > > > > More than anything else object-oriented programming is a mindset > > > or a programming methodology. It helps if the language being > > > used supports classes, etc, but the methodology can be used even > > > in languages that don't have them. > > > > > > A quote: > > > > > > My guess is that object-oriented programming will be in the > > > 1980s what structured programming was in the 1970s. > > > Everyone will be in favor of it. Every manufacturer will > > > promote his products as supporting it. Every manager will > > > pay lip service to it. Every programmer will practice it > > > (differently). And no one will know just what it is. > > > > > > That paragraph is taken from a paper written more than 40 years > > > ago. The prediction came true with a vengeance, even more than > > > the author expected. Most of what has been written about object > > > oriented programming was done by people who didn't understand it. > > > > > > Two more quotes, these from Alan Kay: > > > > > > I invented the term "Object Oriented Programming," and C++ > > > is not what I had in mind. > > > > > > Though Smalltalk's structure allows the technique now known > > > as data abstraction to be easily (and more generally) > > > employed, the entire thrust of its design has been to > > > supersede the concept of data and procedures entirely; to > > > replace these with the more generally useful notions of > > > 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 > > works nearly perfectly. Particularly it is the same idea with > > abstract algebra. IOW, OOP is programming abstract algebra for > > general problems. > > 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, there > > 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. > > > > Have you ever messed around with cohort scheduling? Not sure why I am > thinking of that now after reading your response. Humm... > > https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/tr-2001-39.pdf Just like the reason libwy uses POSIX API, mostly, and does pretend it is not. If you want to understand the basic programming objects, try POSIX thread first (even just by reading the manual is helpful enough) not that from C++std library. There are many books talk about POSIX threads in C. mess around those C codes, then you get the real thing.
[toc] | [prev] | [next] | [standalone]
| From | "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> |
|---|---|
| Date | 2024-12-03 12:16 -0800 |
| Message-ID | <vinovj$aonc$1@dont-email.me> |
| In reply to | #121135 |
On 12/3/2024 2:38 AM, wij wrote: > On Mon, 2024-12-02 at 14:59 -0800, Chris M. Thomasson wrote: >> On 12/2/2024 12:49 AM, wij wrote: >>> On Sun, 2024-12-01 at 20:34 -0800, Tim Rentsch wrote: >>>> wij <wyniijj5@gmail.com> writes: >>>> >>>> In response to the question of the subject line... >>>> >>>> Just because a program is being written in a language that has >>>> functions doesn't mean that what is being done is functional >>>> programming. >>>> >>>> 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. >>>> >>>> More than anything else object-oriented programming is a mindset >>>> or a programming methodology. It helps if the language being >>>> used supports classes, etc, but the methodology can be used even >>>> in languages that don't have them. >>>> >>>> A quote: >>>> >>>> My guess is that object-oriented programming will be in the >>>> 1980s what structured programming was in the 1970s. >>>> Everyone will be in favor of it. Every manufacturer will >>>> promote his products as supporting it. Every manager will >>>> pay lip service to it. Every programmer will practice it >>>> (differently). And no one will know just what it is. >>>> >>>> That paragraph is taken from a paper written more than 40 years >>>> ago. The prediction came true with a vengeance, even more than >>>> the author expected. Most of what has been written about object >>>> oriented programming was done by people who didn't understand it. >>>> >>>> Two more quotes, these from Alan Kay: >>>> >>>> I invented the term "Object Oriented Programming," and C++ >>>> is not what I had in mind. >>>> >>>> Though Smalltalk's structure allows the technique now known >>>> as data abstraction to be easily (and more generally) >>>> employed, the entire thrust of its design has been to >>>> supersede the concept of data and procedures entirely; to >>>> replace these with the more generally useful notions of >>>> 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 >>> works nearly perfectly. Particularly it is the same idea with >>> abstract algebra. IOW, OOP is programming abstract algebra for >>> general problems. >>> 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, there >>> 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. >>> >> >> Have you ever messed around with cohort scheduling? Not sure why I am >> thinking of that now after reading your response. Humm... >> >> https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/tr-2001-39.pdf > > Just like the reason libwy uses POSIX API, mostly, and does pretend it is not. > If you want to understand the basic programming objects, try POSIX thread first > (even just by reading the manual is helpful enough) not that from C++std library. > > There are many books talk about POSIX threads in C. mess around those C codes, then > you get the real thing. > Fwiw, I used POSIX Threads for many years. Heck, I even used to converse with the Man himself... ;^) Dave Butenhof over on c.p.t, back in its glory days. He wrote an interesting book: https://www.amazon.com/Programming-POSIX-Threads-David-Butenhof/dp/0201633922 It was fun talking to him. :^) So, I know how to use POSIX, and PThreads to boot. Then, when C/C++11 came out, well... I started to port some of my work over to it. They work well and are more standard than PThreads in a sense? Fwiw, my pthread lib of choice over in the windows world was: https://sourceware.org/pthreads-win32/ I remember back when I won a brand new SunFire t2000 server (before they were available for sale to the public) wrt the CoolThreads contest with my experimental vZoom project. I used PThreads on Solaris for that. fun times! :^D
[toc] | [prev] | [next] | [standalone]
| From | wij <wyniijj5@gmail.com> |
|---|---|
| Date | 2024-12-04 08:44 +0800 |
| Message-ID | <21243d708de746fc708ba7b9eeaf5a5e2b655518.camel@gmail.com> |
| In reply to | #121138 |
On Tue, 2024-12-03 at 12:16 -0800, Chris M. Thomasson wrote: > On 12/3/2024 2:38 AM, wij wrote: > > On Mon, 2024-12-02 at 14:59 -0800, Chris M. Thomasson wrote: > > > On 12/2/2024 12:49 AM, wij wrote: > > > > On Sun, 2024-12-01 at 20:34 -0800, Tim Rentsch wrote: > > > > > wij <wyniijj5@gmail.com> writes: > > > > > > > > > > In response to the question of the subject line... > > > > > > > > > > Just because a program is being written in a language that has > > > > > functions doesn't mean that what is being done is functional > > > > > programming. > > > > > > > > > > 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. > > > > > > > > > > More than anything else object-oriented programming is a mindset > > > > > or a programming methodology. It helps if the language being > > > > > used supports classes, etc, but the methodology can be used even > > > > > in languages that don't have them. > > > > > > > > > > A quote: > > > > > > > > > > My guess is that object-oriented programming will be in the > > > > > 1980s what structured programming was in the 1970s. > > > > > Everyone will be in favor of it. Every manufacturer will > > > > > promote his products as supporting it. Every manager will > > > > > pay lip service to it. Every programmer will practice it > > > > > (differently). And no one will know just what it is. > > > > > > > > > > That paragraph is taken from a paper written more than 40 years > > > > > ago. The prediction came true with a vengeance, even more than > > > > > the author expected. Most of what has been written about object > > > > > oriented programming was done by people who didn't understand it. > > > > > > > > > > Two more quotes, these from Alan Kay: > > > > > > > > > > I invented the term "Object Oriented Programming," and C++ > > > > > is not what I had in mind. > > > > > > > > > > Though Smalltalk's structure allows the technique now known > > > > > as data abstraction to be easily (and more generally) > > > > > employed, the entire thrust of its design has been to > > > > > supersede the concept of data and procedures entirely; to > > > > > replace these with the more generally useful notions of > > > > > 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 > > > > works nearly perfectly. Particularly it is the same idea with > > > > abstract algebra. IOW, OOP is programming abstract algebra for > > > > general problems. > > > > 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, there > > > > 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. > > > > > > > > > > Have you ever messed around with cohort scheduling? Not sure why I am > > > thinking of that now after reading your response. Humm... > > > > > > https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/tr-2001-39.pdf > > > > Just like the reason libwy uses POSIX API, mostly, and does pretend it is not. > > If you want to understand the basic programming objects, try POSIX thread first > > (even just by reading the manual is helpful enough) not that from C++std library. > > > > There are many books talk about POSIX threads in C. mess around those C codes, then > > you get the real thing. > > > > Fwiw, I used POSIX Threads for many years. Heck, I even used to converse > with the Man himself... ;^) Dave Butenhof over on c.p.t, back in its > glory days. He wrote an interesting book: > > https://www.amazon.com/Programming-POSIX-Threads-David-Butenhof/dp/0201633922 > > It was fun talking to him. :^) Yup, I remember those days, he was diligent answering all sorts of questions about pthreading. In the same period, c++ was super busy. > So, I know how to use POSIX, and PThreads to boot. Then, when C/C++11 > came out, well... I started to port some of my work over to it. They > work well and are more standard than PThreads in a sense? > > Fwiw, my pthread lib of choice over in the windows world was: > > https://sourceware.org/pthreads-win32/ > > I remember back when I won a brand new SunFire t2000 server (before they > were available for sale to the public) wrt the CoolThreads contest with > my experimental vZoom project. I used PThreads on Solaris for that. fun > times! :^D That made me feel I was a bit awkward. OK, let's say it C++'s fault.
[toc] | [prev] | [next] | [standalone]
| From | "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> |
|---|---|
| Date | 2024-12-06 18:16 -0800 |
| Message-ID | <vj0b68$2mqem$1@dont-email.me> |
| In reply to | #121143 |
On 12/3/2024 4:44 PM, wij wrote: > On Tue, 2024-12-03 at 12:16 -0800, Chris M. Thomasson wrote: >> On 12/3/2024 2:38 AM, wij wrote: >>> On Mon, 2024-12-02 at 14:59 -0800, Chris M. Thomasson wrote: >>>> On 12/2/2024 12:49 AM, wij wrote: >>>>> On Sun, 2024-12-01 at 20:34 -0800, Tim Rentsch wrote: >>>>>> wij <wyniijj5@gmail.com> writes: >>>>>> >>>>>> In response to the question of the subject line... >>>>>> >>>>>> Just because a program is being written in a language that has >>>>>> functions doesn't mean that what is being done is functional >>>>>> programming. >>>>>> >>>>>> 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. >>>>>> >>>>>> More than anything else object-oriented programming is a mindset >>>>>> or a programming methodology. It helps if the language being >>>>>> used supports classes, etc, but the methodology can be used even >>>>>> in languages that don't have them. >>>>>> >>>>>> A quote: >>>>>> >>>>>> My guess is that object-oriented programming will be in the >>>>>> 1980s what structured programming was in the 1970s. >>>>>> Everyone will be in favor of it. Every manufacturer will >>>>>> promote his products as supporting it. Every manager will >>>>>> pay lip service to it. Every programmer will practice it >>>>>> (differently). And no one will know just what it is. >>>>>> >>>>>> That paragraph is taken from a paper written more than 40 years >>>>>> ago. The prediction came true with a vengeance, even more than >>>>>> the author expected. Most of what has been written about object >>>>>> oriented programming was done by people who didn't understand it. >>>>>> >>>>>> Two more quotes, these from Alan Kay: >>>>>> >>>>>> I invented the term "Object Oriented Programming," and C++ >>>>>> is not what I had in mind. >>>>>> >>>>>> Though Smalltalk's structure allows the technique now known >>>>>> as data abstraction to be easily (and more generally) >>>>>> employed, the entire thrust of its design has been to >>>>>> supersede the concept of data and procedures entirely; to >>>>>> replace these with the more generally useful notions of >>>>>> 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 >>>>> works nearly perfectly. Particularly it is the same idea with >>>>> abstract algebra. IOW, OOP is programming abstract algebra for >>>>> general problems. >>>>> 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, there >>>>> 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. >>>>> >>>> >>>> Have you ever messed around with cohort scheduling? Not sure why I am >>>> thinking of that now after reading your response. Humm... >>>> >>>> https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/tr-2001-39.pdf >>> >>> Just like the reason libwy uses POSIX API, mostly, and does pretend it is not. >>> If you want to understand the basic programming objects, try POSIX thread first >>> (even just by reading the manual is helpful enough) not that from C++std library. >>> >>> There are many books talk about POSIX threads in C. mess around those C codes, then >>> you get the real thing. >>> >> >> Fwiw, I used POSIX Threads for many years. Heck, I even used to converse >> with the Man himself... ;^) Dave Butenhof over on c.p.t, back in its >> glory days. He wrote an interesting book: >> >> https://www.amazon.com/Programming-POSIX-Threads-David-Butenhof/dp/0201633922 >> >> It was fun talking to him. :^) > > Yup, I remember those days, he was diligent answering all sorts of questions > about pthreading. In the same period, c++ was super busy. :^D So you know the realm of those "good times" for sure! >> So, I know how to use POSIX, and PThreads to boot. Then, when C/C++11 >> came out, well... I started to port some of my work over to it. They >> work well and are more standard than PThreads in a sense? >> >> Fwiw, my pthread lib of choice over in the windows world was: >> >> https://sourceware.org/pthreads-win32/ >> >> I remember back when I won a brand new SunFire t2000 server (before they >> were available for sale to the public) wrt the CoolThreads contest with >> my experimental vZoom project. I used PThreads on Solaris for that. fun >> times! :^D > > That made me feel I was a bit awkward. OK, let's say it C++'s fault. > I need to find that old post over on c.p.t about a time when GCC sure seemed to break a pthread_mutex_trylock function call, wrt its critical section indeed.
[toc] | [prev] | [next] | [standalone]
| From | wij <wyniijj5@gmail.com> |
|---|---|
| Date | 2024-12-08 01:01 +0800 |
| Message-ID | <4253cd7cea02cd1bbbd0cebd18af9673ba2199a5.camel@gmail.com> |
| In reply to | #121152 |
On Fri, 2024-12-06 at 18:16 -0800, Chris M. Thomasson wrote: > On 12/3/2024 4:44 PM, wij wrote: > > On Tue, 2024-12-03 at 12:16 -0800, Chris M. Thomasson wrote: > > > On 12/3/2024 2:38 AM, wij wrote: > > > > On Mon, 2024-12-02 at 14:59 -0800, Chris M. Thomasson wrote: > > > > > On 12/2/2024 12:49 AM, wij wrote: > > > > > > On Sun, 2024-12-01 at 20:34 -0800, Tim Rentsch wrote: > > > > > > > wij <wyniijj5@gmail.com> writes: > > > > > > > > > > > > > > In response to the question of the subject line... > > > > > > > > > > > > > > Just because a program is being written in a language that has > > > > > > > functions doesn't mean that what is being done is functional > > > > > > > programming. > > > > > > > > > > > > > > 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. > > > > > > > > > > > > > > More than anything else object-oriented programming is a mindset > > > > > > > or a programming methodology. It helps if the language being > > > > > > > used supports classes, etc, but the methodology can be used even > > > > > > > in languages that don't have them. > > > > > > > > > > > > > > A quote: > > > > > > > > > > > > > > My guess is that object-oriented programming will be in the > > > > > > > 1980s what structured programming was in the 1970s. > > > > > > > Everyone will be in favor of it. Every manufacturer will > > > > > > > promote his products as supporting it. Every manager will > > > > > > > pay lip service to it. Every programmer will practice it > > > > > > > (differently). And no one will know just what it is. > > > > > > > > > > > > > > That paragraph is taken from a paper written more than 40 years > > > > > > > ago. The prediction came true with a vengeance, even more than > > > > > > > the author expected. Most of what has been written about object > > > > > > > oriented programming was done by people who didn't understand it. > > > > > > > > > > > > > > Two more quotes, these from Alan Kay: > > > > > > > > > > > > > > I invented the term "Object Oriented Programming," and C++ > > > > > > > is not what I had in mind. > > > > > > > > > > > > > > Though Smalltalk's structure allows the technique now known > > > > > > > as data abstraction to be easily (and more generally) > > > > > > > employed, the entire thrust of its design has been to > > > > > > > supersede the concept of data and procedures entirely; to > > > > > > > replace these with the more generally useful notions of > > > > > > > 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 > > > > > > works nearly perfectly. Particularly it is the same idea with > > > > > > abstract algebra. IOW, OOP is programming abstract algebra for > > > > > > general problems. > > > > > > 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, there > > > > > > 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. > > > > > > > > > > > > > > > > Have you ever messed around with cohort scheduling? Not sure why I am > > > > > thinking of that now after reading your response. Humm... > > > > > > > > > > https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/tr-2001-39.pdf > > > > > > > > Just like the reason libwy uses POSIX API, mostly, and does pretend it is not. > > > > If you want to understand the basic programming objects, try POSIX thread first > > > > (even just by reading the manual is helpful enough) not that from C++std library. > > > > > > > > There are many books talk about POSIX threads in C. mess around those C codes, then > > > > you get the real thing. > > > > > > > > > > Fwiw, I used POSIX Threads for many years. Heck, I even used to converse > > > with the Man himself... ;^) Dave Butenhof over on c.p.t, back in its > > > glory days. He wrote an interesting book: > > > > > > https://www.amazon.com/Programming-POSIX-Threads-David-Butenhof/dp/0201633922 > > > > > > It was fun talking to him. :^) > > > > Yup, I remember those days, he was diligent answering all sorts of questions > > about pthreading. In the same period, c++ was super busy. > > :^D So you know the realm of those "good times" for sure! > > > > > So, I know how to use POSIX, and PThreads to boot. Then, when C/C++11 > > > came out, well... I started to port some of my work over to it. They > > > work well and are more standard than PThreads in a sense? > > > > > > Fwiw, my pthread lib of choice over in the windows world was: > > > > > > https://sourceware.org/pthreads-win32/ > > > > > > I remember back when I won a brand new SunFire t2000 server (before they > > > were available for sale to the public) wrt the CoolThreads contest with > > > my experimental vZoom project. I used PThreads on Solaris for that. fun > > > times! :^D > > > > That made me feel I was a bit awkward. OK, let's say it C++'s fault. > > > > I need to find that old post over on c.p.t about a time when GCC sure > seemed to break a pthread_mutex_trylock function call, wrt its critical > section indeed. If it was about Linux Thread (changed to NPTL), it was full of bugs. libwy still contains old codes for Linux Thread not removed. I now focus on using process, and planning to use process instead of thread for muti-tasking for the future (for the coming NPU, AI era, whatever). Also thanks to decades of practice of those 'C-people', process is relatively more mature than thread.
[toc] | [prev] | [next] | [standalone]
| From | Ross Finlayson <ross.a.finlayson@gmail.com> |
|---|---|
| Date | 2024-12-07 10:46 -0800 |
| Message-ID | <YoecnZnC9d6bBcn6nZ2dnZfqnPudnZ2d@giganews.com> |
| In reply to | #121157 |
On 12/07/2024 09:01 AM, wij wrote: > On Fri, 2024-12-06 at 18:16 -0800, Chris M. Thomasson wrote: >> On 12/3/2024 4:44 PM, wij wrote: >>> On Tue, 2024-12-03 at 12:16 -0800, Chris M. Thomasson wrote: >>>> On 12/3/2024 2:38 AM, wij wrote: >>>>> On Mon, 2024-12-02 at 14:59 -0800, Chris M. Thomasson wrote: >>>>>> On 12/2/2024 12:49 AM, wij wrote: >>>>>>> On Sun, 2024-12-01 at 20:34 -0800, Tim Rentsch wrote: >>>>>>>> wij <wyniijj5@gmail.com> writes: >>>>>>>> >>>>>>>> In response to the question of the subject line... >>>>>>>> >>>>>>>> Just because a program is being written in a language that has >>>>>>>> functions doesn't mean that what is being done is functional >>>>>>>> programming. >>>>>>>> >>>>>>>> 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. >>>>>>>> >>>>>>>> More than anything else object-oriented programming is a mindset >>>>>>>> or a programming methodology. It helps if the language being >>>>>>>> used supports classes, etc, but the methodology can be used even >>>>>>>> in languages that don't have them. >>>>>>>> >>>>>>>> A quote: >>>>>>>> >>>>>>>> My guess is that object-oriented programming will be in the >>>>>>>> 1980s what structured programming was in the 1970s. >>>>>>>> Everyone will be in favor of it. Every manufacturer will >>>>>>>> promote his products as supporting it. Every manager will >>>>>>>> pay lip service to it. Every programmer will practice it >>>>>>>> (differently). And no one will know just what it is. >>>>>>>> >>>>>>>> That paragraph is taken from a paper written more than 40 years >>>>>>>> ago. The prediction came true with a vengeance, even more than >>>>>>>> the author expected. Most of what has been written about object >>>>>>>> oriented programming was done by people who didn't understand it. >>>>>>>> >>>>>>>> Two more quotes, these from Alan Kay: >>>>>>>> >>>>>>>> I invented the term "Object Oriented Programming," and C++ >>>>>>>> is not what I had in mind. >>>>>>>> >>>>>>>> Though Smalltalk's structure allows the technique now known >>>>>>>> as data abstraction to be easily (and more generally) >>>>>>>> employed, the entire thrust of its design has been to >>>>>>>> supersede the concept of data and procedures entirely; to >>>>>>>> replace these with the more generally useful notions of >>>>>>>> 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 >>>>>>> works nearly perfectly. Particularly it is the same idea with >>>>>>> abstract algebra. IOW, OOP is programming abstract algebra for >>>>>>> general problems. >>>>>>> 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, there >>>>>>> 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. >>>>>>> >>>>>> >>>>>> Have you ever messed around with cohort scheduling? Not sure why I am >>>>>> thinking of that now after reading your response. Humm... >>>>>> >>>>>> https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/tr-2001-39.pdf >>>>> >>>>> Just like the reason libwy uses POSIX API, mostly, and does pretend it is not. >>>>> If you want to understand the basic programming objects, try POSIX thread first >>>>> (even just by reading the manual is helpful enough) not that from C++std library. >>>>> >>>>> There are many books talk about POSIX threads in C. mess around those C codes, then >>>>> you get the real thing. >>>>> >>>> >>>> Fwiw, I used POSIX Threads for many years. Heck, I even used to converse >>>> with the Man himself... ;^) Dave Butenhof over on c.p.t, back in its >>>> glory days. He wrote an interesting book: >>>> >>>> https://www.amazon.com/Programming-POSIX-Threads-David-Butenhof/dp/0201633922 >>>> >>>> It was fun talking to him. :^) >>> >>> Yup, I remember those days, he was diligent answering all sorts of questions >>> about pthreading. In the same period, c++ was super busy. >> >> :^D So you know the realm of those "good times" for sure! >> >> >>>> So, I know how to use POSIX, and PThreads to boot. Then, when C/C++11 >>>> came out, well... I started to port some of my work over to it. They >>>> work well and are more standard than PThreads in a sense? >>>> >>>> Fwiw, my pthread lib of choice over in the windows world was: >>>> >>>> https://sourceware.org/pthreads-win32/ >>>> >>>> I remember back when I won a brand new SunFire t2000 server (before they >>>> were available for sale to the public) wrt the CoolThreads contest with >>>> my experimental vZoom project. I used PThreads on Solaris for that. fun >>>> times! :^D >>> >>> That made me feel I was a bit awkward. OK, let's say it C++'s fault. >>> >> >> I need to find that old post over on c.p.t about a time when GCC sure >> seemed to break a pthread_mutex_trylock function call, wrt its critical >> section indeed. > > If it was about Linux Thread (changed to NPTL), it was full of bugs. > libwy still contains old codes for Linux Thread not removed. > I now focus on using process, and planning to use process instead of thread > for muti-tasking for the future (for the coming NPU, AI era, whatever). > Also thanks to decades of practice of those 'C-people', process is relatively > more mature than thread. > > I like the idea of "term-graph re-writing" and "logic extraction" and "shape modeling", that, between the "thoroughly abstract" and "thoroughly concrete", is about a "spec language", pretty much, for all things derived and adapted, as with regards to all the tons lines procedural code and all the things.
[toc] | [prev] | [next] | [standalone]
| From | "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> |
|---|---|
| Date | 2024-12-19 21:15 -0800 |
| Message-ID | <vk2uic$39s1q$3@dont-email.me> |
| In reply to | #121143 |
On 12/3/2024 4:44 PM, wij wrote: [...] I found that old post over on c.p.t: https://groups.google.com/g/comp.programming.threads/c/Y_Y2DZOWErM/m/nuyEoKq0onUJ :^D
[toc] | [prev] | [next] | [standalone]
| From | "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> |
|---|---|
| Date | 2024-12-19 21:16 -0800 |
| Message-ID | <vk2uja$39s1q$4@dont-email.me> |
| In reply to | #121276 |
On 12/19/2024 9:15 PM, Chris M. Thomasson wrote: > On 12/3/2024 4:44 PM, wij wrote: > [...] > > I found that old post over on c.p.t: > > https://groups.google.com/g/comp.programming.threads/c/Y_Y2DZOWErM/m/ > nuyEoKq0onUJ > > :^D Btw, Alexander Terekhov is very smart!
[toc] | [prev] | [next] | [standalone]
| From | "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> |
|---|---|
| Date | 2024-12-19 21:17 -0800 |
| Message-ID | <vk2uld$39s1q$5@dont-email.me> |
| In reply to | #121277 |
On 12/19/2024 9:16 PM, Chris M. Thomasson wrote: > On 12/19/2024 9:15 PM, Chris M. Thomasson wrote: >> On 12/3/2024 4:44 PM, wij wrote: >> [...] >> >> I found that old post over on c.p.t: >> >> https://groups.google.com/g/comp.programming.threads/c/Y_Y2DZOWErM/m/ >> nuyEoKq0onUJ >> >> :^D > > Btw, Alexander Terekhov is very smart! God damn broken link right there: This shall work, damn it! https://groups.google.com/g/comp.programming.threads/c/Y_Y2DZOWErM/m/nuyEoKq0onUJ
[toc] | [prev] | [next] | [standalone]
| From | "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> |
|---|---|
| Date | 2024-12-23 15:59 -0800 |
| Message-ID | <vkctgl$1eoa9$3@dont-email.me> |
| In reply to | #121278 |
On 12/19/2024 9:17 PM, Chris M. Thomasson wrote: > On 12/19/2024 9:16 PM, Chris M. Thomasson wrote: >> On 12/19/2024 9:15 PM, Chris M. Thomasson wrote: >>> On 12/3/2024 4:44 PM, wij wrote: >>> [...] >>> >>> I found that old post over on c.p.t: >>> >>> https://groups.google.com/g/comp.programming.threads/c/Y_Y2DZOWErM/m/ >>> nuyEoKq0onUJ >>> >>> :^D >> >> Btw, Alexander Terekhov is very smart! > > God damn broken link right there: This shall work, damn it! > > https://groups.google.com/g/comp.programming.threads/c/Y_Y2DZOWErM/m/ > nuyEoKq0onUJ This is one place out of some where I got a response from the POSIX gods: https://groups.google.com/g/comp.programming.threads/c/Y_Y2DZOWErM/m/DVeoCCZBn3IJ ;^D
[toc] | [prev] | [next] | [standalone]
| From | olcott <polcott333@gmail.com> |
|---|---|
| Date | 2024-12-06 20:40 -0600 |
| Subject | Re: What is OOP? --- The most important aspect of OOP |
| Message-ID | <vj0cj5$2n835$1@dont-email.me> |
| In reply to | #121117 |
On 12/1/2024 10:34 PM, Tim Rentsch wrote: > wij <wyniijj5@gmail.com> writes: > > In response to the question of the subject line... > > Just because a program is being written in a language that has > functions doesn't mean that what is being done is functional > programming. > > 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. > > More than anything else object-oriented programming is a mindset > or a programming methodology. It helps if the language being > used supports classes, etc, but the methodology can be used even > in languages that don't have them. > > A quote: > > My guess is that object-oriented programming will be in the > 1980s what structured programming was in the 1970s. > Everyone will be in favor of it. Every manufacturer will > promote his products as supporting it. Every manager will > pay lip service to it. Every programmer will practice it > (differently). And no one will know just what it is. > > That paragraph is taken from a paper written more than 40 years > ago. The prediction came true with a vengeance, even more than > the author expected. Most of what has been written about object > oriented programming was done by people who didn't understand it. > > Two more quotes, these from Alan Kay: > > I invented the term "Object Oriented Programming," and C++ > is not what I had in mind. > > Though Smalltalk's structure allows the technique now known > as data abstraction to be easily (and more generally) > employed, the entire thrust of its design has been to > supersede the concept of data and procedures entirely; to > replace these with the more generally useful notions of > activity, communication, and inheritance. The most important aspect of OOP is the ability to decompose a problem into independent component parts. This can eliminate the side effects in the structured programming model that result from global data. -- Copyright 2024 Olcott "Talent hits a target no one else can hit; Genius hits a target no one else can see." Arthur Schopenhauer
[toc] | [prev] | [next] | [standalone]
| From | Richard Damon <richard@damon-family.org> |
|---|---|
| Date | 2024-12-06 21:45 -0500 |
| Subject | Re: What is OOP? --- The most important aspect of OOP |
| Message-ID | <90e75c71c42fcf43b89644a46a60e4fff63ecc10@i2pn2.org> |
| In reply to | #121153 |
On 12/6/24 9:40 PM, olcott wrote: > On 12/1/2024 10:34 PM, Tim Rentsch wrote: >> wij <wyniijj5@gmail.com> writes: >> >> In response to the question of the subject line... >> >> Just because a program is being written in a language that has >> functions doesn't mean that what is being done is functional >> programming. >> >> 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. >> >> More than anything else object-oriented programming is a mindset >> or a programming methodology. It helps if the language being >> used supports classes, etc, but the methodology can be used even >> in languages that don't have them. >> >> A quote: >> >> My guess is that object-oriented programming will be in the >> 1980s what structured programming was in the 1970s. >> Everyone will be in favor of it. Every manufacturer will >> promote his products as supporting it. Every manager will >> pay lip service to it. Every programmer will practice it >> (differently). And no one will know just what it is. >> >> That paragraph is taken from a paper written more than 40 years >> ago. The prediction came true with a vengeance, even more than >> the author expected. Most of what has been written about object >> oriented programming was done by people who didn't understand it. >> >> Two more quotes, these from Alan Kay: >> >> I invented the term "Object Oriented Programming," and C++ >> is not what I had in mind. >> >> Though Smalltalk's structure allows the technique now known >> as data abstraction to be easily (and more generally) >> employed, the entire thrust of its design has been to >> supersede the concept of data and procedures entirely; to >> replace these with the more generally useful notions of >> activity, communication, and inheritance. > > The most important aspect of OOP is the ability to decompose > a problem into independent component parts. This can eliminate > the side effects in the structured programming model that > result from global data. > Excpet that normally OOP is fully based on the operation resulting in "side effects" as they mutate the state of the object the methods are part of. What this does is not ELIMINATE the side effects, but limits their scope. A given object type will tend to keep its own state "private" and interact only with other object via "public" interfaces, allowing us to limit the scope we need to think of when looking at interactions. This makes it very different from the "functional" model, where we do not allow for side-effects.
[toc] | [prev] | [next] | [standalone]
| From | olcott <polcott333@gmail.com> |
|---|---|
| Date | 2024-12-07 14:07 -0600 |
| Subject | Re: What is OOP? --- The most important aspect of OOP |
| Message-ID | <vj29uc$3a4co$1@dont-email.me> |
| In reply to | #121155 |
On 12/6/2024 8:45 PM, Richard Damon wrote: > On 12/6/24 9:40 PM, olcott wrote: >> On 12/1/2024 10:34 PM, Tim Rentsch wrote: >>> wij <wyniijj5@gmail.com> writes: >>> >>> In response to the question of the subject line... >>> >>> Just because a program is being written in a language that has >>> functions doesn't mean that what is being done is functional >>> programming. >>> >>> 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. >>> >>> More than anything else object-oriented programming is a mindset >>> or a programming methodology. It helps if the language being >>> used supports classes, etc, but the methodology can be used even >>> in languages that don't have them. >>> >>> A quote: >>> >>> My guess is that object-oriented programming will be in the >>> 1980s what structured programming was in the 1970s. >>> Everyone will be in favor of it. Every manufacturer will >>> promote his products as supporting it. Every manager will >>> pay lip service to it. Every programmer will practice it >>> (differently). And no one will know just what it is. >>> >>> That paragraph is taken from a paper written more than 40 years >>> ago. The prediction came true with a vengeance, even more than >>> the author expected. Most of what has been written about object >>> oriented programming was done by people who didn't understand it. >>> >>> Two more quotes, these from Alan Kay: >>> >>> I invented the term "Object Oriented Programming," and C++ >>> is not what I had in mind. >>> >>> Though Smalltalk's structure allows the technique now known >>> as data abstraction to be easily (and more generally) >>> employed, the entire thrust of its design has been to >>> supersede the concept of data and procedures entirely; to >>> replace these with the more generally useful notions of >>> activity, communication, and inheritance. >> >> The most important aspect of OOP is the ability to decompose >> a problem into independent component parts. This can eliminate >> the side effects in the structured programming model that >> result from global data. >> > > > Excpet that normally OOP is fully based on the operation resulting in > "side effects" as they mutate the state of the object the methods are > part of. > > What this does is not ELIMINATE the side effects, but limits their > scope. A given object type will tend to keep its own state "private" and > interact only with other object via "public" interfaces, allowing us to > limit the scope we need to think of when looking at interactions. > Yes that is it. > This makes it very different from the "functional" model, where we do > not allow for side-effects. -- Copyright 2024 Olcott "Talent hits a target no one else can hit; Genius hits a target no one else can see." Arthur Schopenhauer
[toc] | [prev] | [next] | [standalone]
| From | Tim Rentsch <tr.17687@z991.linuxsc.com> |
|---|---|
| Date | 2024-12-09 09:51 -0800 |
| Subject | Re: What is OOP? --- The most important aspect of OOP |
| Message-ID | <86ldwoiw39.fsf@linuxsc.com> |
| In reply to | #121155 |
Richard Damon <richard@damon-family.org> writes: > On 12/6/24 9:40 PM, olcott wrote: > >> On 12/1/2024 10:34 PM, Tim Rentsch wrote: >> >>> wij <wyniijj5@gmail.com> writes: >>> >>> In response to the question of the subject line... >>> >>> Just because a program is being written in a language that has >>> functions doesn't mean that what is being done is functional >>> programming. >>> >>> 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. >>> >>> More than anything else object-oriented programming is a mindset >>> or a programming methodology. It helps if the language being >>> used supports classes, etc, but the methodology can be used even >>> in languages that don't have them. >>> >>> A quote: >>> >>> My guess is that object-oriented programming will be in the >>> 1980s what structured programming was in the 1970s. >>> Everyone will be in favor of it. Every manufacturer will >>> promote his products as supporting it. Every manager will >>> pay lip service to it. Every programmer will practice it >>> (differently). And no one will know just what it is. >>> >>> That paragraph is taken from a paper written more than 40 years >>> ago. The prediction came true with a vengeance, even more than >>> the author expected. Most of what has been written about object >>> oriented programming was done by people who didn't understand it. >>> >>> Two more quotes, these from Alan Kay: >>> >>> I invented the term "Object Oriented Programming," and C++ >>> is not what I had in mind. >>> >>> Though Smalltalk's structure allows the technique now known >>> as data abstraction to be easily (and more generally) >>> employed, the entire thrust of its design has been to >>> supersede the concept of data and procedures entirely; to >>> replace these with the more generally useful notions of >>> activity, communication, and inheritance. >> >> The most important aspect of OOP is the ability to decompose >> a problem into independent component parts. This can eliminate >> the side effects in the structured programming model that >> result from global data. > > Excpet that normally OOP is fully based on the operation resulting in > "side effects" as they mutate the state of the object the methods are > part of. > > What this does is not ELIMINATE the side effects, but limits their > scope. A given object type will tend to keep its own state "private" > and interact only with other object via "public" interfaces, allowing > us to limit the scope we need to think of when looking at > interactions. > > This makes it very different from the "functional" model, where we do > not allow for side-effects. I agree with the first paragraph, because of the word "normally". I think it's important to add that there is no inherent incompatibility between object-oriented programming and functional programming. There are ways to work with classes and objects in a fully functional mode, in much the same way that one can write code for data structures such as AVL trees or B-trees that is fully functional (so there are no side effects to existing trees when adding or deleting elements, for example).
[toc] | [prev] | [next] | [standalone]
| From | Ross Finlayson <ross.a.finlayson@gmail.com> |
|---|---|
| Date | 2024-12-09 17:43 -0800 |
| Subject | Re: What is OOP? --- The most important aspect of OOP |
| Message-ID | <qducnViRZ6h_Acr6nZ2dnZfqn_SdnZ2d@giganews.com> |
| In reply to | #121174 |
On 12/09/2024 09:51 AM, Tim Rentsch wrote: > Richard Damon <richard@damon-family.org> writes: > >> On 12/6/24 9:40 PM, olcott wrote: >> >>> On 12/1/2024 10:34 PM, Tim Rentsch wrote: >>> >>>> wij <wyniijj5@gmail.com> writes: >>>> >>>> In response to the question of the subject line... >>>> >>>> Just because a program is being written in a language that has >>>> functions doesn't mean that what is being done is functional >>>> programming. >>>> >>>> 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. >>>> >>>> More than anything else object-oriented programming is a mindset >>>> or a programming methodology. It helps if the language being >>>> used supports classes, etc, but the methodology can be used even >>>> in languages that don't have them. >>>> >>>> A quote: >>>> >>>> My guess is that object-oriented programming will be in the >>>> 1980s what structured programming was in the 1970s. >>>> Everyone will be in favor of it. Every manufacturer will >>>> promote his products as supporting it. Every manager will >>>> pay lip service to it. Every programmer will practice it >>>> (differently). And no one will know just what it is. >>>> >>>> That paragraph is taken from a paper written more than 40 years >>>> ago. The prediction came true with a vengeance, even more than >>>> the author expected. Most of what has been written about object >>>> oriented programming was done by people who didn't understand it. >>>> >>>> Two more quotes, these from Alan Kay: >>>> >>>> I invented the term "Object Oriented Programming," and C++ >>>> is not what I had in mind. >>>> >>>> Though Smalltalk's structure allows the technique now known >>>> as data abstraction to be easily (and more generally) >>>> employed, the entire thrust of its design has been to >>>> supersede the concept of data and procedures entirely; to >>>> replace these with the more generally useful notions of >>>> activity, communication, and inheritance. >>> >>> The most important aspect of OOP is the ability to decompose >>> a problem into independent component parts. This can eliminate >>> the side effects in the structured programming model that >>> result from global data. >> >> Excpet that normally OOP is fully based on the operation resulting in >> "side effects" as they mutate the state of the object the methods are >> part of. >> >> What this does is not ELIMINATE the side effects, but limits their >> scope. A given object type will tend to keep its own state "private" >> and interact only with other object via "public" interfaces, allowing >> us to limit the scope we need to think of when looking at >> interactions. >> >> This makes it very different from the "functional" model, where we do >> not allow for side-effects. > > I agree with the first paragraph, because of the word "normally". I > think it's important to add that there is no inherent incompatibility > between object-oriented programming and functional programming. There > are ways to work with classes and objects in a fully functional mode, > in much the same way that one can write code for data structures such > as AVL trees or B-trees that is fully functional (so there are no side > effects to existing trees when adding or deleting elements, for > example). > One might call this "idempotent" or "monadic", vis-a-vis "pure", in the functional programming. The idea of "no side effects" then also has for usually that "idempotent" includes "repeatable, with no side effects", i.e. usually "repeatable to attempt until success, transactional", or "repeatable to attempt, idempotent", then with regards to the monadic that the entire body of co-routines is all collected and a thing, while "pure" functions usually mean idempotent, side-effect free and also returning the same result for the same inputs. Not to be confused with "pure virtual" or abstract methods, say. Often goals these days include "idempotent routine" since thusly when "Murphy's law arbitrarily fails any routine", then thusly what's often "retry-logic" or "error mode", or "failure mode", makes for what's usually in "distributed systems" the "eventually consistent" and "self-healing". I don't see these so much in classic pattern lit-rature though it's very widely held knowledge. Because Murphy's law in distributed systems, .... Functional programming doesn't exclude "side-effects", per se.
[toc] | [prev] | [next] | [standalone]
Page 2 of 3 — ← Prev page 1 [2] 3 Next page →
Back to top | Article view | comp.lang.c++
csiph-web