eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingJaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018
  • X-Received: by 2002:ac8:6043:: with SMTP id k3mr356716qtm.6.1546034834172; Fri, 28
    Dec 2018 14:07:14 -0800 (PST)
    X-Received: by 2002:ac8:6043:: with SMTP id k3mr356716qtm.6.1546034834172; Fri, 28
    Dec 2018 14:07:14 -0800 (PST)
    Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!go
    blin3!goblin1!goblin.stu.neva.ru!v55no2279048qtk.0!news-out.google.com!m21ni726
    7qta.0!nntp.google.com!v55no2279039qtk.0!postnews.google.com!glegroupsg2000goo.
    googlegroups.com!not-for-mail
    Newsgroups: pl.comp.programming
    Date: Fri, 28 Dec 2018 14:07:13 -0800 (PST)
    In-Reply-To: <0...@g...com>
    Complaints-To: g...@g...com
    Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=213.108.152.51;
    posting-account=bMuEOQoAAACUUr_ghL3RBIi5neBZ5w_S
    NNTP-Posting-Host: 213.108.152.51
    References: <c...@g...com>
    <f...@g...com>
    <a...@g...com>
    <7...@g...com>
    <a...@g...com>
    <6...@g...com>
    <0...@g...com>
    User-Agent: G2/1.0
    MIME-Version: 1.0
    Message-ID: <a...@g...com>
    Subject: Re: Jaki język polecić początkującemu? - komentarz do artykułu w
    Programista 9/2018
    From: Maciej Sobczak <s...@g...com>
    Injection-Date: Fri, 28 Dec 2018 22:07:14 +0000
    Content-Type: text/plain; charset="UTF-8"
    Content-Transfer-Encoding: quoted-printable
    Xref: news-archive.icm.edu.pl pl.comp.programming:213084
    [ ukryj nagłówki ]

    > Przykłady podałem w linku (i szczerze wątpię, żeby potomność
    > zechciała kiedykolwiek grzebać na tym śmietnisku).

    W linku był artykuł o kiepskim kodzie, który znalazłeś w necie. Krytyka języka z tego
    żadna. Zwłaszcza w przypadku języka, który jest popularny a przez to używany również
    przez tych, którzy uniwersalnie piszą kiepski kod.

    [operator przypisania]

    > W większości miejsc nie jest konieczne.
    > A jest to zły nawyk, ponieważ - mówiąc skrótowo - zwiększa złożoność
    > środków analizy programów

    Nie, nie zwiększa.

    Albo, jeśli faktycznie zwiększa, to jest to problem autorów takich narzędzi a nie
    użytkowników języka. Jako użytkownik języka akceptuję ten układ. Ba - ja go nawet
    akceptuję jako autor takiego narzędzia.

    > Dokładniej jest to wyjaśnione tutaj:
    [link do sicp]

    Rozumiem - czyli w Scheme zwiększa. Trudno, jest to problem języka Scheme. I autorów
    narzędzi analizy tego języka.

    Ale dlaczego to ma być zły nawyk w C++ (czy w jakimkolwiek języku imperatywnym, bo
    problem jest ogólny), to nadal nie rozumiem.

    > Pytasz o moje doświadczenia, to Ci mówię.

    Ale jeśli Twoje doświadczenia to kiepski kod znaleziony w necie, to można mieć też
    dobre doświadczenia.

    > Jeżeli Cię nie interesują albo masz sobie z nich szydzić,
    > to nie pytaj.

    Pytam, bo zostawiasz swoje posty w stanie niedopowiedzenia ("C++ tworzy złe nawyki,
    bo tak"). Potem ktoś to przeczyta i pomyśli, że tak faktycznie jest. Tymczasem, w
    przypadku niedopowiedzeń, jest pole do dyskusji i chcę je pokazać.

    > Nawyki nie są "cechą języka", tylko ludzi.

    Tak. Np. większosć ludzi ma złe nawyki żywieniowe.
    Ale to nie jest problem żywności.

    > Języki mogą pomagać wykształcać w ludziach takie czy inne nawyki.

    Tak. Przykładowo, Ada jest lepsza od C++ pod względem wykształcania nawyków. Nie
    zmienia to faktu, że widziałem bardzo dobry kod w C++ i bardzo zły w Adzie.

    > Więcej, wokół języków tworzą się kultury.

    Tak. A w przypadku jezyków bardzo rozbudowanych i popularnych również subkultury. Coś
    jak z żywieniem.
    Pytanie teraz, czy trzeba zmienić język, czy wystarczy znaleźć lepszą subkulturę,
    żeby podnieść poziom. Na to pytanie nie odpowiemy pisząc po prostu, że C++ wyrabia
    złe nawyki.

    > Artykuł, który podlinkowałem, to nie jest "po prostu randomowy
    > kod który znalazłem gdzieś w necie": to jest kod, którym ktoś
    > się podzielił, żeby inni mogli go czytać.

    Czyli randomowy. Przecież w necie nie ma innych kodów, niż te, którymi ktoś się
    podzielił, żeby inni mogli je czytać. Podobnie jest z filmami na YouTube.

    > I to jest kod pełen
    > anty-wzorców, których źródłem są właśnie złe nawyki.

    Dobrze. To może lepiej pokazać dobre wzorce na dobrym kodzie?

    > I, co znamienne, to jest kod,
    > który nie jest nietypowy dla programistów C++. Powiedziałbym
    > (na podstawie swoich doświadczeń), że jest bardzo typowy.

    Nadal nie wiem, czy trzeba zmienić język, żeby pisać lepiej.

    > Mogę też spróbować sformułować tę myśl inaczej:
    > postaraj się odpowiedzieć na pytanie, dlaczego
    > taki "zły kod" powstaje.

    To jest bardzo cenne pytanie. Nie wiem, czy znam odpowiedź.
    Może dlatego, że ludzie uczą się z przypadkowego kodu znalezionego w necie?
    I akurat kodu w C++ jest na tyle dużo, że łatwo znaleźć ten kiepski?
    Coś jak z filmami na YT.
    Myślę, że pewnym czynnikiem jest też fakt, że nasz gatunek traci powoli zdolność
    czytania książek, zadowalając się przypadkowym "contentem z netu". To zjawisko akurat
    dotyczy nie tylko programowania.

    Nadal nie wiemy, czy należy zmienić język, żeby pisać dobrze.
    Albo, wracając do pierwszego pytania, czy C++ jest (nie)dobry do nauki.

    --
    Maciej Sobczak * http://www.inspirel.com

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: