Kotlin — języki programowania w pigułce

4 października 2021

Kotlin czy warto się go nauczyć, korzystać i postawić właśnie na niego?

Przyroda nie lubi próżni, IT nie pozostaje w tyle jeśli chodzi o uzupełnianie miejsc, gdzie powstała luka. Co chwila powstają nowe myśli, języki i technologie, a jeszcze inne wracają pod trochę innymi nazwami. Środowisko JVMa również podąża za tym trendem. Kotlin to język programowania
stosunkowo młody, ale już nie aż tak awangardowy.

Bardzo mocno i intensywnie przenika do świata produkcyjnego. Czy jest tym językiem, który powinien interesować młodego, niedoświadczonego
programisty i czy właśnie od niego zaczynać przygodę w branży IT? Jakie są jego zalety i skąd czerpać wiedzę o nim? Początki z Kotlinem nie są trudne i jeśli jesteś zmotywowany, to dość szybko opanujesz jego tajniki i zaczniesz w nim pracować.

 

Gdzie używać Kotlina?

Wiemy, że Kotlin doskonale sprawdza się na platformie Androida, a swoją popularność zawdzięcza przede wszystkim ograniczeniom, z jakimi musi się barować Java Virtual Machine. Google dokłada w tym swoich starań, ponieważ Kotlin jest oficjalnie wspierany przez firmę i z tych względów aplikacje na Androida powstają właśnie za sprawą języka od JetBrains.

Interfejsy funkcjonują w pełnej zgodności między Kotlinem a Javą, tworzenie rozwiązań na mobilną platformę jest po prostu komfortowe i daje możliwość korzystania ze znanych bibliotek dla jednego i drugiego języka. Wiele osób wchodzących w świat programowania zadaje sobie pytanie, w jakim języku pisać, jeśli zakładasz, że będziesz przede wszystkim tworzył aplikację mobilną, wówczas nic nie powinno powstrzymać Cię przed wyborem właśnie tego języka.

 

Nauka tego języka

Kotlin jest na tyle prostym językiem, że przy merytorycznej dokumentacji jesteś w stanie dość szybko się go nauczyć. Język, o którym piszemy, może zostać opanowany przez każdą osobę, nawet taką, która nigdy wcześniej nie miała do czynienia z programowaniem, natomiast ktoś, kto zna Javę, będzie miał zdecydowanie łatwiej. Znajomość Javy zdecydowanie pozytywnie wpływa na płynność poruszania się w kodzie Kotlina oraz samą świadomość podczas pisania skryptów. Jeśli zdecydujesz się programować w Kotlinie i chcesz to robić dobrze, należy dążyć do poziomu, na którym znasz Javę oraz sposób działania wirtualnej maszyny.

Android może być uruchamiany na JVM, ponieważ Kotlin kompiluje do bytecode’u Javy i właśnie dlatego frameworki mogą być używane podczas tworzenia skryptu w języku Kotlin. Podczas pracy możesz docenić dokumentację danego języka, ważne to bardzo często właśnie na początku drogi z daną technologią. Sam twórca Kotlina, czyli JetBrains jest solidny w tej materii, a obszerną dokumentację można znaleźć na ich stronie internetowej.

Jeśli jesteś nastawiony na programowanie na Androida, wówczas służy Ci także dokumentacją tego systemu, dlatego nie ma obawy, że braknie Ci materiałów do pracy. Oferty pracy są i dają szeroki wachlarz ofert pracy, więc jest w czym przebierać, jednak najwięcej jest ofert do Androida. Jest to fantastyczna ścieżka dla tych osób, które chcą pracować z aplikacjami mobilnymi i w tym też kierunku chcą się kształcić.

Generalnie w backendzie prym wiedzie Java. Kotlin jednak cały czas ewoluuję, rośnie w siłę i wiele wskazuje na to, że z czasem będzie zabierać część rynku a po ruchu ofert na rynku pracy można zorientować się, że będzie coraz częściej używany w innych miejscach. Pierwsze doświadczenia z Kotlinem może nie są najlżejsze, ale całkowicie do przebrnięcia, zaplecze materiałowe jest ogromne, merytoryczne i dokładne. Trzeba mieć to na uwadze, ponieważ warto na początku zapewnić sobie solidne fundamenty, na których będzie budowana Twoja wiedza i doświadczenie. Trzeba pamiętać również o powiązaniu Kotlina z Javą.

 

Jakie są zatem różnice między nimi?

  1. Kotlin ma wsparcie smart cast, który identyfikuje niezmienne typy i wykonuje niejawne rzutowanie poprzez kompilator, a w Javie musimy zidentyfikować i wykonać casting.
  2. Kotlin ma wsparcie wnioskowania typu, a co za tym idzie, nie musimy jawnie określać typu danych zmiennych, a w Javie musi być jasno określone.
  3. Czas kompilacji Javy jest ok.20% szybszy niż czas kompilacji Kotlina, ale w dalszej kompilacji przyrostowej Kotlin zajmie ten sam czas kompilacji co Java.
  4. W Kotlinie nie mamy sprawdzonych wyjątków, a jest to uciążliwe, ponieważ prowadzi do podatnego na błędy kodu, podczas gdy Java ma wsparcie sprawdzonych wyjątków, dzięki którym możliwe jest wykonać obsługę błędów.
  5. W Kotlinie nie możemy przypisywać wartości null do zmiennych ani zwracać wartości, jeśli natomiast naprawdę chcemy przypisać to deklarujemy zmienną ze specjalną składnią podczas gdy w Javie możemy przypisać null, ale gdy próbujemy uzyskać dostęp do obiektów wskazujących na wartość null, podnosi wyjątek.
  6. Kotlin jest wymienny z Javą niezależnie od różnicy między nimi. Możemy wywołać kod Kotlina w Javie i odwrotnie. Możemy zatem mieć zarówno klasy Java vs Kotlin obok siebie w projekcie jak i kompiluje się bez żadnych problemów.

Wydaje się w tym momencie, że możemy kontynuować tworzenie aplikacji Kotlin dla Androida, nie martwiąc się o czas kompilacji, mimo iż Java ma niewiele zalet w stosunku do Kotlina.

Pozostałe wpisy

Zawody przyszłości w branży IT (część 3)

Zawody przyszłości w branży IT (część 3)

Zgodnie z obietnicą przedstawimy Wam dziś kolejne zawody, które wchodzą z rozmachem na rynek pracy w branży IT i zaczniemy od: Trener / Mentor IT — zapotrzebowanie na specjalistów w IT to gorący temat i sprawia, że akurat w sferze szkoleń tworzy się nisza, a to z...

czytaj dalej
Zawody przyszłości w branży IT (część 2.)

Zawody przyszłości w branży IT (część 2.)

Zaciekawiła Was pierwsza część artykułu o zawodach, które obecnie wchodzą na rynek pracy? Dziś przybliżymy Wam kolejne. Analityk Danych (ang. Data Scientist) — firmy i przedsiębiorstwa gromadzą coraz więcej danych każdego dnia. Dlatego też eksperci data science są...

czytaj dalej
Kilka zawodów przyszłości w branży IT (część 1.)

Kilka zawodów przyszłości w branży IT (część 1.)

Branża technologiczna kwitnie i tworzy ogromną liczbę zawodów przyszłości. Właśnie teraz jest najlepszy czas, aby przekonać się, które stanowiska są topie, a zarazem są najlepiej płatnymi stanowiskami w branży technologicznej. Zaletą tych profesji jest to, że w wielu...

czytaj dalej