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

Jaki język funkcyjny wybrać, jeśli już zaznałem programowania imperatywnego/obiektowego? [ankieta]

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
0 głosów
749 wizyt
pytanie zadane 11 września 2020 w Inne języki przez J0ker Pasjonat (15,400 p.)
Dzień dobry.

Chciałbym spróbować programowania funkcyjnego. Nie już uczyć się na maxa, cisnąć projekt za projektem pod znalezienie pracy w tym, ale spróbować, zobaczyć jak to jest. Na przestrzeni ostatnich 6 lat miałem nietrywialną styczność z językami (chronologicznie): Pascal, C++, C, Matlab/Octave, Javascript, R, Python, liznąłem w apce na telefon nawet kilka najprostszych lekcji Swifta czy Javy; były też momenty, że uczyłem się HTML i CSS (więc front-end) oraz SQL (więc bazy danych); wreszcie teraz uczę się w końcu pierwszy raz na poważnie Rusta i Pythona. Tak więc miałem styczność z programowaniem imperatywnym, obiektowym, naukowym oraz pisaniem kodu niebędącego kodem języka programowania.

Nie spróbowałem jeszcze np. programowania funkcyjnego oraz logicznego. O ile to drugie chyba sobie daruję, bo nie wszystkiego w życiu trzeba spróbować, trzeba coś wybrać, to chciałbym spróbować tego pierwszego.

Który język funkcyjny Państwo proponują? Najpopularniejsze są chyba 3 - Scala, Haskell i OCaml. Poproszę o krótką poradę, który język dla kogoś kto nie programował jeszcze funkcyjnie. Jeśli to ma znaczenie, to lubię i znam się na matematyce.
Możliwe odpowiedzi:
Scala (1 głos, 17%)
Haskell (4 głosów, 67%)
OCaml (1 głos, 17%)
inny - wpisz w komentarzu (0 głosów)
1
komentarz 11 września 2020 przez tkz Nałogowiec (42,020 p.)
Skoro znasz i lubisz matematykę, to wybierz ulubieńca grona akademickiego, R. Również wspiera programowanie funkcyjne.
komentarz 11 września 2020 przez J0ker Pasjonat (15,400 p.)
Nie wiem jaką ma Pan wiedzę, nie chciałbym jej kwestionować, natomiast znam jednego doktora bioinformatyki który uważa, że R jest bardzo dobry do analizowania konkretnego zestawu danych "na biężąco", linijka po linijce, natomiast jako język programowania jest bardzo zły do pisania programów które mają działać wiele razy, z różnymi danymi wejściowymi; w tym celu lepszy jest Python. Taką styczność z R już miałem, może do niego kiedyś wrócę jeśli rynek pracy mnie do tego zmusi.

Ja bym chciał jednak umrzeć z wiedzą, że spróbowałem programowania funkcyjnego, Może mi się to nigdy nie przyda i ktoś powie, że stracę czas, ale wolę stracić czas na programowanie niż na oglądanie "Rolnik szuka żony" lub patostreamów. Z resztą znam historie 'sławnych' osób które się wypaliły, gdy w pewnym momencie życia wszystko zaczęły robić 'na 100%'.
1
komentarz 11 września 2020 przez tkz Nałogowiec (42,020 p.)
Nie kwestionowałem, czy coś jest dobre, czy też nie. Po prostu z opinii jakie krążą wśród doktorów, czy profesorów wybór często pada na R. Oczywiście pod względem biznesowym Python jest zdecydowanie lepszym wyborem.
1
komentarz 11 września 2020 przez reaktywny Nałogowiec (44,740 p.)
R to nie język dla matematyków, on jest pomyślany głównie o statystyce i rach. prawdop.(to tylko wycinek matematyki) - dlatego chętnie wykorzystywany jest w machine learningu.

Jak lubisz matematykę to raczej Haskell, jak chcesz działać w ML to R lub coś innego, chociaż R nie jest językiem stricte funkcyjnym. Podobnie Python, choć na upartego w Javie i JS można pisać funkcyjnie. Jak web, to Elixir i Elm, jak mobile lub web to F#. Jak Big Data to Scala może się przydać.

Dużo osób poleca OCaml, bardzo ciekawy język, ale nie znam jego głównych zastosowań.
1
komentarz 11 września 2020 przez tkz Nałogowiec (42,020 p.)

R to nie język dla matematyków, on jest pomyślany głównie o statystyce i rach. prawdop.(to tylko wycinek matematyki) - dlatego chętnie wykorzystywany jest w machine learningu.

Tak samo jak język polski nie jest dla Polaków, ale jego głównymi użytkownikami są właśnie Polacy. Taka sama analogia co do języka R. Powstał na uniwersytecie, dla uniwersyteckich głów, ale bynajmniej nie tylko oni go ozywają. 

Jak lubisz matematykę to raczej Haskell,

W czym jest lepszy Haskell(oprócz nazwy od matematyka) od R jeżeli chodzi o matematykę?

 

komentarz 11 września 2020 przez reaktywny Nałogowiec (44,740 p.)
Nie wiem w czym jest lepszy, bo nie znam go wcale, ale czytałem, że jest używany przez matematyków. Podobnie jak R, Julia i Python. Nie wiem które z nich są najbardziej popularne wśród matematyków, pewnie zależy wiele od specjalności.

1 odpowiedź

0 głosów
odpowiedź 19 września 2020 przez profesorek96 Szeryf (91,420 p.)
Obecnie praktycznie każdy język oferuje możliwość programowania w paradygmacie funkcyjnym. Jednak jeśli chciałbyś się nauczyć robić to w sposób poprawny bo po prostu inaczej się nie da, wybrał bym język który jest czysto funkcyjny. Dzięki temu nie nabawisz się jakiś złych praktyk. Myślę że najlepszy wybór dla ciebie to Haskell.

Podobne pytania

–7 głosów
6 odpowiedzi 1,042 wizyt
–2 głosów
1 odpowiedź 306 wizyt

93,175 zapytań

142,185 odpowiedzi

321,977 komentarzy

62,506 pasjonatów

Advent of Code 2024

Top 15 użytkowników

  1. 1401p. - dia-Chann
  2. 1380p. - Łukasz Piwowar
  3. 1372p. - CC PL
  4. 1370p. - Łukasz Eckert
  5. 1351p. - Tomasz Bielak
  6. 1312p. - Łukasz Siedlecki
  7. 1302p. - rucin93
  8. 1217p. - Michal Drewniak
  9. 1181p. - rafalszastok
  10. 1164p. - Adrian Wieprzkowicz
  11. 1155p. - Piotr Aleksandrowicz
  12. 1149p. - Michał Telesz
  13. 1124p. - ssynowiec
  14. 1101p. - Dominik Łempicki (kapitan)
  15. 1087p. - Marcin Putra
Szczegóły i pełne wyniki

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

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...