1. Dlaczego #haskell jest trudny do nauki? Z jakich materiałów się go uczyć?
2. Dlaczego warto się uczyć #haskell a nie #lisp? Czy jest od niego lepszy?
3. Jakie są ograniczenia #haskell? Co trudno w nim napisać?
4. Na jakie platformy mogę skompilować program napisany w #haskell?
5. Jak działa #haskell czy korzysta z jakiejś wirtualnej maszyny jak Java, czy posiada jakiś
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#programowanie #programowaniefunkcyjne #haskell
Czy do programowania funkcyjnego potrzebna jest znajomość matematyki? Da się zostać programistą języka funkcyjnego np. Haskell nie znając języków proceduralnych/OOP typu Java, C++ itd.? :D Czy jednak programowanie to teraz w większości tylko klepanie frontendów w JS :/
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@andrzejfryczmodrzewski1503:

1. do clojure czy sml - nie. Do Haskella - też niby nie do pisania programów, ale do czytania dokumentacji i forów i tutoriali itp - już tak, bo wszyscy Haskelowcy są p----------i na punkcie teorii grup i monad ( ͡° ͜ʖ ͡°)

2. da się. Programowanie funkcyjne jest niezależne od programowania obiektowego. Są pewne analogie (domknięcie to tak naprawdę obiekt a zmienne domykane to
  • Odpowiedz
konkretyzacja typu

@MirkoStats: @KrzaQ2: Dokładnie. Ogólnie nie trzeba tego pisać, ale jak się gdzieś pomylisz to taka deklaracja pozwala kompilatorowi zweryfikować czy na pewno funkcja przyjmuje i zwraca to co trzeba.
W ogóle haskell to zajebisty język, polecam napisać chociaż jeden projekcik, można przekonać się jak wiele daje silne typowanie i podejście funkcyjne. Brak stanu mocno ułatwia pisanie i debugowanie kodu, potem aż chce się używać takiego podejścia
  • Odpowiedz
@alkan: a spoko. Można zrobić wprowadzenie do Scali... się tylko zastanawiam którego ze Scalowców można by od ręki zaprosić. Typy mam tu dwa Runara Bjarnasona, który zaczynał od Haskell, a potem przeszedł na Scalę, czy też kogoś ze Scalac albo TypeSafe...
  • Odpowiedz
@Wolfik1024: dokonca nie rozumiem
, ale na twoim miejscu bym probowal "kodowac" od jednego elementu (s.z.) i sprawdzal czy dziala potem dodawal kolejne i szukal po goglach. Powinno szybko blad sie znalezc. Ale to taka bardzo luzna rozkmina.
  • Odpowiedz
Dzisiaj już 3 razy ktoś wspomniał o #haskell kurde fajnie ze ludzie w tym piszą w Polsce :) hobbystycznie czy codzienna praca ?
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@helbards: Tak z ciekawości: gdzie wspominali? Bo obserwuję #haskell i #programowaniefunkcyjne i staram się wyłapywać wszystkie wzmianki na ten temat i wtrącać swoje 3 grosze, bo jestem pasjonatem funkcyjności w ogólności, a Haskella w szczególności. :)

Chciałem iść do pracy jako haskellowiec, ale w Polsce raczej nie ma gdzie. Szukałem i była tylko jedna oferta na cały kraj, w dodatku wisząca od nie wiadomo kiedy, więc
  • Odpowiedz
@korri: co Ty, nie przeszłoby. Z resztą wszystko co osiągnąłem póki co (niewiele :D) to zrobiłem sam.. jakimś cudem. Ehh tak tylko śmieję, bo mi się nie chce trochę już. Język może i fajny, ale bardzobardzo nie lubię czegoś robić z przymusu, nauka dla siebie to byłoby coś całkiem innego :)
  • Odpowiedz
@Veuch: Składniowo wszystko jest OK, ale w Haskellu odstępy są ważne. Widzę, że w ST masz ustawione tabulacje. To się może lekko gryźć ze spacjami. Ustaw, żeby tabulacje były robione spacjami i spróbuj wtedy odpalić.
  • Odpowiedz
Mireczki, męczę się od rana i nie mogę napisać prostej zdawałoby się funkcji. Jakby co to jestem nowy w Haskellu.

Chciałbym mieć funkcję, która przyjmuje listę niepustych list i zwraca wszystkie listy możliwe do uzyskania w taki sposób, że z każdej spośród pierwotnych list wybierany jest dokładnie jeden element.

Przykład:
Wejście:
  • 20
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

nie wiem co rozwijającego jest w robieniu rzeczy trudniejszą drogą


@lukasz1985m: Właśnie chodzi o to, że funkcyjność nie jest "trudniejszą drogą" - a przynajmniej nie zawsze. Oczywiście nie ma uniwersalnych języków idealnych do wszystkich zastosowań, więc i języki funkcyjne mają słabe strony. Ale mają też mnóstwo pozytywów, które sprawiają, że są coraz popularniejsze.

Oprócz wymienionyego przez @KrzaQ2 "kodu prostszego do zrozumienia, optymalizacji i modularyzacji" dodałbym następujące kwestie:
- transparentność referencyjna, czyli
  • Odpowiedz
  • 3
@michalfranc: Słyszę to od dawna i odpowiedzią jest "raczej nie". Języki imperatywne bardzo szybko zaczęły przyswajać elementy programowania funkcyjnego, ale same języki funkcyjne nie za bardzo rosną w siłę.
  • Odpowiedz
@Ginden: Kiedys to samo mowili o C, C++ - wiadomo ze ciezko przewidziec w ktorym kieunku pojdzie branza i tak przeskok na funkcyjne programowanei bedzie duzo trudniejszy w porownaniu do kolejnej iteracji tego samego podejscia ale jednak po otoczeniu znajomych i obserwacjach rynku widze ze jest ruch na plus.
  • Odpowiedz