BTW - języki (czysto) funkcyjne to też języki deklaratywne. Natomiast rodzaje deklaratywności są różne i Prolog to język programowania w logice. Tam chyba nawet nie ma czegoś takiego jak funkcje. :P
@wytrzzeszcz: Funkcja logiczna? Nie chcę udawać, że jakoś specjalnie znam Prologa, ale o ile pamiętam, to tam były tylko predykaty, a to coś zupełnie innego niż funkcje. Choć może są jakieś bardziej zaawansowane mechanizmy, o których się po prostu nie uczyłem - bo o ile Haskellem (i w ogóle funkcyjnością) mocno się interesuję, to Prologa znam tylko z kilku tygodni na studiach.
@wytrzzeszcz: W biznesie niestety są rzadko wykorzystywane. Po części to na pewno kwestia przyzwyczajeń ludzi, którzy uczą się programować imperatywnie i nie potrafią się przestawić na myślenie funkcyjne. Do tego dochodzi fakt, że jeśli języki nie są czysto funkcyjne i dopuszczają konstrukcje imperatywne (np. OCaml, Scala), to nieproporcjonalnie duża część kodu jest zazwyczaj napisana imperatywnie i wychodzi z tego niezły bałagan, bo między dopuszczaniem paradygmatu imperatywnego a jego wspieraniem jest
@wytrzzeszcz: Jeśli chcesz praktycznego Lispa to ogarnij Clojure (nawet zdarza się w nim praca, w odróżnieniu do innych Lispów), a z innych funkcyjnych nawet fajny jest F#. Możesz jeszcze ogarnąć. Innym ciekawym funkcyjnym jest Erlang (ergo Elixir).
@wytrzzeszcz: Ale już na poważnie: Haskell nie był projektowany z myślą o bezpieczeństwie - bezpieczeństwo to efekt braku efektów. :) Tu nie chodzi o to, że masz narzucone konkretne obostrzenia - po prostu nie ma stanu, nie ma problemu. Bezpieczeństwo to także zasługa genialnego, bardzo silnego statycznego systemu typów, ale i on nie był projektowany jako obostrzenie, tylko uosobienie matematycznej czystości.
Ale funkcyjność to coś znacznie więcej. To przede wszystkim
BTW - języki (czysto) funkcyjne to też języki deklaratywne. Natomiast rodzaje deklaratywności są różne i Prolog to język programowania w logice. Tam chyba nawet nie ma czegoś takiego jak funkcje. :P
btw gdzie je sie stosuje?
A w drugim pytaniu chodzi Ci o języki
Ale funkcyjność to coś znacznie więcej. To przede wszystkim