Miruny, ostatnio zacząlem się trochę nudzić i zamiast robić coś twórczego w technologiach, które jako tako znam chciałem się trochę oderwać i poznać coś nowego - padło na programowanie funkcyjne. Przymierzam się do F#, jako że technologie Microsoftowe mocno mi pasują (#wmoimsercutylkocsharp), ale ciężko mi znaleźć coś ciekawego uczącego tego języka poza onlineowym kursem Microsoftu a'la codecademy. Dodatkowo obawiam się, że F# jako "ten drugi" język od Microsoftu ma małe wsparcie i mało będzie do niego materiałów.
Podstawy składni itd. powiedzmy, że już z tego tutoriala poznałem, ale przydałoby mi się więcej teorii i/lub przykładowych problemów do rozwiązania (tak, żeby poznać potęgę tego podejścia, z czym to się je) - dysponuje może ktoś jakimiś ciekawymi linkami do poczytania na ten temat? Może być nawet ogólnie o programowaniu funkcyjnym (niekoniecznie F#), bo tak jak piszę - to moja pierwsza styczność z tym tematem.
@asunez: A ja polecam Scalę :) bardzo dobre wsparcie społeczności, bardzo dobry kurs na courserze, generalnie do nauki jak znalazł :) @achr: z kolegą robimy scala99.org -> jeszcze beta, trochę bugów których nie mamy czasu ostatnio naprawić, mało problemów itp, ale można rzucić okiem :)
@asunez: Ciężko mówić, że OOP wypiera FP, bo nie ma czego wypierać. FP próbuje dopiero powoli się przebijać. Nadal jest to niszowa działka, ale jest trochę ogłoszeń dla Scali. Słyszałem o jednej firmie w całości opartej na Haskellu, tworzyła bodajże efekty specjalne dla filmów. Jeśli chodzi o F# wiem tyle, że można trochę w tym podłubać w Credit Suisse we Wrocławiu.
@asunez: W żadnym wypadku nie chodziło mi o to, żeby powiedzieć, że F#/OCaml to złe języki. :) Po prostu chodzi o to, że to są języki zrobione przede wszystkim z myślą o praktyce, więc dopuszczają różne haki i sposoby pisania, które nie są funkcyjne, bo biznes to nie miejsce na elegancję, tylko efektywność*. A doświadczenie podpowiada, że jeśli się najpierw nie przestawisz na myślenie funkcyjne, to będziesz nadużywał niefunkcyjnych możliwości
@alkan: Dzięki za wyjaśnienie ( ͡°͜ʖ͡°) W takim razie najpierw siądę do Haskella, spróbuję "zrozumieć programowanie funkcyjne" i ewentualnie wtedy wrócę (a może tak mi się Haskell spodoba, że jednak nie) do F#. Masz rację, że szkoda sobie złe nawyki wyrabiać przez możliwe hacki - trzeba chociaż wiedzieć od podszewki, jak coś powinno działać, zanim zacznie się chodzić na skróty.
@asunez: Widzę, że wyżej pojawiła się jeszcze kwestia Scali. Więc mówiąc krótko: chodzi o to, że jeśli raz nauczysz się funkcyjności na języku czysto funkcyjnym, to potem bez najmniejszego problemu przesiądziesz się na dowolny język głównie funkcyjny. :) Ze Scali czy F# nie przejdziesz na Haskella bez problemu, ale z Haskella na Scalę czy F# - już tak.
Co do pracy - no cóż, sam chciałbym pracować w takim charakterze,
@alkan: jak już tak się rozpływasz nad Haskellem to polecam Idris => Haskell przy tym wymięka Z innych języków w których można programować funkcyjnie a przypadł mi do gustu to fajnie wygląda Swift(tak, ten od jabłuszek),
@fr3ak: O Idris będę się uczył za kilka tygodni, zapisałem się na przedmiot z teorii typów, mniej więcej połowa semestru będzie o Coq/Idris. :D Sam się uczyłeś tego języka? Możesz polecić jakieś materiały?
Może i dokonują ludobójstwa w gazie, okaleczają dzieci i znęcają się nad zwierzętami, ale za to dzięki nim mamy paliwo po 6 zł ( ͡°͜ʖ͡°) #iran #izrael #usa #zydzi #zyd #paliwo #palestyna
Miruny, ostatnio zacząlem się trochę nudzić i zamiast robić coś twórczego w technologiach, które jako tako znam chciałem się trochę oderwać i poznać coś nowego - padło na programowanie funkcyjne. Przymierzam się do F#, jako że technologie Microsoftowe mocno mi pasują (#wmoimsercutylkocsharp), ale ciężko mi znaleźć coś ciekawego uczącego tego języka poza onlineowym kursem Microsoftu a'la codecademy. Dodatkowo obawiam się, że F# jako "ten drugi" język od Microsoftu ma małe wsparcie i mało będzie do niego materiałów.
Podstawy składni itd. powiedzmy, że już z tego tutoriala poznałem, ale przydałoby mi się więcej teorii i/lub przykładowych problemów do rozwiązania (tak, żeby poznać potęgę tego podejścia, z czym to się je) - dysponuje może ktoś jakimiś ciekawymi linkami do poczytania na ten temat? Może być nawet ogólnie o programowaniu funkcyjnym (niekoniecznie F#), bo tak jak piszę - to moja pierwsza styczność z tym tematem.
Ewentualnie, jak nie F# to co polecacie poznać z #programowaniefunkcyjne?
rozwiązania w f# - https://github.com/paks/99-FSharp-Problems
https://www.manning.com/books/real-world-functional-programming
@achr: z kolegą robimy scala99.org -> jeszcze beta, trochę bugów których nie mamy czasu ostatnio naprawić, mało problemów itp, ale można rzucić okiem :)
@achr: O
Co do pracy - no cóż, sam chciałbym pracować w takim charakterze,
Komentarz usunięty przez autora
http://www.indeed.com/jobtrends?q=Scala%2C+Clojure%2C+F%23%2C+Haskell%2C+Ocaml%2C+Python%2C+Ruby&relative=1
a całkowitą liczbę ofert tutaj:
http://www.indeed.com/jobtrends?q=Scala%2C+Clojure%2C+F%23%2C+Haskell%2C+Ocaml%2C+Python%2C+Ruby
Pythona i Ruby wybrałem tylko żeby był jakiś punkt odniesienia ;)
Z innych języków w których można programować funkcyjnie a przypadł mi do gustu to fajnie wygląda Swift(tak, ten od jabłuszek),