Zauważyłem ostatnio, że funkcjonalne języki programowania zyskują popularność . Niedawno zobaczyłem, jak Indeks Tiobe pokazuje wzrost popularności w porównaniu do ubiegłego roku, chociaż większość z nich nawet nie osiąga 50 najpopularniejszych języków według tego indeksu.
Tak było od dłuższego czasu. Programowanie funkcjonalne po prostu nie stało się tak popularne jak inne modele (tj. Programowanie obiektowe).
Widziałem jednak odrodzenie zainteresowania siłą programowania funkcjonalnego, a teraz, gdy multikresy są coraz bardziej popularne, programiści zaczęli wykazywać zainteresowanie innymi modelami współbieżności, które już były badane w przeszłości przez języki takie jak Haskell i Erlang.
Z wielkim zainteresowaniem widzę, że pomimo braku znaczącej akceptacji społeczności, pojawia się coraz więcej takich języków. Clojure (2007), Scala (2003), F # (2002) to tylko trzy przykłady ostatniej dekady.
Sam poświęciłem trochę czasu na naukę Haskell i Scali. I znajduję wielki potencjał w paradygmacie, który dla mnie był nowy, mimo że byłam tam tak długo.
I oczywiście, moim największym pytaniem jest, czy któreś z nich stanie się na tyle popularne, aby rozważyć podjęcie jakiegokolwiek wysiłku, ale to pytanie, na które nawet Mandrake nie byłby w stanie odpowiedzieć, pomimo całego zamieszania, jakie ludzie o nim robią.
Chcę zapytać:
- W jakich scenariuszach powinienem rozważyć funkcjonalny język programowania, który lepiej nadaje się do wykonania danego zadania? Oprócz tak ostatnio popularnego problemu wielordzeniowego programowania równoległego.
- Gdybym zdecydował się na funkcjonalny język programowania, który uznałbyś za największe pułapki, z którymi się borykam? (Oprócz zmiany paradygmatu i trudności w ocenie wydajności z powodu leniwej oceny).
- Przy tak wielu funkcjonalnych językach programowania, jak wybrać ten, który najlepiej odpowiada Twoim potrzebom?
Wszelkie zalecenia dotyczące dalszych badań będą mile widziane.
Szukałem opinii w Internecie i wygląda na to, że cała ta odnowiona popularność wynika z pomysłu, że teraz uderzymy w ścianę Prawa Moore'a i nadejdą funkcjonalne języki programowania i bohatersko nas uratują. Ale jeśli tak jest, powiedziałbym, że istnieje większe prawdopodobieństwo, że istniejące popularne języki dostosują się do tego paradygmatu.
Być może niektórzy z was, z większym doświadczeniem w codziennej pracy z tymi językami, mogą uzyskać więcej informacji na ten temat. Wszystkie twoje opinie będą lepiej doceniane i uważnie przemyślane.
Z góry dziękuję!