-
X-Received: by 10.157.20.145 with SMTP id d17mr671162ote.18.1484681443752; Tue, 17
Jan 2017 11:30:43 -0800 (PST)
X-Received: by 10.157.20.145 with SMTP id d17mr671162ote.18.1484681443752; Tue, 17
Jan 2017 11:30:43 -0800 (PST)
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
atman.pl!news.nask.pl!news.nask.org.pl!newsfeed.pionier.net.pl!2.eu.feeder.erje
.net!feeder.erje.net!2.us.feeder.erje.net!news.glorb.com!r185no2062174ita.0!new
s-out.google.com!h135ni6491ith.0!nntp.google.com!r185no2062164ita.0!postnews.go
ogle.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Tue, 17 Jan 2017 11:30:43 -0800 (PST)
Complaints-To: g...@g...com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=95.160.154.37;
posting-account=vWocFQoAAAAn1nX3XnhT6QQ6-Dh0pykn
NNTP-Posting-Host: 95.160.154.37
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <4...@g...com>
Subject: Czy do nauki języka funkcyjnego (F#, Clojure, Haskell) wymagana jest
"wyższa" matematyka?
From: p...@g...com
Injection-Date: Tue, 17 Jan 2017 19:30:43 +0000
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
Xref: news-archive.icm.edu.pl pl.comp.programming:210150
[ ukryj nagłówki ]Witam
Od jakiegoś czasu programuje w językach obiektowych/imperatywnych. Z typowej
matematyki znam pewnie arytmetykę: mnożenie, dzielenie, potęgowanie,
pierwiastkowanie, podstawy logiki, pamiętam co to funkcja liniowa :) W zasadzie nigdy
żadne zaawansowane zagadnienia matematyczne nie były mi w trakcie programowania w
PHP, czy Javie potrzebne.
No i naszła mnie chęć na naukę jakiegoś języka funkcyjnego, zmianę paradygmatu.
Pewnie postawię na F#, bo jest open source, dostępny na Linuksa/Windows/MacOSX i nie
jest tak "ortodoksyjny" jak Haskell. Zastanawiam się teraz, czy żeby sprawnie poznać
te języki, faktycznie powinienem ogarniać matematyczny rachunek lambda, matematyczne
przekształcanie, "zwijanie" i "rozwijanie" funkcji itd? Zakładając że nie będę
zajmował się "optymalizacją algorytmów" czy stricte matematycznymi zagadnieniami, a
po prostu programowaniem użytkowym?
Zasadniczo jak się spojrzy na różne książki/przykłady, to lambda jest w zasadzie
funkcją anonimową, a zwijanie funkcji (currying) w językach funkcyjnych - to w
zasadzie przekształcenie funkcji, która przyjmuje wiele argumentów, na taką która
zwraca 1 argument. Ot najprostszy przykład:
max 4 5
(max 4) 5
Wiadomo że trzeba zmienić podejście w myśleniu o strukturach danych, ale czy Waszym
zdaniem osoba która chce programować w takim F#, OCaml czy Haskellu powinna wziąć
korki z matmy i poznać dobrze np. wspomniany rachunek lambda w matematyce?
P.
Paweł
Następne wpisy z tego wątku
- 18.01.17 14:46 Maciej Sobczak
- 18.01.17 15:37 p...@g...com
Najnowsze wątki z tej grupy
- 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?
- Ideologia Polskiego Programisty wer.3
Najnowsze wątki
- 2024-04-28 wymiana przewodu od licznika do mieszkania
- 2024-04-28 Lustra w maszynie ASML
- 2024-04-28 Elektryk przytarł podłogę
- 2024-04-27 Nowy, "szybki "komputer AsRock nie posiada modułu TPM
- 2024-04-27 Nowy, "szybki "komputer AsRock nie posiada modułu TPM
- 2024-04-27 Warszawa => Inżynier DevOps (projekt JP) <=
- 2024-04-27 Warszawa => Senior Account Manager (on-site) <=
- 2024-04-27 Wrocław => Dyrektor Sprzedaży (branża usług/produktów IT) <=
- 2024-04-27 Warszawa => Sales Representative for Outsourcing Services <=
- 2024-04-27 Chrzanów => Administrator i wdrożeniowiec Lotus Notes/Domino <=
- 2024-04-27 Ja pierdolę...
- 2024-04-27 Ryby i kawitacja
- 2024-04-27 Zabrze => Junior HelpDesk <=
- 2024-04-27 Katowice => Administrator IT - Wirtualizacja i Konteneryzacja <=
- 2024-04-27 Bażanowice => Inżynier Industrializacji - Elektronik <=