-
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
- 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 <=