2008-11-20 17 views
9

Jestem zainteresowany uczeniem się Haskella w moim własnym czasie (nie poprzez kurs), ale podejrzewam, że moje matematyczne tło może być niewystarczające, aby pojąć ważne koncepcje językowe (TBD).Ile matematyki potrzebuję, aby stać się produktywnym w Haskell?

Miałem rok z rachunku uczelnianego (pojedyncza zmienna), ale nie z dyskretną matematyką ani logiką.

Czy napotkam luki w mojej matematyce?

+0

Jeśli kiedykolwiek pojawił się/próbowałeś wypróbować Haskella, dodaj komentarz tutaj, wspominając, jak poszło - i czy napotkane trudności były związane z brakiem podstaw matematycznych. – ShreevatsaR

Odpowiedz

11

Dlaczego po prostu tego nie wypróbujesz i nie zobaczysz?

Konstrukcja Haskell pożyczył od idei matematycznych w takich dziedzinach jak teorii kategorii (monad, strzały, transformatory), ale większość programistów Haskell tylko zrozumieć, co to jest w stosunku do programowania w każdym razie :-)

You don” t potrzebować jakiejkolwiek szczególnie zaawansowanej matematyki, aby nauczyć się Haskella, poza rzeczami takimi jak zdolność rozumienia funkcji w sensie matematycznym (jak "mapa f: X -> Y", a nie jako "podprogram", który wykonuje pewne czynności), być w stanie myśleć o funkcjach wyższego rzędu (np. powiedzieć, że "" compose fg "jest funkcją, która na wejściu x ma wartość f (g (x))") i tak dalej. Notacja Haskella jest naprawdę czysta, więc nie powinno to stanowić problemu.

5

Ważne pojęcia dla Haskella to te, które są również ważne dla wszystkich języków funkcjonalnych i uważam, że niekoniecznie wymagają zaawansowanej matematyki.

Biorąc pod uwagę, że masz roczny rachunek różniczkowy, wszystko będzie dobrze.

Chociaż może dobrze mieć tło w rachunku lambda, nie jest to trudne wymaganie dla Haskella.

5

Wszystko będzie dobrze. Woda jest ciepła. Wskakuj!

3

Matematyka? Erm, nie. W ogóle nie potrzebujesz matematyki (jak w matematyce w zdrowym tego słowa znaczeniu: algebra, calculus, geometria), ale potrzebujesz logicznego (logicznego = = matematycznego?) Mózgu do programowania, tak jak z każdym innym językiem,

2

wierzę, że Haskell uczyć dużo logiki, matematyki tak dyskretne następnie dowiedzieć się Haskell i dostaniesz trochę matematyki umiejętności też :)

3

uczyłem się Haskell jakieś osiem lat temu miał tylko firmy posiadające Rachunek, i don Sądzę, że każda matematyka jest wymagana.

2

Im bardziej uniwersalna jest teoria algebry i kategorii, tym lepiej, ponieważ Haskell dużo bierze z tych gałęzi matematyki (np. Monady, system typu algebraicznego, strzałki i funktory).