-
Data: 2017-01-17 20:30:43
Temat: Czy do nauki języka funkcyjnego (F#, Clojure, Haskell) wymagana jest "wyższa" matematyka?
Od: p...@g...com szukaj wiadomości tego autora
[ pokaż wszystkie 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
- 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-14 Ustawy o rejestracji obcych agentów (wpływu): fuj Gruzja/Rosja v. cacy USA
- 2024-05-14 VMWare :)
- 2024-05-14 Ulm => Solution Engineer (m/w/d) Data Center Technologies <=
- 2024-05-14 Będziemy się znowu zrzucać na elektryki...
- 2024-05-14 Pompa ciepla Kaisai
- 2024-05-14 Przyłączenie działki do sieci elektrycznej
- 2024-05-14 Kraków => MS Dynamics 365BC/NAV Developer <=
- 2024-05-14 Kraków => SAP WM Consultant / Execution <=
- 2024-05-14 Wrocław => Business Development Manager - obszar bezpieczeństwa IT <
- 2024-05-14 Poznań => Interactive/Experience Designer <=
- 2024-05-14 Poznań => Interactive/Experience Designer <=
- 2024-05-14 Białystok => ERP Implementer <=
- 2024-05-14 Przerabianie na Indonezje
- 2024-05-14 Kielce => UX/UI Designer <=
- 2024-05-14 Warszawa => Sales Representative for Outsourcing Services <=