• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Programowanie funkcyjne, przyszłość?

VPS Starter Arubacloud
+2 głosów
790 wizyt
pytanie zadane 19 marca 2019 w Rozwój zawodowy, nauka, praca przez Moti Użytkownik (650 p.)
Cześć, ostatnio na studiach rozpocząłem przedmiot dotyczący programowania funkcyjnego. Generalnie bardzo mi się to spodobało, spotkałem się też z opinią, że jest to przyszłość programowania. Chciałbym się dowiedzieć, co sądzicie o tej opinii i czy waszym zdaniem warto poświęcić czas na naukę języków funkcyjnych w kontekście późniejszej pracy w zawodzie programisty.

5 odpowiedzi

+7 głosów
odpowiedź 19 marca 2019 przez mokrowski Mędrzec (155,460 p.)
Program i kod, ma rozwiązywać problemy z rzeczywistości a nie służyć wyłącznie "onanizowania się intelektualnego". W tym zakresie w którym podejście OOP rozwiązuje problemy, jest racjonalne. W tym zakresie gdzie FP jest użyteczne także jest racjonalne. Ba ... w tym zakresie w którym podejście proceduralne się sprawdza, także może być niezłe.

Tak się składa że każdy z tych paradygmatów ma inny profil wartości, zastosowań, możliwych wdrożeń oraz zrozumienia ze strony biznesu. Każdy ma swoje ograniczenia. FP także i to duże. W końcu przecież trzeba odłożyć efekt uboczny a mimo dużej pamięci, nie jest ona zawsze nieskończona.

Zapytaj znanych Ci entuzjastów podejścia funkcyjnego o ograniczenia. Jeśli Ci ich nie podadzą, osobiście bym nie ufał w każdy sąd wartościujący "wyższość świąt nad jazdą rowerem" i określił ich entuzjastami. A to już zupełnie zmienia percepcję tego co mówią i piszą :-)

Każdy z tych (i innych nie wymienionych) paradygmatów warto poznać i stosować. Osobiście (przepraszam za szczerość), twierdzenia że OOP czy FP "nejlepsze zafsze jest" traktuję jako brak doświadczenia a bywa że i kompetencji.

 

PS. Jest taki język funkcyjny który już dawno się przyjął i wielu w nim pracuje. Jest dystrybuowany wraz z pewnym produktem. Nazywa się MS Excel.
komentarz 19 marca 2019 przez mbabane Szeryf (79,280 p.)

PS. Jest taki język funkcyjny który już dawno się przyjął i wielu w nim pracuje. Jest dystrybuowany wraz z pewnym produktem. Nazywa się MS Excel.

Nie wspominając o SQL.

 

Najważniejsze, tak jak wynika z Twojej wypowiedzi, aby żadnego paradygmatu nie stosować na siłę. 

komentarz 19 marca 2019 przez mokrowski Mędrzec (155,460 p.)
Fanatyzm w każdej postaci jest źródłem niepożądanych konsekwencji. Paradygmat to narzędzie jak każde inne. Młotka osobiście nie stawiał bym na piedestał i czci mu nie oddawał.

Co do SQL, to raczej bardziej przykład na podejście deklaratywne które także w pewnych kręgach zaczyna być "jedynie słusznym paradygmatem".
+2 głosów
odpowiedź 19 marca 2019 przez Tomek Sochacki Ekspert (227,510 p.)

spotkałem się też z opinią, że jest to przyszłość programowania.

osobście, gdy słyszę takie opinie to zadaję jedno, proste pytanie - ile projektów KOMERCYJNYCH napisałeś w tej technologii, języku, paradygmacie itp. itd. Bo tylko jak ktoś faktycznie czegoś używał produkcyjnie to jest w stanie stwierdzić wady i zalety.

Niestety wielokrotnie spotkałem się z tym, że część (nie mówię, że wszyscy) wykładowców zarówno w szkołach średnich jak i wyższych nigdy tak naprawdę nie pracowała przy jakiś sensownych projektach produkcyjnych, w środowisku wielu developerów itp. Często swoje teorie opierają tylko na wiedzy książkowej, wyczytanej w necie itp., nie na praktyce.

A ja osobiście nie lubię za bardzo podejścia czysto funkcyjnego... Miałem parę razy okazję tego spróbować jak musiałem zrobić jakieś zmiany w kodzie napisanym w ten sposób, ale jakoś nie przemawia to do mnie... Wolę tradycyjne podejście obiektowe, w moim odczuciu jest to bardziej naturalne modelowanie aplikacji. Ale jako, że nie mam dużego doświadczenia z funkcyjnym to nie wypowiem się jednoznacznie czy jest to przyszłość czy nie... w moim subiektywnym odczuciu raczej nie, generalnie spotykam więcej przeciwników niż zwolenników podejścia czysto funkcyjnego, ale kto wie... świat się zmienia i tak naprawdę nikt z nas nie jest w stanie powiedzieć co będzie za 10 lat :) Czy 20 lat temu uwierzyłbyś, gdyby ktoś Ci powiedział, że telefonem zrobisz zdjęcie i wrzucisz je do internetu :D ?

 

Ale z drugiej strony spróbowanie podejścia funkcyjnego ma jedną, wg mnie istotną zaletę. Otóż wiele początkujących osób często pisze metody robiące wiele rzeczy na raz, czasami nawet metody po 200 linii kodu i problem i płacz pojawia się dopiero przy pisaniu testów... (pomijając, że częśc osób w ogóle nie pisze testów, ale tych developerów to pomijam... bo wg mnie o kodzie świadczą w dużej mierze wlaśnie testy). Gdy piszesz proste, male funkcje to jakby nabierasz pewnego nawyku do tworzenia kodu z małych fragmentów, łatwiejszego w testowaniu i utrzymaniu.

 

Także jak ze wszystkim, są plusy i minusy :)

+1 głos
odpowiedź 19 marca 2019 przez Comandeer Guru (599,730 p.)
O OOP też mówiono, że to przyszłość programowania. Jak wyszło, każdy wie. Nie przesadzałbym, że to przyszłość programowania, zwłaszcza, że bardzo przyjemnie się miesza obydwa te paradygmaty (obiektowy z funkcyjnym). To po prostu inne podejście do programowania, powiedziałbym – bardziej matematyczne, nieoparte na modelowaniu rzeczywistości.
komentarz 19 marca 2019 przez Moti Użytkownik (650 p.)
W sumie racja, to jest opinia prowadzących zajęcia, więc wiadomo, że im się podoba wszystko, co w większy sposób związane z matematyką.
2
komentarz 19 marca 2019 przez adrian17 Ekspert (344,100 p.)

O OOP też mówiono, że to przyszłość programowania. Jak wyszło, każdy wie.

Jest sercem niemal każdego frameworka do aplikacji graficznych na komputery osobiste i mobile? :)

O OOP mówili że jest przyszłością i mieli rację. Po prostu "przyszłość" nie trwa nieskończoność; niektóre idee zanikają, a inne ewoluują.

3
komentarz 19 marca 2019 przez Comandeer Guru (599,730 p.)
Owszem, jeśli spojrzeć na zakres adaptacji, to OOP obecnie rządzi światem. Raczej chodziło mi o to, że tak szeroka adaptacja doprowadziła do degeneracji pierwotnych idei i zamienienia ich w święte dogmaty (słynne "jak nie piszesz w DDD, to sorry, ale tworzysz gównokod"), które z pierwotnym "modelowaniem rzeczywistości" nie mają już praktycznie nic wspólnego (fabryka serwisu adaptera proxy fabryki komparatora implementująca 15 interfejsów oraz rozszerzająca klasę abstrakcyjną). Po prostu z OOP z dobrego rozwiązania zrobiono Jedyny Słuszny Paradygmat, Którego Używanie Świadczy O Ilorazie Inteligencji™.

Dlatego trochę mnie śmieszy, że teraz powoli to samo próbuje się zrobić z FP (co widać np. w społeczności JS) – a przecież obydwa paradygmaty mają inne mocne strony i można je bardzo fajnie łączyć.
0 głosów
odpowiedź 19 marca 2019 przez Krzysztof Trybuś Mądrala (5,280 p.)
Ja bym nie patrzył na nic pod względem  przyszłościowym - są takie  dziedziny gdzie to co było przydatne jeszcze niedawno ... już dziś nie funkcjonuje np. z powodu tego, że ktoś doszedł do wniosku, iż dany problem można rozwiązać szybciej, prościej i niższym kosztem.

Patrz na takie rzeczy raczej wydajnościowo :) Jeżeli realizujesz jakieś zadanie\projekt do którego jest Ci potrzebna  jakaś umiejętność usprawniająca twoją pracę to się jej naucz.
–1 głos
odpowiedź 19 marca 2019 przez profesorek96 Szeryf (91,420 p.)
Programowanie funkcyjne to nie żadna nowość.Podejscie funkcyjne i obiektowe powstało w podobnym czasie. Długo programowanie funkcyjne stało w miejscu ponieważ nie było odpowiedniego sprzętu. Programy czysto funkcyjne żrą pamięć RAM która do niedawna była mega droga. Podejście obiektowe w tym czasie było najlepsze i nadal jest w wielu zastosowaniach. Obecnie rozwija się data science w którym podejście funkcyjne nie ma sobie równych. Wszystko zależy od zastosowań i na pewno wielkich apek korporacyjnych nikt nie będzie przepisywał na funkcyjny.

Podobne pytania

+1 głos
1 odpowiedź 85 wizyt
0 głosów
0 odpowiedzi 360 wizyt
pytanie zadane 26 kwietnia 2018 w C i C++ przez kikosiak Obywatel (1,010 p.)
0 głosów
1 odpowiedź 358 wizyt
pytanie zadane 4 kwietnia 2017 w Java przez WarriorLoam Nowicjusz (150 p.)

92,452 zapytań

141,262 odpowiedzi

319,085 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...