eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingJaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018 › Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018
  • Data: 2018-12-28 23:07:13
    Temat: Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018
    Od: Maciej Sobczak <s...@g...com> szukaj wiadomości tego autora
    [ pokaż wszystkie 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: