Blog (121)
Komentarze (364)
Recenzje (0)

Scala to nie tylko lepsza wersja Javy?

@CarlitoNeoScala to nie tylko lepsza wersja Javy?08.12.2022 10:42

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.

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.

Szanowna Użytkowniczko! Szanowny Użytkowniku!
×
Aby dalej móc dostarczać coraz lepsze materiały redakcyjne i udostępniać coraz lepsze usługi, potrzebujemy zgody na dopasowanie treści marketingowych do Twojego zachowania. Twoje dane są u nas bezpieczne, a zgodę możesz wycofać w każdej chwili na podstronie polityka prywatności.

Kliknij "PRZECHODZĘ DO SERWISU" lub na symbol "X" w górnym rogu tej planszy, jeżeli zgadzasz się na przetwarzanie przez Wirtualną Polskę i naszych Zaufanych Partnerów Twoich danych osobowych, zbieranych w ramach korzystania przez Ciebie z usług, portali i serwisów internetowych Wirtualnej Polski (w tym danych zapisywanych w plikach cookies) w celach marketingowych realizowanych na zlecenie naszych Zaufanych Partnerów. Jeśli nie zgadzasz się na przetwarzanie Twoich danych osobowych skorzystaj z ustawień w polityce prywatności. Zgoda jest dobrowolna i możesz ją w dowolnym momencie wycofać zmieniając ustawienia w polityce prywatności (w której znajdziesz odpowiedzi na wszystkie pytania związane z przetwarzaniem Twoich danych osobowych).

Od 25 maja 2018 roku obowiązuje Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (określane jako "RODO"). W związku z tym chcielibyśmy poinformować o przetwarzaniu Twoich danych oraz zasadach, na jakich odbywa się to po dniu 25 maja 2018 roku.

Kto będzie administratorem Twoich danych?

Administratorami Twoich danych będzie Wirtualna Polska Media Spółka Akcyjna z siedzibą w Warszawie, oraz pozostałe spółki z grupy Wirtualna Polska, jak również nasi Zaufani Partnerzy, z którymi stale współpracujemy. Szczegółowe informacje dotyczące administratorów znajdują się w polityce prywatności.

O jakich danych mówimy?

Chodzi o dane osobowe, które są zbierane w ramach korzystania przez Ciebie z naszych usług, portali i serwisów internetowych udostępnianych przez Wirtualną Polskę, w tym zapisywanych w plikach cookies, które są instalowane na naszych stronach przez Wirtualną Polskę oraz naszych Zaufanych Partnerów.

Dlaczego chcemy przetwarzać Twoje dane?

Przetwarzamy je dostarczać coraz lepsze materiały redakcyjne, dopasować ich tematykę do Twoich zainteresowań, tworzyć portale i serwisy internetowe, z których będziesz korzystać z przyjemnością, zapewniać większe bezpieczeństwo usług, udoskonalać nasze usługi i maksymalnie dopasować je do Twoich zainteresowań, pokazywać reklamy dopasowane do Twoich potrzeb. Szczegółowe informacje dotyczące celów przetwarzania Twoich danych znajdują się w polityce prywatności.

Komu możemy przekazać dane?

Twoje dane możemy przekazywać podmiotom przetwarzającym je na nasze zlecenie oraz podmiotom uprawnionym do uzyskania danych na podstawie obowiązującego prawa – oczywiście tylko, gdy wystąpią z żądaniem w oparciu o stosowną podstawę prawną.

Jakie masz prawa w stosunku do Twoich danych?

Masz prawo żądania dostępu, sprostowania, usunięcia lub ograniczenia przetwarzania danych. Możesz wycofać zgodę na przetwarzanie, zgłosić sprzeciw oraz skorzystać z innych praw wymienionych szczegółowo w polityce prywatności.

Jakie są podstawy prawne przetwarzania Twoich danych?

Podstawą prawną przetwarzania Twoich danych w celu świadczenia usług jest niezbędność do wykonania umów o ich świadczenie (tymi umowami są zazwyczaj regulaminy). Podstawą prawną przetwarzania danych w celu pomiarów statystycznych i marketingu własnego administratorów jest tzw. uzasadniony interes administratora. Przetwarzanie Twoich danych w celach marketingowych realizowanych przez Wirtualną Polskę na zlecenie Zaufanych Partnerów i bezpośrednio przez Zaufanych Partnerów będzie odbywać się na podstawie Twojej dobrowolnej zgody.