Wpis z mikrobloga

@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.

A w drugim pytaniu chodzi Ci o języki
  • Odpowiedz
@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
  • Odpowiedz
@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).
  • Odpowiedz
@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
  • Odpowiedz