Blog (119)
Komentarze (364)
Recenzje (0)
@CarlitoNeoScala to nie tylko lepsza wersja Javy?

Scala to nie tylko lepsza wersja Javy?

08.12.2022 10:42, aktualizacja: 09.12.2022 11:12

Specjaliści uważają, że Scala posiada ogromny potencjał, a firmy IT zaczynają go dostrzegać. Z tego języka korzystają największe firmy technologiczne na całym świecie. Jak podkreśla Aliaksandr Baranouski, Backend Developer w Evolution, przede wszystkim należy przestać postrzegać ten język, jako przedłużenie Javy i zrozumieć, że Scala może być wykorzystywana do programowania funkcjonalnego.

981533

Od Javy do Scali

Marcin Kustra, Backend Developer w Evolution swoją przygodę z komercyjnym programowaniem rozpoczął od Javy. Język ten pozwalał mu na dość łatwe wyrażenie swoich intencji i kodowanie, wciąż jednak miał poczucie, że wiele rzeczy można było zrobić lepiej. Spodobały mu się opcje programowania funkcyjnego, wprowadzone w Javie 1.8, więc postanowił głębiej zrozumieć koncepcje leżące u ich podstaw. Ponieważ znał już ekosystem JVM, postanowił spróbować "programowania funkcyjnego w Scali". To, co wyróżnia ten język, według specjalisty, to bogaty system typów, doskonałe wsparcie dla narzędzi opartych na Javie oraz nacisk na sprawdzanie w czasie kompilacji, a nie w czasie uruchamiania i dopasowywania wzorców.

Swoją karierę programistyczną rozpocząłem jako inżynier Scali w 2016 roku. W tamtym czasie używaliśmy jej po prostu jako lepszej wersji Javy, głównie polegając na frameworkach Javy do budowania naszych projektów. Korzyści, które przyniosła Scala, były oczywiste: odpowiedni system typów, mniej boilerplate, funkcje wyższego rzędu, dopasowywanie wzorców itp. Następnie zacząłem pracować z Apache Spark nad przetwarzaniem danych i tu Scala również była kluczową technologią. Jednak cały czas wiedziałem, że jest coś jeszcze – programowanie funkcjonalne w Scali. W czasie, gdy dołączyłem do Evolution, podejście to zaczynało się dopiero rozwijać. Myślę, że właśnie to jest właściwym kierunkiem dla Scali, która może być potężnym, elastycznym i funkcjonalnym językiem programowania. Nie tylko lepszą wersją Javy, jak myśli wiele osób. Dlatego teraz chciałbym podzielić się z innymi doświadczeniem, które zdobyłem, pokazując, że Scala bardzo się rozwinęła i oferuje szerokie możliwości dla programistów – tłumaczy Aliaksandr Baranouski, Backend Developer w Evolution.

Scala to elastyczny język, który ewoluuje razem z programistą

Jak dodaje Marcin Kustra, Scala łączy w sobie zarówno OOP jak i FP, dzięki czemu możliwe jest użycie odpowiedniego paradygmatu do danego problemu, a także mieszanie ich w razie potrzeby. Artsiom Samasadau, Backend Developer dodaje, że Scala to język, który rośnie razem z jego użytkownikiem. Inaczej mówiąc, kiedy programista staje się lepszym deweloperem, otwiera nowe sposoby korzystania z niej.

Kiedy zainteresowałem się Scalą, pracowałem już od kilku lat jako programista Javy. Ktoś wspomniał mi, że Scala to kolejny język JVM z bogatą składnią i wbudowanym programowaniem asynchronicznym, co mnie zaciekawiło. Odwiedzałem meetupy, słuchałem wykładów, jednak wciąż Scala była dla mnie tajemniczym tematem. Po roku odkryłem świetny kurs Martina Odersky'ego: "Functional Programming Principles in Scala" i to był przełom. Zrozumiałem podstawy programowania funkcyjnego, nabrałem płynności w składni Scali i chęci do dalszej nauki. Dziś pracuję w Evolution i używam Scali na co dzień. Podoba mi się ten język to, jak jest zaprojektowany i przede wszystkim to, jak bardzo kompozycyjny może być kod. Chętnie podzielę się swoją wiedzą – komentuje Denys Fakhritdinov, Backend Developer w Evolution.

Scala Bootcamp od Evolution

Firma Evolution dostrzega potencjał języka Scali, sama zatrudnia specjalistów, którzy mają doświadczenie w tym obszarze. Jednocześnie firma stawia na edukację i po raz kolejny organizuje Scala Bootcamp, który odbędzie się między styczniem a marcem 2023 roku. Osoby zainteresowane wydarzeniem mogą zapisać się TUTAJ. Rekrutacja trwa do 23 grudnia.

W Scali zacząłem programować w 2014 roku. Wcześniej zajmowałem się Clojure. Scala zrobiła na mnie ogromne wrażenie. Moje obszary zainteresowań to programowanie funkcyjne, systemy typów i DSL. Na Bootcampie Evolution będę mówił o funkcjach – centralnej koncepcji programowania funkcjonalnego. Omówimy czystość funkcji i zrozumiemy, jak czyste funkcje mogą nam pomóc. Wspomnę również o klasach typów – jednym ze sposobów, w jaki możemy osiągnąć polimorfizm w Scali. Zobaczymy, czym różni się on od innych podejść i jakie problemy pozwala nam rozwiązać – komentuje Andrei Ivaniuk, Lead Backend Developer i jeden z wykładowców Scala Bootcamp Evolution.

Mam stopień naukowy w dziedzinie informatyki i doświadczenie produkcyjne w inżynierii oprogramowania, które rozpocząłem w 2016 roku z różnymi językami, w tym Javie. Po raz pierwszy zobaczyłem prawdziwy kod Scala w produkcji w 2019 roku, byłem podekscytowany i zafascynowany tym kodem i faktem, że nie mogłem zrozumieć co najmniej połowy tego, co się tam dzieje. To był pierwszy raz, kiedy spotkałem język z obsługą paradygmatów funkcjonalnych w prawdziwej produkcyjnej bazie kodów. W 2020 roku, gdy byłem jeszcze studentem, zacząłem uczyć się Scali. Dołączyłem wtedy do jednego z pierwszych bootcampów Evolution Scala. Po tym bootcampie dołączyłem do zespołu inżynierów Evolution. Później zdecydowałem się dołączyć do zespołu mentorów, aby podzielić się wiedzą z większą liczbą osób i zaprosić je do nauki zarówno OOP, jak i funkcjonalnych aspektów Scali w podstawowych pojęciach, takich jak klasy, obiekty, cechy i struktury kontrolne, a także jak stosujemy je w kodzie stylizowanym na funkcjonalny. Bliżej końca kursu odkryjemy temat Event Sourcing i wzorców CQRS, podzielę się naszym doświadczeniem w pracy z tymi wzorcami w Scali i jak te wzorce mogą być zaimplementowane za pomocą narzędzi dostępnych dla Scali – mówi Volha Shuleika, Backend Developer w Evolution.

Firma Evolution na wydarzenie zaprasza wszystkich chętnych, którzy znają już podstawy Scali, Javę, ale również tych, którzy nie mają doświadczenia ze Scalą albo programowaniem funkcyjnym, a chcieliby się nauczyć podstaw. Najlepsi uczestnicy otrzymają od firmy oferty pracy. Zajęcia prowadzone będą przez doświadczonych inżynierów Scali z Evolution Engineering.

Rekrutacja: do 23 grudnia 2022 roku

Czas trwania bootcampu: Styczen 2023 – Marzec 2023

Zajęcia: online, dwa razy w tygodniu między 18.00 a 20.00

Język zajęć: angielski

Zarejestrować się na wydarzenie można TUTAJ.


Materiał powstał we współpracy z evolution.com.

Wybrane dla Ciebie
Komentarze (11)