Tym razem będzie (prawie) sam zbiór materiałów, bo nie jestem na tyle kompetentny w dziedzinie programowania funkcyjnego żeby wnieść coś twórczego do tematu.
Będzie jednak więcej języków za jednym razem - kolejność przypadkowa.
Nie wrzucam wszystkich materiałów jakie istnieją. Starałem się wybrać te które wiem, że są dobre, te które są polecane jako dobre lub te które wyglądają jakby były dobre.
###################
# JAK SIĘ NIE UCZYĆ
###################
Tylko czytając książki/kursy, tylko oglądając screencasty/prelekcji lub tylko klepiąc kod.
###################
# JAK SIĘ UCZYĆ
###################
Najlepiej połączyć wszystkie 3 rzeczy (czytanie książek/kursów, oglądanie materiałów video i kodowanie przykładowych projektów) razem żeby nauka była różnorodna i możliwie ciekawa.
Strony z zadaniami i zagadkami algorytmicznymi, poćwiczą twoje myślenie i niejednokrotnie optymalizację kodu. Miłe oderwanie od innej nauki. Uwaga - nie przesadzać, bo wpadniesz w złe praktyki i spiralę przedwczesnej optymalizacji.
Haskell to najpopularniejszy czysto-funkcyjny język na świecie, jak również drugi (po Scali) najpopularniejszy język funkcyjny. Słynny między innymi z zastosowań w nauce, finansach i obliczeniach, oraz z posiadanie jednego z najbardziej zaawansowanych (i najlepszych) kompilatorów kiedykolwiek stworzonych.
Elixir to bardzo młody język - pojawił się w 2012 roku. Bardzo dynamicznie się rozwija i nabiera tempa. Niedawno wyszła pierwsza naprawdę stabilna wersja. Oparty jest o niezawodną wirtualną maszynę Erlanga (BEAM). Jeżeli chcemy bawić się we wróżenie, to wróżę mu świetlaną przyszłość.
Ze względu na swój wiek ilość materiałów jest mocno ograniczona.
Funfact - programiści Elixiru są nazywani Alchemikami (Alchemists)
http://elixirsips.com/ - zbiór screencastów uczących eliksiru i wielu najbardziej popularnych bibliotek (garść darmowych, większość dostępna za opłatą)
Erlang to język zaprojektowany do tworzenia programów które "nigdy nie padają". Stworzony przez firmę Ericsson na potrzeby runku telekomunikacyjnego - jest na tym rynku popularny do dziś.
Implementacja LISPa na wirtualnej maszynie Javy (JVM). To najpopularniejszy dialekt LISPa na świecie i łatwo integruje się z rzeczami napisanymi w Javie.
Prawdziwie hybrydowy język łączący programowanie funkcyjne i obiektowe czym podbił sobie serca wielu programistów. Łatwo "mieszalny" z Javą. Określany mianem najpopularniejszego języka funkcyjnego na świecie.
http://www.apress.com/9781484202333 - Beginning Scala Second Edition to wprowadzenie do Scali dla początkujących od wydawnictwa Apress (w trakcie pisania - wczesny dostęp)
Lisp to pradziadek, dziadek i ojciec wielu innych funkcyjnych języków programowania. Posiada niezliczoną liczbę dialektów w tym Clojure (opisany wyżej) i Common Lisp będące tymi najpopularniejszymi.
http://www.lisperati.com/casting.html - Casting SPELs IN LISP krótki tutorial wprowadzający do LISP (uwaga - korzysta z komercyjnej wersji Common Lisp - Allegro Common Lisp od Franz Inc.)
F# to język funkcyjny dla platform .NET i Mono stworzony przez Microsoft. Jak łatwo się domyślić, świetnie współpracuje z gotowymi elementami napisanymi dla tych platform nawet w innych językach.
Objective Caml - OCaml To najpopularniejsza implementacja języka Caml z rodziny języków ML. Wspiera programowanie funkcyjne, imperatywne i zorientowane obiektowo. Mimo bardzo małej popularności ma bardzo wierną i stałą grupę programistów która dba o rozwój języka i dodatkowych bibliotek.
@Analityk: Programowanie funkcyjne to zupełnie inne podejście do programowanie niż takie tradycyjne programowanie obiektowe na przykład. W czystym programowaniu funkcyjnym działasz jakby wszystko było funkcjami matematycznymi. Jest coś na wejściu, jakieś przetwarzanie w środku i coś na wyjściu. Nie ma modyfikowania zmiennych globalnych, jakichś zewnętrznych stanów i innych rzeczy które nazywane są "Side Effects". Takie wymuszenia pozwalają inaczej myśleć o zadaniach, skupiać się bardziej na danych. Języki funkcyjne zwykle w prostszy
@aseeon: O stary, powinieneś założyć stronkę i tam publikować wpisy. Miałbyś kilka złotych na piwo z reklam. Na wykopie niestety to przepadnie wśród śmiesznych obrazków ( ͡°ʖ̯͡°)
@tytanowy-janusz: Może kiedyś zrobię kanał na youtube ze screencastami z Pythona, żeby było na piwo albo dwa. Do tego czasu nie muszę nic z tego mieć. Tym bardziej że to nie sekretne sekrety mistrzów, tylko zbiór materiałów :)
@tytanowy-janusz: To prawda, ale nie było to w 100% bezinteresowne bo sam będę się jednego z tych języków uczył, tylko jeszcze nie zdecydowałem którego :)
@aseeon: Haskell to najlepszy język na świecie, a "Learn You a Haskell for Great Good" jest naprawdę super, tylko jak już człowiek dotrze do monad, to głowa eksploduje.
Z drugiej strony F# jest bardzo przyjemny, szczególnie jako język skryptowy. Zwięzłość tych języków jest powalająca, ale niestety mają bardzo stromą krzywą poznawczą.
A na serio język prosty do nauczenia(osiągnięcie mistrzostwa jest jednak trudne/b. trudne), z ogromną ilością bibliotek(cpan) i sporymi możliwościami jeśli chodzi o programowanie funkcyjne:)
@okkszakaraka: To że coś tam potrafi to go nie czyni językiem funkcyjnym. Na tej samej zasadzie Python wspiera paradygmat programowania funkcyjnego ale nikt go takim nie nazywa. Jako ciekawostka, czy też dodatkowe możliwości dla ludzi już w Perlu programujących - super. Ale uczyć się Perla dla programowania funkcyjnego to nieporozumienie :)
To jak otwieranie wina nożem, no teoretycznie można, ale po co skoro jest korkociąg.
###################
# WSTĘP
###################
Tym razem będzie (prawie) sam zbiór materiałów, bo nie jestem na tyle kompetentny w dziedzinie programowania funkcyjnego żeby wnieść coś twórczego do tematu.
Będzie jednak więcej języków za jednym razem - kolejność przypadkowa.
Nie wrzucam wszystkich materiałów jakie istnieją. Starałem się wybrać te które wiem, że są dobre, te które są polecane jako dobre lub te które wyglądają jakby były dobre.
###################
# JAK SIĘ NIE UCZYĆ
###################
Tylko czytając książki/kursy, tylko oglądając screencasty/prelekcji lub tylko klepiąc kod.
###################
# JAK SIĘ UCZYĆ
###################
Najlepiej połączyć wszystkie 3 rzeczy (czytanie książek/kursów, oglądanie materiałów video i kodowanie przykładowych projektów) razem żeby nauka była różnorodna i możliwie ciekawa.
###################
# CZĘŚĆ WSPÓLNA
###################
Zbiór pomysłów na projekty:
https://warosu.org/data/g/img/0441/94/1410874830625.png
https://github.com/karan/Projects
Strony z zadaniami i zagadkami algorytmicznymi, poćwiczą twoje myślenie i niejednokrotnie optymalizację kodu. Miłe oderwanie od innej nauki. Uwaga - nie przesadzać, bo wpadniesz w złe praktyki i spiralę przedwczesnej optymalizacji.
http://pl.spoj.com/
http://codeeval.com/
https://www.hackerrank.com/
http://www.codechef.com/
https://www.reddit.com/r/dailyprogrammer
https://projecteuler.net/problems
http://www.amazon.com/Purely-Functional-Structures-Chris-Okasaki/dp/0521663504/ - książka o strukturach danych dedykowanych do programowania funkcyjnego - dla dociekliwych
###################
# Haskell
###################
Haskell to najpopularniejszy czysto-funkcyjny język na świecie, jak również drugi (po Scali) najpopularniejszy język funkcyjny. Słynny między innymi z zastosowań w nauce, finansach i obliczeniach, oraz z posiadanie jednego z najbardziej zaawansowanych (i najlepszych) kompilatorów kiedykolwiek stworzonych.
https://en.wikipedia.org/wiki/Haskell_(programming_language)
http://www.haskell.org/haskellwiki/ - źródło linków i wiedzy wszelakiej - centrum języka
KSIĄŻKI - Dostępne za darmo
http://learnyouahaskell.com/chapters - Learn You a Haskell for Great Good! wydawnictwa NoStarch
http://book.realworldhaskell.org/read/- Real World Haskell wydawnictwa O'Reilly
http://chimera.labs.oreilly.com/books/1230000000929/index.html - Parallel and Concurrent Programming in Haskell wydawnictwa O'Reilly
https://en.wikibooks.org/wiki/Haskell - wikiksiążka o Haskellu
KSIĄŻKI
http://www.amazon.com/gp/product/0201882957/ - Haskell: The Craft of Functional Programming (3rd Edition) od wydawnictwa Addison-Wesley
http://www.amazon.com/gp/product/1430262508/ - Beginning Haskell od wydawnictwa Apress
http://www.amazon.com/gp/product/0521692695/ - Programming in Haskell od wydawnictwa Cambridge Press
KURSY
http://shuklan.com/haskell/index.html - kurs University of Virginia
http://www.cis.upenn.edu/~cis194/lectures.html - kurs University of Pennsylvania
https://www.fpcomplete.com/school - wiele kursów, tutoriali i innych materiałów w jednym miejscu od firmy FP Complete
KURS MOOC (jak Coursera)
https://www.edx.org/course/delftx/delftx-fp101x-introduction-functional-2126 - Kurs wprowadzjący do programowania funkcyjnego (autor ten sam co filmów z Channel9)
TUTORIALE
http://lisperati.com/haskell/ - szybki tutorial z komiksowymi ilustracjami
https://www.haskell.org/haskellwiki/Hitchhikers_guide_to_Haskell - Hitchhikers guide to Haskell krótki kurs na HaskellWiki
https://www.haskell.org/haskellwiki/Roll_your_own_IRC_bot - wprowadzenie w Haskella polegające na napisaniu własnego bota IRC
https://en.wikibooks.org/wiki/Write_Yourself_a_Scheme_in_48_Hours - nauka Haskella polegająca na napisaniu własnego interpretera języka Scheme, najtrudniejsze z przytoczonych wprowadzeń
http://yannesposito.com/Scratch/en/blog/Haskell-the-Hard-Way/ - Learn Haskell Fast and Hard to krótki tutorial polecany tu i ówdzie
SCREENCASTY / PRELEKCJE za darmo
http://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals - Podstawy programowanie funkcyjnego od Channel 9 Microsoftu
https://www.youtube.com/playlist?list=PLxj9UAX4Em-Ij4TKwKvo-SLp-Zbv-hB4B - Haskell from Scratch, seria pokazująca (między innymi) kodowanie praktycznych programów
https://www.youtube.com/watch?v=3bjXGrycMhQ - Historia Haskella
A Taste of Haskell czyli wprowadznie dla ludzi już będących programistami:
http://www.slideshare.net/oscon2007/os-peytonjones - Slajdy (niezbędne bo nie widać ich na nagraniach)
https://www.youtube.com/watch?v=jLj1QV11o9g - Część 1
https://www.youtube.com/watch?v=IqXTUbdLig0 - Część 2
https://www.youtube.com/playlist?list=PLxj9UAX4Em-Lz5btngxMVZxf_B44GETVz - Haskell Deconstructed czyli seria analizująca/omawiająca źródła różnych otwarto-źródłowych programów napisanych w Haskellu
https://www.youtube.com/watch?v=b9FagOVqxmI - Haskell Amuse-Bouche od Google Tech Talks pokazuje (mniej więcej) co Haskell potrafi i dlaczego jest warty uwagi
SCREENCASTY płatne
Haskell Fundamentals od Pluralsight - dwuczęściowy kurst uczący Haskella od podstaw
http://www.pluralsight.com/courses/haskell-fundamentals-part1
http://www.pluralsight.com/courses/haskell-fundamentals-part2
POZOSTAŁE
http://dev.stephendiehl.com/hask/ - to właściwie zbiór (bardzo wielu) porad które warto znać na takim czy innym etapie nauki Haskella
http://tryhaskell.org/ - 5 minutowe intro do Haskella w całości odbywające się w przeglądarce
http://www.haskellcast.com/ - podcast poświęcony Haskellowi
http://www.reddit.com/r/haskell - reddit haskella
###################
# Elixir
###################
Elixir to bardzo młody język - pojawił się w 2012 roku. Bardzo dynamicznie się rozwija i nabiera tempa. Niedawno wyszła pierwsza naprawdę stabilna wersja. Oparty jest o niezawodną wirtualną maszynę Erlanga (BEAM). Jeżeli chcemy bawić się we wróżenie, to wróżę mu świetlaną przyszłość.
Ze względu na swój wiek ilość materiałów jest mocno ograniczona.
Funfact - programiści Elixiru są nazywani Alchemikami (Alchemists)
https://en.wikipedia.org/wiki/Elixir_(programming_language)
http://elixir-lang.org/ - centrum języka
gp/product
KSIĄŻKI / KURSY - Dostępne za darmo
http://elixir-lang.org/getting_started/1.html - oficjalny kurs języka
http://chimera.labs.oreilly.com/books/1234000001642/index.html - zbiór ćwiczeń dla programistów Elixiru
KSIĄŻKI
http://www.amazon.com/gp/product/1937785580/ - Programming Elixir wydawnictwa Pragmatic Programmers
http://www.amazon.com/gp/product/dp/1449369995/ - Introducing Elixir wydawnictwa O'Reilly
http://www.manning.com/juric/ - Elixir in Action wydawnictwa Manning (w trakcie tworzenia - wczesny dostęp)
KSIĄŻKI - (jeszcze) nie dostępne
http://elixir-for-rubyists.com/ - Elixir for the Functional Rubyist
http://www.exotpbook.com/ - The Little Elixir and OTP Guidebook
SCREENCASTY I INNE
http://www.pluralsight.com/courses/meet-elixir - krótki, płatny, kurs przygotowany przez samego twórcę języka
http://elixirsips.com/ - zbiór screencastów uczących eliksiru i wielu najbardziej popularnych bibliotek (garść darmowych, większość dostępna za opłatą)
http://www.elixirdose.com/ - seria artykułów o samym eliksirze i różnych jego bibliotekach
https://www.youtube.com/watch?v=41PvAPSX0wg - Introduction to Elixir: a New Language on the VM - przedstawienie języka przez jego twórcę
https://www.youtube.com/watch?v=5kYmOyJjGDM - All Aboard The Elixir Express! - 3-godzinne warsztaty Elixiru
http://www.reddit.com/r/elixir - Reddit języka
###################
# Erlang
###################
Erlang to język zaprojektowany do tworzenia programów które "nigdy nie padają". Stworzony przez firmę Ericsson na potrzeby runku telekomunikacyjnego - jest na tym rynku popularny do dziś.
https://en.wikipedia.org/wiki/Erlang_(programming_language)
http://www.erlang.org/ - centrum języka
KSIĄŻKI dostępne za darmo
http://learnyousomeerlang.com/content - Learn You Some Erlang for Great Good! - czyli od zera do programisty Erlanga
http://chimera.labs.oreilly.com/books/1234000000726/index.html - zbiór ćwiczeń dla programistów Erlanga
http://www.erlang-in-anger.com/ - Erlang in Anger to książka o diagnozowaniu, naprawianiu i dbaniu o kod
http://www.erlang.org/download/erlang-book-part1.pdf - Concurrent Programming in ERLANG - o programowaniu współbieżnym w Erlangu
https://github.com/esl/erlang-handbook/raw/master/output/ErlangHandbook.pdf - kolejne zwięzłe przedstawienie Erlanga
http://pl.scribd.com/doc/44221/Thinking-in-Erlang - bardzo krótkie wprowadzenie do Erlanga
KSIĄŻKI
http://www.amazon.com/gp/product/193778553X/ - Programming Erlang Second Edition - książka twórcy samego Erlanga wydawnictwa Pragmatic Programmers
http://www.amazon.com/gp/product/1449331769/ - Introducing Erlang - krótkie wprowadzenie do Erlanga wydawnictwa O'Reilly
http://www.amazon.com/gp/product/0596518188/ - Erlang Programming - dogłębne wprowadzenie do Erlanga wydawnictwa O'Reilly
http://www.amazon.com/gp/product/1933988789/ Erlang and OTP in Action wydawnictwa Manning
SCREENCASTY I INNE
http://shop.oreilly.com/product/0636920020240.do - Erlang by Example - seria screencastów prezentujących język Erlang na przykładach
http://vimeo.com/erlang/videos - zbiór bardzo różnych materiałów video dotyczących Erlanga
https://www.youtube.com/user/ErlangSolutions/videos - zbiór materiałów firmy Erlang Solutions
http://trigonakis.com/blog/series/introduction-to-erlang/ - seria wpisów wprowadzających do Erlanga
http://www.tryerlang.org/ - spróbuj Erlanga w przeglądarce
https://www.reddit.com/r/erlang/ - reddit poświęcony językowi
###################
# Clojure
###################
Implementacja LISPa na wirtualnej maszynie Javy (JVM). To najpopularniejszy dialekt LISPa na świecie i łatwo integruje się z rzeczami napisanymi w Javie.
https://en.wikipedia.org/wiki/Clojure
http://clojure.org/ - centrum języka
KSIĄŻKI I KURSY dostępne za darmo
http://www.braveclojure.com/ - Clojure for the Brave and True - przystępna książka ucząca Clojure
https://github.com/clojure-cookbook/clojure-cookbook - darmowa wersja książki Clojure Cookbook wydawnictwa O'Reilly
http://mooc.cs.helsinki.fi/clojure - kurs Clojure Uniwersytetu w Helsinkach
http://java.ociweb.com/mark/clojure/article.html - Clojure - Functional Programming for the JVM - Krótkie wprowadzenie do programowania funkcyjnego w Clojure
http://www.unexpected-vortices.com/clojure/brief-beginners-guide/ - A Brief Beginner’s Guide To Clojure - zwięzłe wprowadzenie do Clojure dla początkujących
http://daly.axiom-developer.org/clojure.pdf - bardzo rozbudowana książka
http://data-sorcery.org/contents/ - Data Sorcery with Clojure - o Data Science przy pomocy Clojure
KSIĄŻKI
http://www.amazon.com/gp/product/1617291412/ - The Joy of Clojure, Second Edition - bardzo dogłębna książka o języku Clojure wydawnictwa Manning
http://www.amazon.com/gp/product/1934356867/ - Programming Clojure Second Edition - wprowadzenie do Clojure wydawnictwa Pragmatic Programmers
http://www.amazon.com/gp/product/1449394701/ - Clojure Programming - wprowadzenie do Clojure wydawnictwa O'Reilly
http://www.manning.com/rathore2/ - Clojure in Action, Second Edition (w trakcie pisania - wczesny dostęp) wprowadznie do Clojure wydawnictwa Manning
http://www.amazon.com/gp/product/1430272317/ - Practical Clojure to wprowadzenie do programowania funkcyjnego w ogóle i Clojure w szczególe od wydawnictwa Apress
SCREENCASTY (płatne)
http://www.pluralsight.com/courses/functional-programming-clojure
http://www.pluralsight.com/courses/clojure-fundamentals-part-one
http://www.pluralsight.com/courses/clojure-concurrency-tutorial
http://shop.oreilly.com/product/0636920030409.do - Clojure Inside Out od O'Reilly
INNE
https://www.youtube.com/watch?v=SYeDxWKftfA - Uncle Bob prezentuje Clojure
https://www.youtube.com/user/ClojureTV/videos - zbiór różnych video o Clojure
https://www.reddit.com/r/Clojure/ - reddit języka
###################
# Scala
###################
Prawdziwie hybrydowy język łączący programowanie funkcyjne i obiektowe czym podbił sobie serca wielu programistów. Łatwo "mieszalny" z Javą. Określany mianem najpopularniejszego języka funkcyjnego na świecie.
https://en.wikipedia.org/wiki/Scala_(programming_language)
http://www.scala-lang.org/ - centrum języka
KSIĄŻKI dostępne za darmo
http://www.artima.com/pins1ed/ - Programming in Scala, First Edition - pełnoprawna książka ucząca programowania w Scali
http://www.scala-lang.org/docu/files/ScalaByExample.pdf - Scala By Example - jak w tytule, Scala w przykładach
http://danielwestheide.com/scala/neophytes.html - The Neophyte's Guide to Scala to nauka Scali nie od samego zera
KSIĄŻKI
http://www.informit.com/store/scala-for-the-impatient-9780321774095 - Scala for the Impatient - zwięzła nauka Scali od wydawnictwa Addison-Wesley
http://www.amazon.com/gp/product/0981531644/ - Programming in Scala Second Edition - książka krok po kroku ucząca programowania w Scali wydawnictwa Artima
http://www.amazon.com/gp/product/1617290653/ - Functional Programming in Scala - nauka programowania funkcyjnego z użyciem Scali wydawnictwa Manning
http://www.amazon.com/gp/product/1935182706/ - Scala in Depth - książka prezentująca dogłębne zagadnienia takie jak najlepsze praktyki i wzorce wydawnictwa Manning
http://www.amazon.com/gp/product/1935182757/ - Scala in Action wprowadzenie do Scali od wydawnictwa Manning
http://www.amazon.com/gp/product/1449339611/ - Scala Cookbook czyli zbiór gotowych fragmentów kodu i porad jak rozwiązywać popularne problemu w Scali
http://shop.oreilly.com/product/0636920033073.do - Programming Scala
Second Edition czyli wprowadzenie do Scali dla już w czymś programujących wydawnictwa O'Reilly (w trakcie pisania - wczesny dostęp)
http://shop.oreilly.com/product/0636920030287.do - Learning Scala to nauka programowania funkcyjne ze Scalą od zera od wydawnictwa O'Reilly (w trakcie pisania - wczesny dostęp)
http://www.apress.com/9781484202333 - Beginning Scala Second Edition to wprowadzenie do Scali dla początkujących od wydawnictwa Apress (w trakcie pisania - wczesny dostęp)
KURS MOOC
https://www.coursera.org/course/progfun - Functional Programming Principles in Scala uczący programowania funkcyjnego przy pomocy Scali
TUTORIALE
http://docs.scala-lang.org/tutorials/ - A Tour of Scala - oficjalny tutorial Scali
http://naildrivin5.com/scalatour/ - Another Tour of Scala - inny przewodnik po Scali
https://twitter.github.io/scala_school/ - Scala School! - lekcje Scali od Twittera
http://www.scala-lang.org/docu/files/ScalaTutorial.pdf - A Scala Tutorial for Java programmers - Króciutki tutorial wprowadzający do Scali napisany z myślą o programistach Javy
http://aperiodic.net/phil/scala/s-99/ - 99 ćwiczeń dla programistów Scali
SCREENCASTY (płatne)
http://www.pluralsight.com/courses/scala-getting-started - Podstawy Scali od Pluralsight
http://shop.oreilly.com/product/0636920036128.do - Learning Scala Programming - kurs video od Infinite SKills
http://www.informit.com/store/scala-fundamentals-livelessons-video-training-downloadable-9780321927743 - Scala Fundamentals czyli nauka scali od podstaw od wydawnictwa Addison-Wesley
INNE
https://www.youtube.com/watch?v=P8jrvyxHodU - przedstawienie różnych części Scali przez jej twórcę
https://www.reddit.com/r/scala/ - reddit języka
###################
# Lisp - Common Lisp
###################
Lisp to pradziadek, dziadek i ojciec wielu innych funkcyjnych języków programowania. Posiada niezliczoną liczbę dialektów w tym Clojure (opisany wyżej) i Common Lisp będące tymi najpopularniejszymi.
https://pl.wikipedia.org/wiki/Lisp
https://pl.wikipedia.org/wiki/Common_Lisp
http://common-lisp.net/ - centrum języka prowadzone przez Fundację Common Lisp
Najpopularniejszymi darmowymi kompilatorami (implementacjami) Common Lisp są:
CLISP - https://en.wikipedia.org/wiki/CLISP
SBCL - https://en.wikipedia.org/wiki/Steel_Bank_Common_Lisp
KSIĄŻKI dostępne za darmo
http://www.gigamonkeys.com/book/ - Practical Common Lisp darmowa wersja książki wydawnictwa Apress
http://learnlispthehardway.org/book/ - Learn Lisp The Hard Way - książka do nauki Common Lisp od podstaw - wersja Alpha intensywnie modyfikowana
http://clqr.boundp.org/download.html - Common Lisp Quick Reference - przerośnięty Cheet Sheet do języka Common Lisp
https://www.cs.cmu.edu/~dst/LispBook/book.pdf - Common Lisp - A Gentle Introduction to Symbolic Computation czyli wprowadzenie do Common Lisp oparte na obliczeniach
http://psg.com/~dlamkins/sl/contents.html - Successful Lisp: How to Understand and Use Common Lisp - książka raczej dla już w czymś programujących
KSIĄŻKI
http://www.nostarch.com/lisp.htm - Land of Lisp to bogato ilustrowana i przystępna książka ucząca programowania na przykładach prostych gier.
http://www.amazon.com/gp/product/0133708756/ - ANSI Common Lisp - dogłębnie o Common Lisp od wydawnictwa Prentice Hall
TUTORIALE
http://www.lisperati.com/casting.html - Casting SPELs IN LISP krótki tutorial wprowadzający do LISP (uwaga - korzysta z komercyjnej wersji Common Lisp - Allegro Common Lisp od Franz Inc.)
INNE
https://www.youtube.com/watch?v=VeAdryYZ7ak - Practical Common Lisp od Google Tech Talks
https://www.reddit.com/r/lisp/ - reddit wszystkich dialektów
https://www.reddit.com/r/common_lisp - reddit Common Lisp
###################
# F Sharp
###################
F# to język funkcyjny dla platform .NET i Mono stworzony przez Microsoft. Jak łatwo się domyślić, świetnie współpracuje z gotowymi elementami napisanymi dla tych platform nawet w innych językach.
https://en.wikipedia.org/wiki/F_Sharp_(programming_language)
http://fsharp.org/ - centrum języka
KSIAŻKI I TUTORIALE dostępne za darmo
http://www.tryfsharp.org/Learn - tutoriale i materiały prosto od Microsoftu
http://fsharpforfunandprofit.com/ - zbiór artykułów o F#
http://fsharp.org/videos/1 - zbiór video dotyczących F#
https://en.wikibooks.org/wiki/F_Sharp_Programming - wikiksiążka o F#
http://www.syncfusion.com/resources/techportal/ebooks/fsharp - zwięźle o F# (w pola można wpisać praktycznie cokolwiek co pozwoli nam zassać książkę)
KSIĄŻKI
http://www.amazon.com/gp/product/1593275528/ - The Book of F# wprowadzenie do F# od wydawnictwa NoStarch
http://www.amazon.com/gp/product/1449320295/ - Programming F# 3.0 - wprowadzenie do F# od wydawnictwa O'Reilly
http://www.amazon.com/gp/product/1430246502/ - Expert F# 3.0 - książka dogłębnie traktująca o F# od wydawnictwa Apress
SCREENCASTY
http://www.pluralsight.com/courses/fsintro - Introduction to F# - seria Screencastów uczących od zera F#
http://www.pluralsight.com/courses/functional-architecture-fsharp - A Functional Architecture with F# - jak w tytule, uczy architektury funkcyjnej na przykładzie F#
http://www.pluralsight.com/courses/fsharp-functional-data-structures - F# Functional Data Structures czyli nauka struktur danych na przykładzie F#
INNE
https://channel9.msdn.com/Tags/fsharp - różne materiały video od Channel9
https://www.reddit.com/r/fsharp/ - reddit języka
###################
# OCaml
###################
Objective Caml - OCaml To najpopularniejsza implementacja języka Caml z rodziny języków ML. Wspiera programowanie funkcyjne, imperatywne i zorientowane obiektowo. Mimo bardzo małej popularności ma bardzo wierną i stałą grupę programistów która dba o rozwój języka i dodatkowych bibliotek.
https://en.wikipedia.org/wiki/OCaml
https://ocaml.org/ - centrum języka
KSIĄŻKI I TUTORIALE dostępne za darmo
Że Ci się chce, ale plusik :)
A tak w temacie, to dlaczego funkcyjne? Wszystko dobrze, ladnie, ale nie czaje ani troche tej skladni ani tez roznicy miedzy "normalnymi" j.p.
@tytanowy-janusz: Może kiedyś zrobię kanał na youtube ze screencastami z Pythona, żeby było na piwo albo dwa. Do tego czasu nie muszę nic z tego mieć. Tym bardziej że to nie sekretne sekrety mistrzów, tylko zbiór materiałów :)
Niemniej dzięki!
@aseeon: Jednak wyszukiwanie dobrej jakości materiałów też pochłania sporo cennego czasu :)
@tytanowy-janusz: To prawda, ale nie było to w 100% bezinteresowne bo sam będę się jednego z tych języków uczył, tylko jeszcze nie zdecydowałem którego :)
Z drugiej strony F# jest bardzo przyjemny, szczególnie jako język skryptowy. Zwięzłość tych języków jest powalająca, ale niestety mają bardzo stromą krzywą poznawczą.
@laoong: Ma też najlepsze dostępne za darmo materiały jakie widziałem do praktycznie jakiegokolwiek języka.
perl:
http://hop.perl.plover.com/
:P
A na serio język prosty do nauczenia(osiągnięcie mistrzostwa jest jednak trudne/b. trudne), z ogromną ilością bibliotek(cpan) i sporymi możliwościami jeśli chodzi o programowanie funkcyjne:)
To jak otwieranie wina nożem, no teoretycznie można, ale po co skoro jest korkociąg.
P.S. Nawet w perlu troszkę kiedyś