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:a0c:9955:: with SMTP id i21mr396887qvd.4.1545959209208; Thu, 27
    Dec 2018 17:06:49 -0800 (PST)
    X-Received: by 2002:a0c:9955:: with SMTP id i21mr396887qvd.4.1545959209208; Thu, 27
    Dec 2018 17:06:49 -0800 (PST)
    Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit
    0.net!news.mixmin.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!v
    55no705444qtk.0!news-out.google.com!m21ni6222qta.0!nntp.google.com!v55no705441q
    tk.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
    Newsgroups: pl.comp.programming
    Date: Thu, 27 Dec 2018 17:06:48 -0800 (PST)
    In-Reply-To: <0...@g...com>
    Complaints-To: g...@g...com
    Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=5.172.255.110;
    posting-account=Sb6m8goAAABbWsBL7gouk3bfLsuxwMgN
    NNTP-Posting-Host: 5.172.255.110
    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: <3...@g...com>
    Subject: Re: Jaki język polecić początkującemu? - komentarz do artykułu w
    Programista 9/2018
    From: fir <p...@g...com>
    Injection-Date: Fri, 28 Dec 2018 01:06:49 +0000
    Content-Type: text/plain; charset="UTF-8"
    Content-Transfer-Encoding: quoted-printable
    Xref: news-archive.icm.edu.pl pl.comp.programming:213083
    [ ukryj nagłówki ]

    W dniu czwartek, 27 grudnia 2018 23:53:33 UTC+1 użytkownik g...@g...com
    napisał:
    > W dniu czwartek, 27 grudnia 2018 19:20:20 UTC+1 użytkownik Maciej Sobczak napisał:
    > > > > Jakich złych nawyków?
    > > >
    > > > Pewnie teraz nawet sobie nie jestem w stanie tego wszystkiego
    > > > uświadomić.
    > >
    > > Ale chociaż ze dwa przykłady, dla potomności.
    >
    > Przykłady podałem w linku (i szczerze wątpię, żeby potomność
    > zechciała kiedykolwiek grzebać na tym śmietnisku).
    >
    > > > Z rzeczy najbardziej oczywistych byłoby to używanie
    > > > operatora przypisania tam, gdzie nie jest to konieczne.
    > >
    > > Np. gdzie nie jest konieczne?
    > > I dlaczego to jest zły nawyk?
    >
    > 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 i tworzy "przypadkową złożoność".
    > Dokładniej jest to wyjaśnione tutaj:
    > https://mitpress.mit.edu/sites/default/files/sicp/fu
    ll-text/book/book-Z-H-20.html#%_sec_3.1.3
    > ale wyjaśnienie odwołuje się do sekcji 1.1.5.
    >
    > > > Inna rzecz, to bałaganiarskie podejście do projektowania interfejsów,
    > > > które wydaje się w środowiskach C++-owych na porządku dziennym.
    > >
    > > "Bałaganiarskie", "wydaje się", "w środowiskach"? Brzmi jak słaba propaganda.
    >
    > To nie jest propaganda, więc nie może to być "słaba propaganda".
    > Nic nikomu nie sprzedaję.
    > Pytasz o moje doświadczenia, to Ci mówię.
    > Jeżeli Cię nie interesują albo masz sobie z nich szydzić,
    > to nie pytaj.
    >
    > > > Dużo rzeczy opisałem tutaj:
    > > > https://www.quora.com/What-are-some-examples-of-bad-
    code/answer/Panicz-Godek
    > >
    > > Nie czytałem całości, bo na początku artykułu okazało się, że znalazłeś gdzieś w
    necie źle napisany kod i postanowiłeś go skrytykować. OK, takie artykuły są
    potrzebne, ale nie odpowiadają na moje pytanie o *złe nawyki*. Coś, co jest cechą
    języka. Czyli coś, co musi być złe, bo język narzuca to zło użytkownikowi. Niczego
    takiego pobieżnie nie zauważyłem w tym artykule.
    >
    > Nawyki nie są "cechą języka", tylko ludzi.
    > Języki mogą pomagać wykształcać w ludziach takie czy inne nawyki.
    > Więcej, wokół języków tworzą się kultury.
    > 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ć. I to jest kod pełen
    > anty-wzorców, których źródłem są właśnie złe nawyki. To jest kod,
    > który utrwala w ludziach złe nawyki. 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.
    > W przeciwnym razie nie zadawałbym sobie trudu, żeby o nim pisać.
    >
    > Mogę też spróbować sformułować tę myśl inaczej:
    > postaraj się odpowiedzieć na pytanie, dlaczego
    > taki "zły kod" powstaje.
    >
    > (Oczywiście, specyfika C++ odgrywa tutaj pewną istotną rolę:
    > w C++ trudno się programuje generycznie. Nie twierdzę, że się nie da,
    > ale w C++ łatwiej się operuje na konkretnych reprezentacjach, niż na
    > abstrakcyjnych generycznych interfejsach. Podczas pisania artykułu
    > szukałem różnych generycznych implementacji algorytmu A* w C++,
    > i żadna z nich nie była dobra. Z kolei w Haskellu jest odwrotnie:
    > tutaj łatwo napisać jedną ogólną interpretację i ukonkretniać ją
    > dla poszczególnych problemów, zaś pewne antywzorce, które są w C++
    > powszechne, takie jak przekazywanie informacji przez zmienne globalne,
    > są bardzo trudne do wyrażenia)
    >
    > > Czyli na razie ten artykuł wpada u mnie w kategorię "C++ jest zły, bo znalazłem
    kiepski kod w necie". To nie jest odpowiedź na moje pytanie.
    >
    > Interesujące.
    > Mogę wskazać wiele quorowych odpowiedzi wyjaśniających, dlaczego
    > C++ jest zły, ale artykuł, który napisałem, w żadnym stopniu tego
    > nie dotyczy.

    nie wiem czy w postach wyzej to napisalem (jesli nie to mialem wspomniec ale widac
    nie napisalem) ale wg pewnych moich przemyslen (wykonanych calkiem w sumie niedawno)
    doszedlem do dosyc prostego wniosku ze w programowaniu jezyki sa porzebne co najmniej
    dwa: jest potrzebny taki jezyk jak c,. tj jezyk ktory pozwali dobrze oszczednie
    zarzadzac bajtami i cyklami oraz jest tez potrzeby inny jezyk ktory pozwala dobrze
    (choc tutaj co znaczy dobrze byc moze nie jest dla mnie tak wyraznie jasne) zarzadzac
    czyms innym niz bajty i cykle (bo w pewnych zastosowaniech programistycznych, np
    jezyk skryptowy w shellu nie potrzebujesz zarzadzania bajtami i cyklami)

    o ile te ustalenia sa prawdziwe (a arczej sa choc jak mowie sa dosyc fragmentaryczne
    i tak naprawde nie bardzo wiem w czym ten drugi jezyk powinien byc tak naprawde
    dobry) to nie mozna krytykowac takich jezykow jak c realizujacych to zarzadzanie
    bajtami i cyklami jako ogolnie niedobrych - sa one w swojej dziedzinie (dosyc
    szerokiej) najlepsze i nie ma co do tego raczej kwestii (zieaw)

    co do tej drugiej dziedziny albo dziedzin to juz inna kwestia, jak powinien wygladac
    jezyk lub jak powinny wygladac jezyki w tej dziedzinie gdzie cykle i bajty sie liczą
    ale nie az tak to (ciagle) nie wiem

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: