-
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
- 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
- Ada 2022 Language Reference Manual to be Published by Springer
Najnowsze wątki
- 2024-11-08 Warszawa => Head of International Freight Forwarding Department <=
- 2024-11-08 Warszawa => Key Account Manager <=
- 2024-11-08 Szczecin => Key Account Manager (ERP) <=
- 2024-11-08 Białystok => Full Stack web developer (obszar .Net Core, Angular6+) <
- 2024-11-08 Wrocław => Senior PHP Symfony Developer <=
- 2024-11-08 Warszawa => QA Engineer <=
- 2024-11-08 Warszawa => QA Inżynier <=
- 2024-11-08 Warszawa => Key Account Manager <=
- 2024-11-08 Gdańsk => Software .Net Developer <=
- 2024-11-08 Akumulator Hyundai
- 2024-11-08 Warszawa => Manager/Specialist e-commerce (B2C) <=
- 2024-11-08 Gdańsk => Specjalista ds. Sprzedaży <=
- 2024-11-08 Gdańsk => Kierownik Działu Spedycji Międzynarodowej <=
- 2024-11-08 znaj podstawe
- 2024-11-08 Chrzanów => Specjalista ds. public relations <=