Article View: pl.comp.lang.c
Article #310304Re: Sztuka Kodowania w C++ - Nowa Wersja!
From: Wojciech Muła
Date: Mon, 07 Dec 2020 20:53
Date: Mon, 07 Dec 2020 20:53
22 lines
4238 bytes
4238 bytes
On Monday, December 7, 2020 at 4:32:37 PM UTC+1, jawors...@adres.pl wrote: > > Nadużywasz słów "zawsze" i "nigdy". > W poradniku to raczej normalne... Może w poradniku dla sapera. :) > > Razi styl C++ fanboja, przekręcanie nazw języków itp. Mało to profesjonalne i nie zachęca do poważnego potratowania. > Zadałem tu: https://4programmers.net/Forum/Inne/346577-jaki_jezyk_jest_lepszy_od_c pytanie: Czy ktoś zna język mający wszystkie najważniejsze zalety C++? I był przy tym lepszy od C++. Poziom odpowiedzi był żenująco niski. > Nawet nie wiedzieli tam jaki inny język wspiera wielodziedziczenie. > Tak więc puki co będę entuzjastą C++. Czepiłeś się tego wielodziedziczenia, jakby to był jakiś cud natury, a ta cecha jest marginalna, używana tak naprawdę sporadycznie (no i oczywiście w klasyczny dla C++ sposób skopana, patrz dziedziczenie wirtualne). Ludzkość bowiem dość dawno temu zauważała, że skomplikowanych systemów nie da się łatwo modelować grafami acyklicznymi, że bardziej praktyczna jest kompozycja typów. C++ trochę nadrabia ostatnio, ale przez dekady nie dorobił się systemu modułów. W równoległym wszechświecie koncepcja modułów istniej od pół wieku, doczekała nawet wariantu parametryzowanego (w Ocamlu, SML-u, Adzie). C++ nie ma spójnego systemu budowania. Nie ma systemu dystrybucji paczek, wersjonowania pakietów, słowem niczego co jest normą w innych językach i co jest oczekiwane przez programistów. Z powodu tych bolączek powstał cały ruch bibliotek "include only", bo po prostu łatwiej skopiować plik i teoretycznie gotowe. Ale to obejście, a nie rozwiązanie systemowe. Wspomniałeś w poprzednim poście o obsłudze napisów. Przecież C++ w 2020 roku nawet nie wie co to Unicode. Nie zna pojęcia "znaku", utożsamiając go z losowym kodem znaku. Weźmy np. static_cast<char>(250) -- co to jest? Weźmiesz kodowanie extended ASCII? A może to pierwszy bajt z UTF-8? A może to przyszło z programu pana Zenka, który w 1983 zastosował kodowanie Mazovia, czy jak to się tam zwało. A może z maszyny sterowanej Windowsem'95 i tam będzie Windows-1251? W ogóle klasa std::string to jest piękny przykład nagromadzenia antypatternów, coś potwornego. Do tego mało praktyczna, bo jak ktoś poużywał stringów np. w Pythonie i musi wrócić do C++, to fizycznie boli. Wyrażenia regularne z C++11? Są jak żona komisarza Ryby --- pomyłką. API z lat '90, niewyobrażalnie koślawe, żeby jeszcze implementacje były wydajne... no nie są. Piszę w tym języku od wielu lat i mógłbym wymieniać więcej kwiatków, np. poznęcać się nad "metaprogramowaniem", które pojawiło się w C++ przez przypadek i tak też działa. Ale, z całym szacunkiem, nie chce mi się, bo jest to po prostu nudne. Ten język nie umrze łatwo, za dużo w nim kodu napisano. Jest nawet niezerowa szansa, że nie podzieli losu COBOLA. w.
Technical Details
Message-ID:
<e38a42c4-36d3-49b6-8644-468f65828f4cn@googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!fu-berlin.de!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mailReferences:
<478ab743-cd00-4961-88e1-983025db304bn@googlegroups.com> <d9830106-c21a-4564-b45f-0766ef86181fn@googlegroups.com> <cdd14123-89b7-4f80-9f2b-865f1038810an@googlegroups.com>Show Full Headers
Complete Article Headers
X-Received: by 2002:ac8:6642:: with SMTP id j2mr25464988qtp.323.1607374384807; Mon, 07 Dec 2020 12:53:04 -0800 (PST) X-Received: by 2002:ae9:f819:: with SMTP id x25mr6449577qkh.429.1607374384615; Mon, 07 Dec 2020 12:53:04 -0800 (PST) Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!fu-berlin.de!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail Newsgroups: pl.comp.lang.c Date: Mon, 7 Dec 2020 12:53:04 -0800 (PST) In-Reply-To: <cdd14123-89b7-4f80-9f2b-865f1038810an@googlegroups.com> Complaints-To: groups-abuse@google.com Injection-Info: google-groups.googlegroups.com; posting-host=178.43.54.87; posting-account=VFwkXwoAAADdT4-lLKRZrMYkTjizGoyn NNTP-Posting-Host: 178.43.54.87 References: <478ab743-cd00-4961-88e1-983025db304bn@googlegroups.com> <d9830106-c21a-4564-b45f-0766ef86181fn@googlegroups.com> <cdd14123-89b7-4f80-9f2b-865f1038810an@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <e38a42c4-36d3-49b6-8644-468f65828f4cn@googlegroups.com> Subject: Re: Sztuka Kodowania w C++ - Nowa Wersja! From: Wojciech Muła <wojciech_mula@poczta.onet.pl> Injection-Date: Mon, 07 Dec 2020 20:53:04 +0000 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit