Scala

Aktualizacja: 08.09.2019

Zobacz polecane:

Kursy Książki

Zastosowanie

Scala jest to wieloplatformowy, statycznie typowany język programowania działający na maszynie wirtualnej Javy. Wspiera programowanie funkcyjne jaki i obiektowe.

Dużą zaletą Scali jest kompatybilność z javą - biblioteki mogą być reużywane pomiędzy Scalą a Javą bez problemu.

Zastosowanie skali dominuje w dziedzinach jak data science, big data czy machine learning.

Scala jest wykorzystywana przez duże firmy takie jak:

Top 10 projektów na Github wykorzystujących Scala

Github to system kontroli wersji. Możesz znaleźć tam projekty open source w każdej technologii. Zobacz jakiego typu projekty wykorzystują język Scala oraz jak wygląda Scala od strony kodu. Zwróć uwagę na pliki z rozszerzeniem .sc lub .scala.

1# spark 30,448
2# prisma1 16,846
3# scala 13,405
4# predictionio 12,513
5# playframework 11,935
6# akka 11,676
7# CMAK 10,217
8# lila 9,769
9# gitbucket 8,414
10# finagle 8,008

Poziom skomplikowania

Scala w porównaniu do Kotlina czy Javy ma nieco większy próg wejścia. Również przejście z Javy na Scalę jest relatywnie trudniejsze w porównaniu z Kotlinem.

Wpływa na to fakt, że Scala jest ekspresyjna - potrzeba dużo mniej kodu niż w Javie by wyrazić to samo - jednak co za tym idzie, trzeba więcej rozumieć co się dzieje pod spodem. Jest to zaleta języka, gdy mamy już doświadczenie, jednak na początku nauka jest przez to bardziej problematyczna.

Statystyki

Dane aktualne na dzień: 29.07.2021

Według TIOBE index, język Scala jest na 36 pozycji pod względem popularności.
Z kolei według rankingu Spectrum jest na 12 pozycji, a rok temu był na miejscu 18.

Na Stack Overflow jest 11 najczęściej tagowanym językiem z 105,088 zapytaniami.

Na Github zajmuje 14 pozycję z liczbą 46,898 projektów, z których 148 ma więcej niż 1000 gwiazdek.

Jeśli chodzi o organizowane spotkania to według Meetup.com jest to 7 co do wielkości społeczność z liczbą 561 grup, w skład których wchodzi 466,584 członków na całym świecie. W Polsce mamy odpowiednio 22 grup, w skład których wchodzi 19,973 członków.

Przyszłość języka

Scala w ostatnim roku straciła nieco swoją popularność wśród języków JVM z 28.4% do 21.6%. Jednak nie jest to wina samej Scali czy też znak, że dzieje się coś nie tak. Scala znalazła zastosowania w niszach jak data science, big data czy machine learning i tam będzie utrzymywać swoją dobrą pozycję. Jest to też spowodowane faktem, że Kotlin stał się oficjalnym językiem androida, co znacznie wpłynęło na jego popularność wśród języków JVM. Scala stale się rozwija, a jej ostatnia wersja 3.0.1 została wydana 9 lipca 2021.

Najlepsze kursy video do nauki Scala

na platformie Udemy:

Język kursu - angielski Okładka kursu

Apache Spark with Scala - Hands On with Big Data!

Apache Spark tutorial with 20+ hands-on examples of analyzing large data sets, on your desktop or on Hadoop with Scala!

Czas trwania: 9 total hours 72635 zapisanych uczestników
All Levels Ostatnia aktualizacja: 2021-05-24
4.58 / 5
Liczba ocen: 13787

Język kursu - angielski Okładka kursu

Scala & Functional Programming for Beginners | Rock the JVM

Become a Scala programmer and get the skills you need to work with Spark, Akka, and any Scala framework!

Czas trwania: 15.5 total hours 33293 zapisanych uczestników
Intermediate Level Ostatnia aktualizacja: 2020-05-07
4.59 / 5
Liczba ocen: 7979

Język kursu - angielski Okładka kursu

Akka Essentials with Scala | Rock the JVM

Learn the Akka actor model with Scala and write parallel, concurrent and fault-tolerant systems

Czas trwania: 13 total hours 6726 zapisanych uczestników
Expert Level Ostatnia aktualizacja: 2021-03-21
4.77 / 5
Liczba ocen: 1266

Język kursu - angielski Okładka kursu

Streaming Big Data with Spark Streaming and Scala - Hands On

Spark Streaming tutorial covering Spark Structured Streaming, Kafka integration, and streaming big data in real-time.

Czas trwania: 6.5 total hours 22643 zapisanych uczestników
All Levels Ostatnia aktualizacja: 2021-05-24
4.53 / 5
Liczba ocen: 3063

Język kursu - polski Okładka kursu

Big Data, Hadoop oraz MapReduce w języku Python

Opanuj budowanie MapReduce Jobs używając biblioteki MRJob oraz usługi Amazon Elastic MapReduce!

Czas trwania: 8 total hours 285 zapisanych uczestników
Intermediate Level Ostatnia aktualizacja: 2021-07-26
4.75 / 5
Liczba ocen: 35

Inne kursy video na UdemyZobacz inne kursy video na Udemy

Najlepsze książki do nauki Scala

od wydawnictwa Helion:

Zobacz inne książki w kategorii Scala