Marcin Krykowski
IDEMIA
Marcin KrykowskiScala Developer @ IDEMIA

Dlaczego warto uczyć się Scali w 2021 roku

Poznaj 6 argumentów przemawiających za tym, dlaczego warto nauczyć się języka programowania Scala w 2021 roku.
1.03.20213 min
Dlaczego warto uczyć się Scali w 2021 roku

W internecie można często natknąć się na następujące pytania: czy warto jest uczyć się Scali? Czy Scala ma znaczenie w 2021? Czy istnieje coś lepszego, niż Scala? Java, czy Scala? Niech ktoś porówna obie technologie. I jeszcze więcej. 

Na Reddicie i innych portalach można znaleźć odpowiedzi starające się zaadresować wspomniane problemy. W tym artykule postaram się wytłumaczyć, dlaczego, z mojego punktu widzenia, warto nauczyć się Scali.

1. Łagodne przejście do programowania funkcyjnego

Scala wspiera dwa paradygmaty programowania: programowanie obiektowe oraz funkcyjne. Jeśli znasz Javę, Kotlina, czy jakikolwiek innych język obiektowy, zapewne będziesz początkowo pisać bardziej obiektowy kod, przypominający Javę, a nie idiomatyczną Scalę. Z czasem, będziesz odkrywać coraz więcej możliwości Scali, oraz benefitów, jakie płyną z programowania funkcyjnego.

Scala jest również o wiele łatwiejsza od Haskella, czy Lispu. W Scali nie trzeba od razu wiedzieć wszystkiego, zanim zacznie się pisać kod. Potem korzystanie z takich rzeczy jak monady, case classes, czy pattern matching, będzie czymś oczywistym. 

2. Kompatybilność z Javą

Ekosystem Scali cały czas rośnie. To świetnie, że mamy tyle fajnych bibliotek i frameworków. W Scali mamy również dobre narzędzia, dzięki którym możliwa jest praca w takich obszarach jak Data Science, czy Blockchain. 

Jeśli masz jakąś swoją ulubioną bibliotekę Javy, to możesz jej bardzo łatwo użyć w środowisku Scali - język ten działa na JVM. 

3. Otwarta i rosnąca społeczność

Nie ma znaczenia, czy jesteś samoukiem, chcesz wziąć udział w Bootcampie, czy szukasz rady - społeczność Scali zawsze chętnie Ci pomoże. 

Warto zauważyć, że coraz więcej firm (np. Twitter i New York Times) decyduje się na używanie Scali na produkcji. 

4. Zwięzła składnia

Scala ma całkiem zwięzłą składnię. Oto przykład w Javie:

import java.util.Objects;
public class Product {
    private String name;
    private double price;
    public Product(final String name, final double price) {
        this.name = name;
        this.price = price;
    }
    @Override
    public int hashCode() {
        int hash = 7;
        hash = 23 * hash + Objects.hashCode(this.name) Objects.hashCode(this.price);
        return hash;
    }
    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final Product other = (Product) obj;
        if (!Objects.equals(this.name, other.name)) {
            return false;
        }
        if (Double.doubleToLongBits(this.price) != Double.doubleToLongBits(other.price)) {
            return false;
        }
        return true;
    }
    @Override
    public String toString() {
        return "Product{" + "name=" + name + ", price=" + price + '}';
    }
}


Ta sama rzecz w Scali:

case class Product(name: String, price: double)


Tak, wystarczy napisać tylko tyle.

5. Rynek

Programowanie to nasze powołanie i pasja, którą kochamy tak bardzo, że nie musimy za naszą pracę otrzymywać wynagrodzenia, prawda? To, czego uczymy się podczas poznawania Scali (nauka kolejnego języka, nowych frameworków i bibliotek, programowania funkcyjnego), sprawia, że jesteśmy bardziej atrakcyjni na rynku pracy. 

Właściwie to będziesz bardziej atrakcyjny/atrakcyjna od ludzi, którzy znają tylko 1, czy 2 języki, ale obiektowe. W 2019 programiści Scali byli najlepiej opłacanymi specjalistami od kodowania w USA. Co więcej, zapotrzebowanie na nich cały czas rośnie. 

Źródło: HackerRank 2020 Developer Skills Report

6. Produktywność

Jestem pewny, że programując w Scali, Twoja produktywność wzrośnie. Po pierwsze, jesteś w stanie zacząć od razu, posiadając jedynie podstawową wiedzę. 

Po drugie, pisząc mniej, dostarczasz znacznie więcej kodu! Możliwość startu z takimi narzędziami, jak IntelliJ (wystarczy dodać bezpłatną wtyczkę Scala) sprawi, że Twoja praca będzie przyjemniejsza.

Podsumowanie

Takich artykułów, jak mój jest o wiele więcej. Dlaczego? Ponieważ ludzie kochają kodować w Scali i chcą zarażać swoją pasją innych! Spróbuj sam/a.

<p>Loading...</p>