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 02:06:48
    Temat: Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018
    Od: fir <p...@g...com> szukaj wiadomości tego autora
    [ pokaż wszystkie 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: