-
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
- 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
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
Najnowsze wątki
- 2024-05-18 Warszawa => Software .Net Developer <=
- 2024-05-18 Warszawa => Mid/Senior QA Engineer <=
- 2024-05-18 Ulm => Solution Architect (sichere Kommunikation und IoT-Loesungen <=
- 2024-05-18 Katowice => Head of Virtualization Platform Management and Operating S
- 2024-05-18 Warszawa => SAP WM Consultant / Execution <=
- 2024-05-18 Wrocław => Consultant/Implementer Comarch ERP XL <=
- 2024-05-18 Gdańsk => Head of International Freight Forwarding Department <=
- 2024-05-18 Warszawa => Account Manager (Recruitment Services) <=
- 2024-05-18 Łódź => Salesperson - CRM Systems <=
- 2024-05-18 Łódź => Handlowiec - Systemy CRM <=
- 2024-05-17 ZŁOMNIK o pracy w TVN TURBO, nowych przepisach i współczesnej motoryzacji. Turbo Taryfa!
- 2024-05-17 Białystok => DevOps Engineer Conexa First (Contractor) <=
- 2024-05-17 Warszawa => Starszy inżynier oprogramowania (Rust) <=
- 2024-05-17 Zabrze => Junior HelpDesk <=
- 2024-05-17 Bieruń => Administrator i wdrożeniowiec Lotus Notes/Domino <=