-
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
Następne wpisy z tego wątku
- 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
- 31.12.18 10:14 g...@g...com
Najnowsze wątki z tej grupy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 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??
Najnowsze wątki
- 2025-02-17 Kraków => MS Dynamics 365BC/NAV Developer <=
- 2025-02-17 Chrzanów => Programista NodeJS <=
- 2025-02-17 Warszawa => Node.js / Fullstack Developer <=
- 2025-02-17 Białystok => System Architect (Java background) <=
- 2025-02-17 Białystok => Solution Architect (Java background) <=
- 2025-02-17 Gliwice => Team Lead / Tribe Lead FrontEnd <=
- 2025-02-17 Gdańsk => PHP Developer <=
- 2025-02-17 Warszawa => Senior ASP.NET Developer <=
- 2025-02-17 Gliwice => Business Development Manager - Network and Network Security
- 2025-02-17 Mińsk Mazowiecki => Area Sales Manager OZE <=
- 2025-02-17 Odśnieżanie samochodu
- 2025-02-17 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-02-17 Dęblin => JavaScript / Node / Fullstack Developer <=
- 2025-02-17 Pompiarze...
- 2025-02-16 PV teraz