eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingC is number one (znowu) › Re: C is number one (znowu)
  • X-Received: by 2002:a05:620a:1348:: with SMTP id c8mr22883263qkl.324.1593640959634;
    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: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erj
    e.net!feeder.erje.net!news2.arglkargh.de!news.mixmin.net!aioe.org!peer02.ams4!p
    eer.am4.highwinds-media.com!peer01.iad!feed-me.highwinds-media.com!news.highwin
    ds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-gro
    ups.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: g...@g...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: <a...@g...com>
    <r9o6rb$lp5$1@news.icm.edu.pl>
    <1...@g...com>
    <rassv4$9ti$1@news.icm.edu.pl>
    <2...@g...com>
    <rdhlvh$udp$1@news.icm.edu.pl>
    User-Agent: G2/1.0
    MIME-Version: 1.0
    Message-ID: <a...@g...com>
    Subject: Re: C is number one (znowu)
    From: g...@g...com
    Injection-Date: Wed, 01 Jul 2020 22:02:39 +0000
    Content-Type: text/plain; charset="UTF-8"
    Content-Transfer-Encoding: quoted-printable
    X-Received-Bytes: 3415
    X-Received-Body-CRC: 2418958407
    Xref: news-archive.icm.edu.pl pl.comp.programming:215017
    [ ukryj nagłówki ]

    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.

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: