Temat: Scala - opinie
Paweł W.:
Paweł P.:
Hej,
chciałbym poznać Wasze opinie na temat języka Scala. Jedni twierdzą, że to język przyszłości inni, że pomyłka.
Cześć, Ostatnio byłem na prezentacji "co nowego w C# 4 i 5" i ku mojemu zdziwieniu i zmartwieniu to co wydawało mi się w scali "nowoczesne" w C# jest "normalne" i "codzienne". Także nie powiedziałbym, że to język "przyszłości" ale raczej szansa na dotknięcie "teraźniejszości" na JVM.
No to czegoś tu nie rozumiem. W Scali wszystko kręci się w koło funkcji...
Dla przykładu. Takie coś też mogę zrobić w C#:
http://www.cs.rice.edu/~javaplt/402/12-spring/lectures...
?
Z tego co widziałem porównania Java 8 ma lepszą wydajność w
programowaniu funkcyjnym. C# jest wolniejszy, ale i tak szybszy od Scali.
Co do Scali i programowania funkcyjnego. Dla mnie - to jest kwestia
podejścia. Czasem lepiej się coś rozwiązuje imperatywnie, czasem
deklaratywnie. Obrona twierdzenia, że coś jest lepsze w ogólności - jest
jak upieranie się nad przewagą jednych świąt nad drugimi. Oczywiście,
są zastosowania, upodobania kulinarne, ale w ogólności?
C# to Java + Delphi. Znam oba i uważam, że albo jedno albo drugie.
No, ale... ;)
Generalnie po otworzeniu się na inne języki niż Java czuję się jak w tym filmie "Osada" z przed 10 lat gdzie ludzie mieszkali w niby w 19 wiecznej wsi a później się okazało, że wszędzie do o koła jest już wiek 21 i latają samoloty (to był chyba ten film i sorry za spoiler jeśli ktoś nie oglądał)
A to teraz rozumiem... :D
Dodam jeszcze, że np. W Pythonie, podobnie jak w JavaScript'cie wszystko
się kręci w koło tablic asocjacyjnych... Masz obiekt, który można przerobić
na coś zupełnie innego - w locie. Jak ktoś się podnieca aspektami w Javie,
to mówię, że takie rzeczy... inni mają od zawsze. Ba jak mieli język i ten język
już był obiektowy - to się takie rzeczy dało robić.
W szerszym kontekście to się wszystko waha - od dania programiście
większej swobody, do jego lepszego kontrolowania. Wszystko oczywiście
w dobrej wierze. :) W mniejszych projektach ograniczenia są jak kula u
nogi. W większych to szkielet, na którym można się oprzeć. W sensie -
jak ktoś implementuje interfejs - to znaczy, że jest kontrakt i takie tam...
No, ale w innych obszarach się wszystko macha między bobrowaniem
na serwerze vs. bobrowaniem na kliencie... W sensie - nie rozumiem
koncepcji robienia mikroserwisów w Javie.
No, ale... ;)