-
X-Received: by 2002:a37:48d3:: with SMTP id v202mr25732qka.6.1547535797888; Mon, 14
Jan 2019 23:03:17 -0800 (PST)
X-Received: by 2002:a37:48d3:: with SMTP id v202mr25732qka.6.1547535797888; Mon, 14
Jan 2019 23:03:17 -0800 (PST)
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!2.eu.feeder.erj
e.net!4.us.feeder.erje.net!feeder.erje.net!weretis.net!feeder6.news.weretis.net
!feeder.usenetexpress.com!feeder-in1.iad1.usenetexpress.com!border1.nntp.dca1.g
iganews.com!nntp.giganews.com!v55no8118561qtk.0!news-out.google.com!m21ni4861qt
a.0!nntp.google.com!v55no8118558qtk.0!postnews.google.com!glegroupsg2000goo.goo
glegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Mon, 14 Jan 2019 23:03:17 -0800 (PST)
In-Reply-To: <a...@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>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <8...@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: Tue, 15 Jan 2019 07:03:18 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 30
Xref: news-archive.icm.edu.pl pl.comp.programming:213278
[ ukryj nagłówki ]> W Haskellu jest (z grubsza) podobnie.
> Tzn. tam wszystko jest funkcją, ale procedury są emulowane za pomocą typu IO, który
ma inne reguły kompozycji, niż zwykłe funkcje.
Obrzydliwość. "Procedury są emulowane" - fuj. Ani odrobinę nie jest to lepsze od
funkcji, która zwraca obrzydliwy pół-typ void, który tu i ówdzie też ma inne reguły.
To również pokazuje, że funkcjonalność jest paradygmatem sztucznym i nie
odzwierciedla potrzeb i szkodzi zdrowiu. Skoro krytykujesz C i C++ za to, że nadużyły
pojęcia funkcji do niewłaściwych celów, to konsekwentnie powinieneś też krytykować
Haskella za to samo. :-)
> > Język tego nie wymusza, ale naturalnie łatwiej wtedy o konwencję, że funkcje robi
się "czyste" a procedury zostawia się na te okazje, kiedy efekty uboczne są celowe.
>
> A dlaczego to jest dobre? ;]
Efekty uboczne? Bo świat ma efekty uboczne, już o tym pisaliśmy. A ponieważ Ada
została stworzona do programowania systemów wbudowanych, które zwykle służą właśnie
do współistnienia z procesami fizycznymi, to ten ficzer w języku pozwala bardzo
czytelnie wpisać się w modelowane problemy. Funkcje zawsze będą potrzebne do
obliczeń, ale procedury są przydatne do popychania stanów i do robienia zmian w
środowisku.
--
Maciej Sobczak * http://www.inspirel.com
Następne wpisy z tego wątku
- 15.01.19 08:12 Maciej Sobczak
- 15.01.19 08:16 Maciej Sobczak
- 15.01.19 08:46 g...@g...com
- 15.01.19 12:28 AK
- 15.01.19 12:32 AK
- 15.01.19 12:44 AK
- 16.01.19 11:13 Maciej Sobczak
- 16.01.19 12:01 g...@g...com
- 16.01.19 12:28 Maciej Sobczak
- 16.01.19 13:06 AK
- 16.01.19 13:08 AK
- 16.01.19 13:13 AK
- 16.01.19 13:15 Maciej Sobczak
- 16.01.19 13:27 Maciej Sobczak
- 16.01.19 13:37 g...@g...com
Najnowsze wątki z tej grupy
- "Wuj dobra rada" z KDAB rozważa: Choosing the Right Programming Language for Your Embedded Linux Device
- Nowa ustawa o ochronie praw autorskich - opis problemu i szkic ustawy
- 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?
Najnowsze wątki
- 2025-03-27 Warszawa => Generative AI Engineer <=
- 2025-03-27 Warszawa => Asystent Sprzedaży <=
- 2025-03-27 Warszawa => Customer Service with Spanish + translation <=
- 2025-03-27 Gdańsk => PHP Developer <=
- 2025-03-27 Warszawa => C Programmer <=
- 2025-03-27 Czy prawo mówi o prawie do udziału w przesłuchaniu pełnomocnika czy pełnomocników?
- 2025-03-27 Warszawa => Programista C <=
- 2025-03-27 Gerald B. zeznawał z DWOMA pełnomocnikami z najwyższej półki
- 2025-03-27 Yanosik
- 2025-03-26 Jaka wełna na poddasze?
- 2025-03-26 Ostrów Świętokrzy => Node.js / Fullstack Developer <=
- 2025-03-26 Kraków => DevOps Engineer (Junior or Regular level) <=
- 2025-03-26 Kraków => Spedytor Międzynarodowy <=
- 2025-03-26 Czujnik dławienia termicznego procesora - który?
- 2025-03-26 Dlaczego wydałem rozkazy w d. 2025-03-23 i 24 ?