-
X-Received: by 2002:ac8:4509:: with SMTP id q9mr156659qtn.1.1547715521277; Thu, 17
Jan 2019 00:58:41 -0800 (PST)
X-Received: by 2002:ac8:4509:: with SMTP id q9mr156659qtn.1.1547715521277; Thu, 17
Jan 2019 00:58:41 -0800 (PST)
Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit
0.net!weretis.net!feeder6.news.weretis.net!feeder.usenetexpress.com!feeder-in1.
iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!v55no29
14459qtk.0!news-out.google.com!m21ni1458qta.0!nntp.google.com!v55no2914449qtk.0
!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Thu, 17 Jan 2019 00:58:40 -0800 (PST)
In-Reply-To: <4...@g...com>
Complaints-To: g...@g...com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=165.225.84.86;
posting-account=bMuEOQoAAACUUr_ghL3RBIi5neBZ5w_S
NNTP-Posting-Host: 165.225.84.86
References: <c...@g...com>
<9...@g...com>
<1...@g...com>
<8...@g...com>
<d...@g...com>
<a...@g...com>
<c...@g...com>
<6...@g...com>
<3...@g...com>
<a...@g...com>
<a...@g...com>
<5...@g...com>
<q17bsf$1157$1@gioia.aioe.org>
<c...@g...com>
<q17fpf$1j06$1@gioia.aioe.org>
<4...@g...com>
<q17ltn$fmv$1@gioia.aioe.org>
<f...@g...com>
<q1aufn$15m2$1@gioia.aioe.org>
<3...@g...com>
<a...@g...com>
<8...@g...com>
<2...@g...com>
<0...@g...com>
<c...@g...com>
<4...@g...com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <4...@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: Thu, 17 Jan 2019 08:58:41 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 22
Xref: news-archive.icm.edu.pl pl.comp.programming:213310
[ ukryj nagłówki ]> Ale być może ciekawsze jest pytanie: dlaczego
> komunikowane tego, czy dana funkcja/procedura jest czysta,
> czy też ma efekty uboczne, miałoby być istotne dla osoby czytającej kod?
Bo data flow jest częścią kontraktu. W szczególności ten kontrakt mówi, czy można
wywołania bezpiecznie przestawiać, czy nie. I nie jest to informacja wyłącznie dla
optymalizatora albo provera - człowiek też powinien wiedzieć, na czym stoi np. robiąc
refaktoring kodu.
Można sobie też wyobrazić konwencję, że jedne operacje nazywamy małymi a inne
wielkimi literami. Albo np. że jedne mają nazwy zaczynające się od 'p' (jak "pure") a
inne 'se' (od "side effects"). Ale wtedy zatoczylibyśmy koło do niesławnej notacji
węgierskiej (albo tego co tak niesłusznie nazywano) i ponownie odkrylibyśmy, dlaczego
takie konwencje są słabe. Do mnie też (subiektywnie) struktura kodu przemawia
bardziej, niż ortografia a podział na funkcje i procedury to właśnie konwencja
strukturalna i gramatyczna.
--
Maciej Sobczak * http://www.inspirel.com
Następne wpisy z tego wątku
- 17.01.19 10:23 AK
- 18.01.19 07:46 Maciej Sobczak
- 18.01.19 10:40 AK
Najnowsze wątki z tej grupy
- 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??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
Najnowsze wątki
- 2025-01-17 Zniknął list gończy za "Frogiem". Frog się nam odnalazł?
- 2025-01-17 Kto wytłumaczy "głupiemu" prezydentowi Dudzie wielką moc prawną "dekretu premiera" TUSKA? [(C)Korneluk (2025)]
- 2025-01-17 Warszawa => Inżynier oprogramowania .Net <=
- 2025-01-17 Natalia z Andrychowa
- 2025-01-17 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-01-17 Warszawa => System Architect (Java background) <=
- 2025-01-17 Warszawa => Full Stack .Net Engineer <=
- 2025-01-17 Gliwice => IT Expert (Network Systems area) <=
- 2025-01-17 Lublin => Programista Delphi <=
- 2025-01-17 Warszawa => Developer .NET (mid) <=
- 2025-01-17 Ostrów Wielkopolski => Konsultant Wdrożeniowy Comarch XL/Optima (Ksi
- 2025-01-17 Katowice => Senior Field Sales (system ERP) <=
- 2025-01-17 Wróblewo => Analityk finansowy <=
- 2025-01-17 Żerniki => Specjalista ds. Employer Brandingu <=
- 2025-01-17 pradnica krokowa