-
X-Received: by 10.157.4.105 with SMTP id 96mr270915otc.17.1484747178236; Wed, 18 Jan
2017 05:46:18 -0800 (PST)
X-Received: by 10.157.4.105 with SMTP id 96mr270915otc.17.1484747178236; Wed, 18 Jan
2017 05:46:18 -0800 (PST)
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
atman.pl!goblin1!goblin.stu.neva.ru!feeders.as203319.net!feeder03.as203319.net!
2.eu.feeder.erje.net!feeder.erje.net!2.us.feeder.erje.net!newspeer1.nac.net!bor
der2.nntp.dca1.giganews.com!nntp.giganews.com!i7no100771qta.1!news-out.google.c
om!78ni3429itm.0!nntp.google.com!r185no152546ita.0!postnews.google.com!glegroup
sg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Wed, 18 Jan 2017 05:46:17 -0800 (PST)
In-Reply-To: <4...@g...com>
Complaints-To: g...@g...com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=165.225.16.207;
posting-account=bMuEOQoAAACUUr_ghL3RBIi5neBZ5w_S
NNTP-Posting-Host: 165.225.16.207
References: <4...@g...com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <5...@g...com>
Subject: Re: Czy do nauki języka funkcyjnego (F#, Clojure, Haskell) wymagana jest
"wyższa" matematyka?
From: Maciej Sobczak <s...@g...com>
Injection-Date: Wed, 18 Jan 2017 13:46:18 +0000
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
Lines: 42
Xref: news-archive.icm.edu.pl pl.comp.programming:210151
[ ukryj nagłówki ]
> Zastanawiam się teraz, czy żeby sprawnie poznać te języki, faktycznie powinienem
ogarniać matematyczny rachunek lambda, matematyczne przekształcanie, "zwijanie" i
"rozwijanie" funkcji itd?
Nie potrzeba znać rachunku lambda, żeby zrozumieć wyjaśnienia i przykłady z
podręcznika czy tutoriala do konkretnego języka programowania. Tak samo jak nie
trzeba znać teorii funkcji z matematyki, żeby zrozumieć, jak działają funkcje w
programowaniu. Ta teoria nawet nie zawsze pomaga, nie mówiąc o tym, że nie zawsze
teoria z lat 50'tych pasuje 1:1 w pojęcia zaimplementowane w konkretnym dzisiejszym
języku.
> Zasadniczo jak się spojrzy na różne książki/przykłady,
Tak. Oprócz lambdy zainteresuje Cię jeszcze taka koncepcje jak domknięcie (zwłaszcza
tzw. upward closure), bo i tak często lambdę robi się właśnie po to, żeby zrobić
domknięcie. Ale pewnie widziałeś już jakiś przykład w tych podręcznikach. Co ciekawe,
domknięcie nie jest pojęciem matematycznym, tylko raczej implementacyjnym i związanym
z zakresem widoczności symboli oraz czasem ich życia, co tym bardziej pokazuje, że
nie ma po co się zbytnio rozwodzić nad "czystą" teorią, bo ostatecznie to nie czysta
teoria wykonuje program.
> ale czy Waszym zdaniem osoba która chce programować w takim F#, OCaml czy Haskellu
powinna wziąć korki z matmy
Obstawiam, że skoro zainteresowałeś się tym tematem, to mógłbyś korki z matmy dawać a
nie brać. :-)
BTW - bardzo ciekawym językiem z tych okolic (tzn. z zacięciem matematycznym) jest
Wolfram:
http://www.wolfram.com/language/video.html
W szczególności w temacie:
http://reference.wolfram.com/language/guide/Function
alProgramming.html
--
Maciej Sobczak * http://www.inspirel.com
Następne wpisy z tego wątku
- 18.01.17 15:37 p...@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 => 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 <=
- 2024-11-08 Warszawa => Data Scientist / Data Engineer (predictive modelling) <=
- 2024-11-08 zbrojone wężyki hamulcowe
- 2024-11-07 Pytanie o transformator do dzwonka
- 2024-11-07 Warszawa => Infrastructure Automation Engineer <=
- 2024-11-07 międzymordzie USB 3.2 jako 2.0
- 2024-11-07 Warszawa => Site Reliability Engineer (SRE) <=
- 2024-11-07 Warszawa => Presales / Inżynier Wsparcia Technicznego IT <=