Deutsch   English   Français   Italiano  
<vinovj$aonc$1@dont-email.me>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com>
Newsgroups: comp.lang.c++
Subject: Re: What is OOP?
Date: Tue, 3 Dec 2024 12:16:51 -0800
Organization: A noiseless patient Spider
Lines: 96
Message-ID: <vinovj$aonc$1@dont-email.me>
References: <d8a5a0d563f0b9b78b34711d12d4975a7941f53a.camel@gmail.com>
 <86frn6og85.fsf@linuxsc.com>
 <853d65692ada3865dafc2c6010539ed20e4e348c.camel@gmail.com>
 <vile40$3k3j8$1@dont-email.me>
 <f4160b394cf17e59f10b2ed1c02db87045849f4a.camel@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Tue, 03 Dec 2024 21:16:52 +0100 (CET)
Injection-Info: dont-email.me; posting-host="f777e730b2e8168ebcdb2932c05660c1";
	logging-data="353004"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX1+eacCZJiYg6gaS2RVcNhU3CABlFB3Abr4="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:r85zMt6bQbNDMR8N/gd8mVA+hi4=
Content-Language: en-US
In-Reply-To: <f4160b394cf17e59f10b2ed1c02db87045849f4a.camel@gmail.com>
Bytes: 5799

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