🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.programming
Article #216964

Re: C is number one (znowu)

#216964
From: godek.maciek
Date: Wed, 01 Jul 2020 22:02
42 lines
3262 bytes
W dniu środa, 1 lipca 2020 11:45:22 UTC+2 użytkownik slawek napisał:

> > Niezbyt klarowny jest dla mnie ten tok rozumowania.C nie jest OOP, ale ponieważ "każdy program w C jest programem w C++" a "C++ jest OOP", to "C jest OOP"?
> 
> 
> Ależ to proste, mój drogi Wastonie...
> 
> 1. Kiedy powstało C nie było znane OOP, samo C nie jest do OOP.
> 2. C++ jest kompatybilne wstecz z C. Jest nawet coś takiego jak
>  extern "C".

Akurat coś takiego jak extern "C" świadczy o tym, że C++ nie jest kompatybilne wstecz. (Podobnie, wszystkie języki oferujące FFI zgodne z C nie są "kompatybilne wstecz" z C).

> 3. C++ jest głównym nurtem OOP. Patrz choćby GoF.
> 4. Z powyższego nie wynika że C jest OOP. Bo C++ tym różni się (i
>  nie tylko tym) od Javy i C# iż jest multi-paradygmatowe: da się
>  nie używać w C++ OOP.
> 
> 5. Ale można robić OOP w C, tyle że jest to niewygodne. Robiłem.
>  Trik w deklaracjach struct i możliwościach void*.
> 
> Takie cuś działa nawet chyba z K&R ;)
> 
> struct MyClass; // bez definicji pól, to będzie dopiero w implementacji
> typedef struct MyClass* MyClass;
> 
> MyClass obj = MyClass_create(); 
> obj->method();
> DELETE(obj)
> 
> 
> 
> Innymi słowy, twoj błąd to próba wnioskowania:
> 
> "Mój pies jest czarny, pies to zwierzę, więc każde zwierzę jest
>  czarne."
> 
> Z faktu iż to błędne nie przestaje jednak wynikać że pies to
>  zwierzę! Ani to że wszystkie koty są białe!

Tyle że to nie jest moje rozumowanie, tylko Twoje, drogi Sherlocku.
Bo to Ty używasz go, żeby uzasadnić, że C, C++, C#, Java i Objectve-C powinny figurować jako jedna pozycja na TIOBE.
Technical Details
Message-ID: <a0add84b-67a0-43b4-8726-76e5d9e2b7b7o@googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erje.net!feeder.erje.net!news2.arglkargh.de!news.mixmin.net!aioe.org!peer02.ams4!peer.am4.highwinds-media.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
References: <a81005fe-ad6c-4221-9d4b-5e5272c400a8@googlegroups.com> <r9o6rb$lp5$1@news.icm.edu.pl> <1dcffd9f-ad27-450b-99f4-dc2703e19a6f@googlegroups.com> <rassv4$9ti$1@news.icm.edu.pl> <2ceb517b-0aff-43e8-89d0-f6020b958537@googlegroups.com> <rdhlvh$udp$1@news.icm.edu.pl>

Show Full Headers
Complete Article Headers
X-Received: by 2002:a37:7844:: with SMTP id t65mr6268491qkc.446.1593640959834;        Wed, 01 Jul 2020 15:02:39 -0700 (PDT)
X-Received: by 2002:a05:620a:1348:: with SMTP id c8mr22883263qkl.324.1593640959634; Wed, 01 Jul 2020 15:02:39 -0700 (PDT)
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erje.net!feeder.erje.net!news2.arglkargh.de!news.mixmin.net!aioe.org!peer02.ams4!peer.am4.highwinds-media.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Wed, 1 Jul 2020 15:02:39 -0700 (PDT)
In-Reply-To: <rdhlvh$udp$1@news.icm.edu.pl>
Complaints-To: groups-abuse@google.com
Injection-Info: google-groups.googlegroups.com; posting-host=37.47.230.72; posting-account=f7iIKQoAAAAkDKpUafc-4IXhmRAzdB5r
NNTP-Posting-Host: 37.47.230.72
References: <a81005fe-ad6c-4221-9d4b-5e5272c400a8@googlegroups.com> <r9o6rb$lp5$1@news.icm.edu.pl> <1dcffd9f-ad27-450b-99f4-dc2703e19a6f@googlegroups.com> <rassv4$9ti$1@news.icm.edu.pl> <2ceb517b-0aff-43e8-89d0-f6020b958537@googlegroups.com> <rdhlvh$udp$1@news.icm.edu.pl>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <a0add84b-67a0-43b4-8726-76e5d9e2b7b7o@googlegroups.com>
Subject: Re: C is number one (znowu)
From: godek.maciek@gmail.com
Injection-Date: Wed, 01 Jul 2020 22:02:39 +0000
X-Received-Bytes: 3415
X-Received-Body-CRC: 2418958407
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit