Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c++ > #121103 > unrolled thread

What is OOP?

Started bywij <wyniijj5@gmail.com>
First post2024-12-02 01:17 +0800
Last post2025-09-28 16:02 +0800
Articles 20 on this page of 57 — 13 participants

Back to article view | Back to comp.lang.c++


Contents

  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 →


#121209

FromMichael S <already5chosen@yahoo.com>
Date2024-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]


#121223

FromTim Rentsch <tr.17687@z991.linuxsc.com>
Date2024-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]


#121123

Fromwij <wyniijj5@gmail.com>
Date2024-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]


#121129

From"Chris M. Thomasson" <chris.m.thomasson.1@gmail.com>
Date2024-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]


#121134

Fromwij <wyniijj5@gmail.com>
Date2024-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]


#121135

Fromwij <wyniijj5@gmail.com>
Date2024-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]


#121138

From"Chris M. Thomasson" <chris.m.thomasson.1@gmail.com>
Date2024-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]


#121143

Fromwij <wyniijj5@gmail.com>
Date2024-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]


#121152

From"Chris M. Thomasson" <chris.m.thomasson.1@gmail.com>
Date2024-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]


#121157

Fromwij <wyniijj5@gmail.com>
Date2024-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]


#121158

FromRoss Finlayson <ross.a.finlayson@gmail.com>
Date2024-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]


#121276

From"Chris M. Thomasson" <chris.m.thomasson.1@gmail.com>
Date2024-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]


#121277

From"Chris M. Thomasson" <chris.m.thomasson.1@gmail.com>
Date2024-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]


#121278

From"Chris M. Thomasson" <chris.m.thomasson.1@gmail.com>
Date2024-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]


#121296

From"Chris M. Thomasson" <chris.m.thomasson.1@gmail.com>
Date2024-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]


#121153 — Re: What is OOP? --- The most important aspect of OOP

Fromolcott <polcott333@gmail.com>
Date2024-12-06 20:40 -0600
SubjectRe: 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]


#121155 — Re: What is OOP? --- The most important aspect of OOP

FromRichard Damon <richard@damon-family.org>
Date2024-12-06 21:45 -0500
SubjectRe: 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]


#121159 — Re: What is OOP? --- The most important aspect of OOP

Fromolcott <polcott333@gmail.com>
Date2024-12-07 14:07 -0600
SubjectRe: 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]


#121174 — Re: What is OOP? --- The most important aspect of OOP

FromTim Rentsch <tr.17687@z991.linuxsc.com>
Date2024-12-09 09:51 -0800
SubjectRe: 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]


#121178 — Re: What is OOP? --- The most important aspect of OOP

FromRoss Finlayson <ross.a.finlayson@gmail.com>
Date2024-12-09 17:43 -0800
SubjectRe: 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