Odkryj magię języka Ruby. Wywiad z Aliną Leskovą

geek.justjoin.it 8 miesięcy temu

Ruby wyróżnia się wśród języków programowania – nie tylko ze względu na swoją elegancję i moc, ale także mity i nieporozumienia krążące wokół niego. Alina Leskova, programistka Ruby w SOFTSWISS przekonuje, jak przyjęcie zmian i nowych pomysłów związanych z Ruby może prowadzić do wielkich rzeczy. Przy okazji rozwiewa mity dotyczące tego języka.

Co skłoniło Cię do wybrania Ruby?

Moja przygoda z Ruby zrodziła się z chęci szerszego zrozumienia zasad programowania. Po spędzeniu czasu z C/C++ i Javą szukałam języka, który nie bazowałby tak bardzo na schematach, a skupił się na prostocie i wyrazistości. Składnia Ruby, która unika nadmiernych symboli, takich jak nawiasy i średniki, była dla mnie jak powiew świeżego powietrza. Przyciągnęła mnie elegancja i zwartość języka Ruby, w odróżnieniu od sztywnych struktur języków takich jak C++.

Na moją decyzję miała także wpływ także chęć wyróżnienia się. Przewidywałam, iż na rynku pojawi się mnóstwo programistów Pythona i wybrałam Ruby, aby wyznaczyć swoją unikalną ścieżkę. Wybór ten został zweryfikowany w czasie. Ruby pozwala programistom skupić się na myśleniu architektonicznym i koncepcyjnym wysokiego poziomu, zamiast zagłębiać się w szczegóły zarządzania pamięcią i dziwactwa składniowe typowe dla języków niskiego poziomu.

Czym różni się Ruby od Ruby on Rails?

Dużo osób myli oba języki. Ruby jest językiem programowania, natomiast Ruby on Rails to framework zbudowany na Ruby. Railsy dostarczają zestawu konwencji i narzędzi, które usprawniają tworzenie aplikacji internetowych, skracając czas ich tworzenia. To sprawia, iż ​​Ruby on Rails jest szczególnie atrakcyjny dla startupów i projektów, dla których priorytetem jest szybkość i zwinność. Identyfikowanie się jako programista Ruby i programista Ruby on Rails podkreśla różne cele w tym samym ekosystemie.

Ruby i Ruby on Rails są często kojarzone ze startupami, ale odgrywają kluczową rolę w SOFTSWISS. Dlaczego SOFTSWISS w dalszym ciągu polega na Ruby w swoich projektach?

Wybór Ruby w SOFTSWISS, podobnie jak w przypadku wielu moich projektów, wynika z niezrównanej zdolności tego języka do zarządzania złożonością z prawdziwą elegancją. Nasze projekty często charakteryzują się rozbudowanymi i skomplikowanymi backendami, w których czytelność i łatwość konserwacji są najważniejsze.

Ruby wyróżnia się prezentowaniem złożonej logiki w sposób przystępny nie tylko dla doświadczonych programistów, ale także dla początkujących. Ta łatwość zrozumienia i rozwoju jest znaczącą zaletą, szczególnie w porównaniu z językami takimi jak Go, w których zarządzanie podobną złożonością może stać się kłopotliwe. Czytelność Ruby gwarantuje, iż choćby najbardziej warstwowe systemy backendowe pozostaną dostępne, co ułatwia ciągły rozwój i wsparcie.

Czy ktoś spoza świata programowania może zrozumieć kod Ruby? Czy jest on łatwy do zrozumienia?

Ruby wyróżnia się czytelnością, dzięki czemu jest bardziej przystępny niż wiele innych języków programowania. Chociaż niektóre specyficzne konwencje i struktury mogą wymagać nauki, składnia języka Ruby została zaprojektowana tak, aby była intuicyjna. Często używa się go do nauczania koncepcji programowania, ponieważ jego kod może niemal służyć jako pseudokod, wypełniając lukę między złożonością techniczną a zrozumieniem pojęciowym.

Jak wykształcenie wpływa na zdolność uczenia się języka Ruby? Czy edukacja akademicka jest koniecznością?

Rozpoczęcie przygody z Ruby i ogólnie w świecie IT często opiera się na ustrukturyzowanym zrozumieniu terminów i odpowiedzialności – umiejętności doskonalonych poprzez formalną edukację. Uniwersytety i programy kwalifikujące przodują w kultywowaniu zdyscyplinowanej etyki pracy, która ma najważniejsze znaczenie dla poruszania się w pracy rozwojowej opartej na projektach. Jednak istota opanowania Ruby wykracza poza kwalifikacje akademickie. Chodzi o ciągłe uczenie się i dopasowywanie się do trendów branżowych, co oznacza zaangażowanie w samodoskonalenie, które jest niezbędne w dynamicznym świecie technologii.

Czy poleciłabyś zacząć od innego języka osobom pragnącym nauczyć się języka Ruby? Czy z Ruby można wejść bezpośrednio do świata IT?

Chociaż moim zdaniem Ruby jest łatwy do opanowania dla wszystkich użytkownika i ma duże możliwości, zaczynając od języka nauczanego na kursach uniwersyteckich, takiego jak C, można zapewnić solidne podstawy w koncepcjach programowania. Ta podstawowa wiedza ułatwia zrozumienie zalet języka Ruby i powodów, dla których do konkretnych projektów wybiera się właśnie jego zamiast innych języków. Zależy to jednak od ścieżki uczenia się i celów danej osoby. Aby uzyskać kompleksowe zrozumienie programowania, korzystne jest rozpoczęcie od języka takiego jak C.

Mimo iż Ruby powstał w latach 90. i musiał stawić czoła konkurencji ze strony nowszych języków, co Twoim zdaniem sprawia, iż ​​jest on tak istotny i potężny?

Wiek Ruby nie umniejsza jego znaczenia – to w zasadzie świadectwo trwałej wartości tego języka. Chociaż nowsze języki, takie jak Go i Rust, mają zalety, kompleksowy zestaw narzędzi Ruby obsługuje programowanie na najwyższym poziomie.

Elastyczność Ruby uwalnia programistów od ograniczeń często spotykanych w innych językach, umożliwiając skupienie się na innowacjach i kreatywności. Ruby ma zdolność do abstrakcji od złożoności programowania. Zapewnia jednocześnie bogaty zestaw narzędzi do programowania, który gwarantuje, iż ten język pozostaje istotną częścią krajobrazu technologicznego.

Ruby jest postrzegany jako produkt japońskiej kultury programowania. Czy uważasz, iż pochodzenie języka programowania wpływa na jego cechy?

Tak, zdecydowanie. Wizja twórcy odgrywa kluczową rolę w kształtowaniu języka programowania. Na przykład Ruby został zaprojektowany z myślą o ludzkich doświadczeniach. Jego twórca chciał, aby programowanie bardziej skupiało się na ułatwianiu interakcji człowiek-maszyna, a nie tylko na rozumieniu maszynowym. To podejście skoncentrowane na człowieku jest wplecione w DNA Ruby, dzięki czemu nadaje się do tworzenia złożonej logiki i tworzenia systemu łatwego w odbiorze dla użytkownika. Filozofia Ruby podkreśla znaczenie przyjemności i wydajności programisty, odzwierciedlając niuanse kulturowe jej powstania.

Społeczność Ruby wydaje się dość żywa i otwarta. Czy tę otwartość odzwierciedla sam język?

Tak. Społeczność Ruby ucieleśnia podstawową filozofię języka, czyli prostotę i produktywność. Dalecy od stereotypu samotnego programisty, entuzjaści Ruby potrafią niesamowicie współpracować, aktywnie dzieląc się wiedzą poprzez konferencje i fora. Ta kultura wymiany i wzajemnego wsparcia dotyczy nie tylko kodu – chodzi o budowanie przyjaznej przestrzeni, w której programiści będą mogli wspólnie się rozwijać i wprowadzać innowacje.

Do czego służy język Ruby?

Wszechstronność Ruby przejawia się w umiejętności tworzenia złożonych systemów zaplecza i unikalnych projektów architektonicznych. Przykładem jest rozwój systemu SOFTSWISS CMS, który wyróżnia się zdolnością Ruby do upraszczania złożonej logiki biznesowej. Ta zdolność adaptacji świadczy o sile Ruby w tworzeniu innowacyjnych rozwiązań, które są tak samo skomplikowane, obsługując różnorodną gamę zastosowań wymagających zróżnicowanego podejścia do rozwiązywania problemów.

Jak Ruby radzi sobie na obecnym rynku, biorąc pod uwagę szeroką gamę języków programowania?

Gdy zetknęłam się z Ruby po raz pierwszy, zdałam sobie sprawę z niszowego statusu języka i potencjalnego wyzwania w zakresie mobilności zawodowej ze względu na niedobór specjalistów Ruby. Ta rzadkość ma zalety, oferując widoczność i możliwości w społeczności technologicznej. Pomimo plotek Ruby przez cały czas jest aktualny. To doświadczony weteran języków programowania – odporny i niezawodny. Początkowy szum ucichł, jednak Ruby utrzymuje stały popyt na swoje solidne możliwości w zakresie tworzenia projektów i aplikacji na dużą skalę.

Patrząc na indeks TIOBE widzimy, iż Ruby utrzymuje się na stałym miejscu od 2018 roku. Świadczy to o tym, iż Ruby pozostaje popularny wśród programistów, mimo iż pojawiają się nowe technologie.

Według indeksu TIOBE Programming Community będącego punktem odniesienia dla popularności języków programowania w 2024 r. Ruby niezmiennie utrzymuje się w pierwszej dwudziestce.

Patrząc w przyszłość, gdzie widzisz miejsce Ruby w świecie programowania w 2024 roku?

Przyszłość Ruby jest dla mnie jasna. Pomimo sporadycznego sceptycyzmu w porównaniu z językami takimi jak JavaScript, Ruby wypełnia niszę, która zapewnia długowieczność języka. Wydajność i tętniąca życiem społeczność sprawiają, iż jest to podstawa dla start-upów i uznanych firm. Ruby wciąż ewoluuje, a jego zdolność do dostosowywania się i zaspokajania potrzeb programistów gwarantuje, iż pozostanie aktualna. Najważniejsze jest podążanie za swoją pasją. Tych, których pociąga Ruby, czeka bogata i satysfakcjonująca ścieżka kariery.

Każdy język programowania ma swoje wady. Jakie, Twoim zdaniem, są wady Ruby?

Rzeczywiście, żaden język nie jest pozbawiony niedoskonałości, a Ruby nie jest wyjątkiem. Głównym wyzwaniem jest szybkość działania, szczególnie w porównaniu z nowszymi technologiami, takimi jak Go i Rust, które są znacznie szybsze i lepiej nadają się do zastosowań wymagających dużego obciążenia.

Podobnie Elixir, choć ma wspólny rodowód z Ruby, oferuje większą odporność na błędy. Porównania te podkreślają obszary, w których Ruby może czerpać siłę. Pomimo tych przeszkód społeczność Ruby pozostaje pełna pasji i nieustannie udoskonala architekturę języka, aby zwiększyć jego odporność i wydajność.

Jak włączyć sztuczną inteligencję do pracy w dzisiejszym gwałtownie rozwijającym się krajobrazie technologicznym?

Sztuczna inteligencja ma swoją niszę w naszym zestawie narzędzi programistycznych, szczególnie do generowania tekstowych baz danych. Podtrzymuję jednak ostrożne stanowisko w kwestii wykorzystania sztucznej inteligencji do kodowania. Sztuczna inteligencja to zaawansowane narzędzie przypominające bardziej wyrafinowaną wyszukiwarkę Google, oferujące spostrzeżenia i rozwiązania, a nie bezpośrednie generowanie kodu. Pomysł, iż sztuczna inteligencja może zastąpić ludzkich programistów, jest błędnym przekonaniem. Chociaż AI może pomóc w rozwiązywaniu problemów i badaniach, kreatywność i zdolności analityczne programisty są niezastąpione, dzięki czemu nasze role ewoluują, a nie maleją.

Czy masz jakieś rady dla młodych programistów lub tych, którzy chcą wejść do IT?

Rozpoczęcie kariery rozwojowej to podróż charakteryzująca się wytrwałością, ciekawością i chęcią bezpośredniego stawiania czoła wyzwaniom. Ważne jest, aby objąć całe zadanie i zrozumieć je od początku do końca. W przypadku rozwiązań potrzebne jest coś więcej niż poleganie wyłącznie na narzędziach takich jak sztuczna inteligencja; prawdziwy programista potrafi wyrazić logikę stojącą za swoim kodem i decyzje, które go ukształtowały.

Filozofia Ruby, kierująca się „zasadą najmniejszego zaskoczenia”, podkreśla znaczenie przewidywalności i przejrzystości programowania. Zasada ta, zapewniająca, iż ​​kod zachowuje się w najbardziej oczekiwany sposób, jest metaforą ścieżki programisty: w swojej pracy należy dążyć do zrozumienia i przewidywania, poruszając się po zawiłościach kodowania dzięki połączeniu wiedzy i intuicji.

Oto lista zasobów dla osób, które są zmotywowane do opanowania głębi Ruby i Ruby on Rails:

  • Niezbędne przewodniki i samouczki: ruby-lang.org.
  • Interaktywna platforma do nauki Ruby: try.ruby-lang.org.
  • „Ruby pod mikroskopem” – książka Pata Shaughnessy’ego zawierająca szczegółowe spostrzeżenia na temat Ruby.
  • Kompleksowe przewodniki po Railsach: rubyonrails.org.
  • Praktyczne screencasty z Ruby on Rails: Railscasts.com.

Alina Leskova. Ruby on Rails developerka, pracuje w SOFTSWISS prawie od 2 lat, mieszka we Wrocławiu. Jest aktywną uczestniczką i prelegentką na konferencjach i meetupach Ruby.

Idź do oryginalnego materiału