eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingCzy do nauki języka funkcyjnego (F#, Clojure, Haskell) wymagana jest "wyższa" matematyka? › Re: Czy do nauki języka funkcyjnego (F#, Clojure, Haskell) wymagana jest "wyższa" matematyka?
  • 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

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: