Wszystko, co musicie wiedzieć o Ruby. Jakie ma zalety, jakie wady?
W każdej definicji Ruby znajdziemy informację o tym, że to interpretowany w pełni obiektowy (nawet cyfry i klasy są obiektami), ale także dynamicznie typowany język programowania. Powstał w 1995 roku za sprawą Yukihiro Matsumoto. Jak podaje Wikipedia, Ruby bazuje na wielu językach, takich jak CLU, Eiffel, Lisp, Perl, Python czy Smalltalk. Postanowiliśmy przybliżyć zalety i wady tego języka, ale też perspektywę programistów, którzy po latach pracy z nim, podzielili się spostrzeżeniami.
Spis treści
Czym jest Ruby?
– W przypadku Ruby na każdym kroku podkreśla się, że jest on „zoptymalizowany pod kątem radości z programowania” i akceptuje się fakt, że pewne zastosowane w nim rozwiązania nie będą stawać w szranki z językami z czołówki rankingów wydajności – powiedział nam Michał Buszkiewicz, Współzałożyciel i CTO w Curiosum.
Dodał także, że Ruby ułatwia osiągnięcie wysokiej produktywności programowania dzięki swojej niepodrabialnej interpretacji programowania obiektowego. Ale czy Ruby jest nadal warty uwagi językiem programowania? Sprawdziliśmy, co na ten temat sądzi społeczność Stack Overflow.
Zespół Stack Overflow przygotował raport, w którym porównał: Node.js, Ruby on Rails i Ruby, a właściwie liczbę pytań zadawanych przez społeczność Stack Overflow. Autorzy badania wyszli z założenia, że im więcej pytań dot. danej technologii pojawia się na portalu, tym częściej programiści korzystają z danego języka programowania. Nie jesteśmy przekonani, czy to założenie jest słuszne, ale warto przytoczyć to badanie.
Jak widać, od 2015 roku spada liczba zapytań dot. Ruby’ego, co też potwierdza opinię wielu, że język ten z roku na rok traci na popularności. Mimo wszystko uważamy, że warto zainteresować się nim, a w zachęceniu Was do tego pomoże przedstawienie zalet i wad.
Zalety języka Ruby
- bezpłatny – Ruby to opensource’owy projekt, rozwijany przez społeczność. Pierwszą jego zaletą jest to, że możemy korzystać z niego bez licencji.
- intuicyjna składnia – programiści z Syndicode podzielili się statystyką, że w ich przypadku napisanie projektu w Ruby zajmuje 30-40% mniej czasu, niż gdyby napisali go w innej technologii. “A to tylko dlatego, że potrzebujesz 3-4 razy więcej linijek kodu pisząc w Javie czy w Pythonie” – czytamy na blogu.
- konfiguracyjność – możemy dostosować kod do własnych potrzeb, dzięki możliwości dodawania własnych metod w klasach czy klas.
Wady języka Ruby
- brak wymuszania programowania funkcyjnego – Ruby nie wymusza na programistach stosowania zasad mających ułatwić tworzenie czytelnego, ale i też wydajnego kodu.
- problemy przy rosnącej aplikacji – twórcy Rubiego polecają podejście “Rails Way”, które zdaniem programistów nie sprawdza się, gdy aplikacja staje się bardzo popularna.
- programowanie współbieżne – jak pisał Michał Buszkiewicz, CTO Curiosum, “z racji obecnego mechanizmu Global Interpreter Lock, wielowątkowość staje się niemal bezużyteczna”.
Nauka języka Ruby
Nieocenionym źródłem wiedzy, jeśli chodzi o naukę Ruby’ego, jest newsletter Rafała Piekary, a dokładniej grubykodzi.pl, z którego czerpiemy garściami. Rafał co tydzień przesyła na nasz adres kilkadziesiąt źródeł do nauki Ruby’ego. Ostatnio polecił m.in.:
- 101 projektów dla początkujących – jak napisać w Ruby „Hello World”? Jak zdefiniować pierwszą metodę? Jak stworzyć pierwszy model? Tego wszystkiego dowiecie się z tego materiału.
- tutorial jak utworzyć pierwszy skrypt – jeśli wolisz prześledzić, jak krok po kroku wygląda napisanie pierwszego skryptu w Ruby, poświęć 9 minut na ten materiał.
- ebook pt. Poznaj poznaj podstawy Ruby’ego w 15 minut – siłą tego ebooka jest nie tylko przekazanie wiedzy w przystępny sposób, ale i sporo zadań dla początkujących.
- listę książek i tutoriali – mówią, że wszystko da się znaleźć w internecie i pewnie to prawda. Tu znajdziesz listę publikacji, ale i książek traktujących właśnie o nauce Ruby’ego.
- tutorial o tworzeniu gier w Ruby – zawsze chciałeś stworzyć własną grę? Z tym tutorialem będzie to możliwe.
Przeszukaliśmy wiele źródeł i zaciekawiło nas to, że często znajdowaliśmy odniesienie do jednego. Zespół programistów Shopify – platformy do tworzenia własnych sklepów internetowych – przygotował listę zasad pt. How to Write Fast Code in Ruby on Rails, dzięki którym będziemy szybciej pisać kod w Ruby. Znajdziemy w niej opisy oraz przykłady poprawnego pisania kodu – warto zapoznać się z nimi.
Perspektywa rynku pracy Ruby Developera
Kolejnym elementem pokazującym, że Ruby to nadal warty uwagi język programowania, jest liczba ofert pracy, ale też wysokość proponowanego wynagrodzenia. Na justjoin.it znajdziecie ponad sto ofert pracy dla Ruby Developera – wśród nich oczywiście oferty z podziałem na doświadczenie, czyli dla juniorów, midów i seniorów.
Jakich umiejętności wymagają pracodawcy dla Juniora?
- min. 1 rok doświadczenia w programowaniu w Ruby,
- znajomości Ruby on Rails,
- znajomości Heroku,
- znajomości baz danych PostgreSQL lub MySQL,
- znajomości gita,
- znajomości repozytorium i do czego służy.
Jakich umiejętności wymagają pracodawcy dla Mida?
- doświadczenie z Ruby on Rails,
- znajomość baz danych SQL, Postgres,
- znajomość i umiejętności zastosowania zasad SOLID,
- znajomość Dockera,
- znajomości narzędzi testowania aplikacji RoR,
- tworzenie testów automatycznych.
Jakich umiejętności wymagają pracodawcy dla Seniora?
- ponad czteroletnie doświadczenie komercyjne,
- doskonała znajomość Ruby on Rails,
- doskonała znajomość bazy danych PostgreSQL,
- umiejętność implementacji logiki biznesowej w kodzie,
- doświadczenie w utrzymaniu i budowaniu dużych aplikacji internetowych.
Zatrzymajmy się także na wspomnianej wcześniej wysokości wynagrodzenia. Just Join IT przeanalizował 30 tys. ofert pracy opublikowanych w pierwszej połowie 2021 roku, z których wyłania się także obraz Ruby Developerów. Junior, Mid czy Senior na UoP może liczyć na wynagrodzenie w wysokości kolejno: 7 144,00 zł, 10 943,00 zł albo 16 133,00 zł.
Na jaką zapłatę mogą liczyć Ruby Developerzy współpracujący na zasadach B2B? Junior, Mid czy Senior otrzyma średnio ofertę w wysokości: 6 073 zł, 14 563 zł albo 20 414 zł.
Podsumowanie
Choć wielu twierdzi, że Ruby lata świetności ma już za sobą, sporo firm potrzebuje wsparcia w utrzymaniu istniejących aplikacji. Nie oznacza to jednak, że programiści całkowicie zapomnieli o Ruby’m, to nadal chętnie używany język programowania.
Zdjęcie główne artykułu pochodzi z unsplash.com. Spora część źródeł pochodzi z newslettera Rafała Gębary – polecamy zasubskrybować newsletter grubykodzi.pl.