Jaki język z rodziny j. funkcyjnych polecacie?

0

Witam,

jak w temacie. Jakim językiem warto się zainteresować, jakiemu wróżycie przyszłość? Jakie są wasze spostrzeżenia na temat tych języków - jaki najlepszy do nauki, jaki może mieć zastosowanie w pracy? Mnie póki co zainteresowały dwa: F# - jako, że na co dzień programuje w .NET i Scala - hobbistycznie robię coś od czasu do czasu na Androida. Zastanawiam się czy warto poświęcać tym językom więcej czasu. Jak uważacie?

0

Pod żadnym pozorem nie interesuj się lispem, scheme czy haskellem. Mają dużo dobrego PR w necie ale są tak naprawdę bezużyteczne, co prawda każdy z trochę innych powodów.
Ze swej strony polecam ci Erlanga - dla problemów wielowątkowych jest idealny. Do napisania całej aplikacji się raczej nie nadaję, ale np. jako serwer czy część licząca jak najbardziej tak.
Dodatkowo erlang używa wielowątkowości opartej o przekazywanie wiadomości, warto pobawić się takimi niekonwencjalnymi sposobami.

0

Przyszłości językom funkcyjnym nie wróżę żadnej – czy też raczej taką, jak jest z nimi teraz: ot, ciekawostka, w której nawet da się napisać coś pożytecznego.
Ale jako ciekawostka, wspaniałe one są.

0

lol
Języki funkcyjne są jedyną możliwą przyszłością -> procesory szybsze nie będą, będzie ich za to więcej... dużo więcej.
Teraz masz 16rdzeniowe... będą i kilku tysięczne.
Czegoś takiego po prostu nie da się wykorzystać pisząc w języku stanowym. A w języku funkcyjnym nie trzeba nawet o tym myśleć, pisząc kod.

0
wojtekstrażak napisał(a)

Języki funkcyjne są jedyną możliwą przyszłością
Historia uczy, że przewidywanie przyszłego stanu wiedzy i techniki nigdy się nie sprawdza.
Wyobraź sobie jakieś stare sajens fikszyn, gdzie już od dawna latamy na Marsa, ale statek ma klapkowo-mechaniczne "wyświetlacze".

procesory szybsze nie będą, będzie ich za to więcej... dużo więcej.
A może będzie coś innego, nie procesor w dzisiejszym znaczeniu?

Teraz masz 16rdzeniowe... będą i kilku tysięczne.
Jednostki w kartach graficznych już pod to podchodzą.

Czegoś takiego po prostu nie da się wykorzystać pisząc w języku stanowym.
To nieprawda.

A w języku funkcyjnym nie trzeba nawet o tym myśleć, pisząc kod.
Jeszcze ktoś pomyśli, że w językach funkcyjnych w ogóle nie trzeba myśleć...

0

Ja polecam Scalę. Nie jest stricte funkcyjny, ale wieloparadygmatowy z dużym ukłonem w kierunku funkcyjności.

Przyszłości językom funkcyjnym nie wróżę żadnej – czy też raczej taką, jak jest z nimi teraz: ot, ciekawostka, w której nawet da się napisać coś pożytecznego.
Ale jako ciekawostka, wspaniałe one są.

Tak samo mówiono kiedyś o OOP. A jeszcze wcześniej o programowaniu strukturalnym.

Być może języki czysto funkcyjne się nie przebiją, tak jak nie przebiły się czysto obiektowe (Smalltalk), ale nie dziwi Cię ten ostatni pęd do dodawania funkcyjnych elementów we wszystkich popularnych językach imperatywnych (PHP, C#, Java, ba nawet w C++)?

0

Ogólnie to idealny język byłby funkcyjny i obiektowy.
Funkcyjność sama z siebie nie nadaje się zupełnie do tworzenia dużych rzeczy (bo organizacja kodu nie różni się specjalnie od kodu strukturalnego; jest on dużo krótszy, ale tylko tyle), ale w połączeniu z dobrym systemem obiektowym wynik byłby fantastyczny.

0

Taki język istnieje i nazywa się Scala ;]
http://www.scala-lang.org/

Swoją drogą, obiektowość i funkcyjność to są raczej ortogonalne kwestie. Możesz mieć język imperatywno-obiektowy jak Smalltalk i funkcyjno-obiektowy jak... funkcyjna część Scali albo OCaml. Napisałem "funkcyjna część", bo Scala jest bardzo wieloparadygmatowa i można WYGODNIE pisać zarówno czysto imperatywnie jak i czysto funkcyjnie, jak i łączyć te sposoby.

0

Placa Ci za te ochy i achy nad Scala?

0

@u - Jeśli nie zauważyłeś - to jest forum i każdy ma prawo do własnych poglądów. Oraz, o zgrozo, wyrażania ich.

1 użytkowników online, w tym zalogowanych: 0, gości: 1