-
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
Następne wpisy z tego wątku
- 28.12.18 23:07 Maciej Sobczak
- 29.12.18 07:13 s...@g...com
- 29.12.18 12:27 g...@g...com
- 29.12.18 12:51 g...@g...com
- 29.12.18 13:44 Roman Tyczka
- 29.12.18 14:01 Borneq
- 29.12.18 14:24 s...@g...com
- 29.12.18 19:42 g...@g...com
- 29.12.18 20:23 g...@g...com
- 30.12.18 00:21 Maciej Sobczak
- 30.12.18 13:06 g...@g...com
- 30.12.18 16:46 Mateusz Bogusz
- 30.12.18 18:08 s...@g...com
- 30.12.18 19:17 g...@g...com
- 31.12.18 08:18 Tomasz Kaczanowski
Najnowsze wątki z tej grupy
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
Najnowsze wątki
- 2024-12-11 SEP 1 kV E
- 2024-12-11 DNS restrictions are on
- 2024-12-11 wielkie bu
- 2024-12-11 Białystok => Inżynier bezpieczeństwa aplikacji <=
- 2024-12-11 Aku LiPo źródło dostaw - ktoś poleci ?
- 2024-12-11 Warszawa => Specjalista Bezpieczeństwa Informacji <=
- 2024-12-11 Wrocław => Application Security Engineer <=
- 2024-12-11 Warszawa => Analyst in the Trade Development department (experience wi
- 2024-12-11 Lublin => Programista Delphi <=
- 2024-12-11 Motodziennik #305 Nowy ELEKTRYK za 350 złotych miesięcznie? Kreatywne kredytowanie problemów
- 2024-12-11 Warszawa => Spedytor Międzynarodowy <=
- 2024-12-11 Katowice => Key Account Manager (ERP) <=
- 2024-12-11 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2024-12-11 Idzie zima...czyli zaczynamy TETRIS :)
- 2024-12-11 Warszawa => Analityk w dziale Trade Development (doświadczenie z Powe