🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.programming
Article #216963

Re: C is number one (znowu)

#216963
From: slawek
Date: Wed, 01 Jul 2020 09:45
39 lines
2213 bytes
godek.maciek@gmail.com Wrote in message:
> 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".
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!


----Android NewsGroup Reader----
http://usenet.sinaapp.com/
Technical Details
Message-ID: <rdhlvh$udp$1@news.icm.edu.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!.POSTED!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>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!.POSTED!not-for-mail
From: slawek <x.y@org.org>
Newsgroups: pl.comp.programming
Subject: Re: C is number one (znowu)
Date: Wed, 1 Jul 2020 11:45:21 +0200 (GMT+02:00)
Organization: news.icm.edu.pl
Lines: 39
Message-ID: <rdhlvh$udp$1@news.icm.edu.pl>
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>
NNTP-Posting-Host: 83.25.13.12.ipv4.supernova.orange.pl
Mime-Version: 1.0
X-Trace: news.icm.edu.pl 1593596721 31161 83.25.13.12 (1 Jul 2020 09:45:21 GMT)
X-Complaints-To: usenet@news.icm.edu.pl
NNTP-Posting-Date: Wed, 1 Jul 2020 09:45:21 +0000 (UTC)
X-Newsreader: PiaoHong.Usenet.Client.Free:1.65
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit