Ogólnie - język Ruby
Wstęp
Wprowadzenie
Cześć,
W tym artykule omówię język programowania Ruby dość ogólny sposób, powiem przykłady jego
zastosowania oraz omówię jego zastosowanie w RPG Makerach, ale zanim jeszcze zacznę to
najpierw powiem coś o sobie, abyście znali moje kompetencje do przedstawiania takich zagadnień.
O mnie
Od 2012 roku zacząłem na poważniej swoją przygodę z programowaniem. W zasadzie wtedy nic
nie umiałem, ale wiadomo, że każdy od czegoś zaczynał. Wtedy moim faworytem był C++, potem
PHP a wraz z nim nauczyłem się HTML, CSS oraz JavaScript. Od 2018 roku zacząłem pracować
zawodowo i poznałem dużo lepiej tematykę programowania obiektowego. Ogólnie to mam za sobą
projekty w PHP, JavaScript, Java, Kotlin, Dart/Flutter, Ruby, C#, Python itd. itd.. Pisałem w tym w
czym musiałem. Potrafię pisać własne skrypty w RPG Makerach jak również edytować te, co już
istnieją np. w grze K-8-0 używam
tego skryptu
ale w przeze mnie zmodyfikowanej wersji.
Wracając już do głównego wątku zacznę omawianie języka programowanie Ruby.
O języku Ruby
Czym jest?
Jest bardzo prostym, dynamicznym jak i obiektowym językiem programowania.
1 Został stworzony w 1995 roku przez Yukihiro "Matz" Matsumoto, który połączy w Ruby ulubione elementy z innych
języków takich jak
Perl, Smalltalk, Eiffel, Ada i Lisp. 2 W tym języku wszystko jest obiektem, nawet
liczba czy tekst. Gdy użyjesz dowolnej cyfry np. 5 to po kropce możesz użyć metod numerycznych, dla przykładu
5.times co należy rozumieć jako
5 razy wykonaj. Poniżej przykład takiego kodu:
5.times { print "Ten tekst wyświetli się 5 razy\n" }
Dzięki takiemu podejściu do języka można w Ruby bardzo prosto i szybko napisać dość
skomplikowane rzeczy.
Mogę wspomnieć też o dodawaniu metod (niczym funkcje prototypowe w JavaScript) do innych
klas, jak i możliwości przeciążaniu operatorów.
W tym wszystkim Ruby jest bardzo szybki, a nawet bardziej, bo jego obecna wersja 3.0.0 z 2021
roku jest 3 krotnie szybsza od wersji 2.0
3.
Przykłady zastosowania Ruby
Język Ruby ma bardzo wiele zastosowań, od prostych programów konsolowych, gier, systemów
kontroli wersji, przetwarzania danych, do symulacji w ważnych instytucjach państwowych,
robotyki czy nawet biznesu. Tak jak widać, ten język można wykorzystać do wszystkiego.
Służy on też jako swoisty backend dzięki frameworkowi RubyOnRails. Dalej przestawię listę firm,
organizacji, serwisów, itd., które korzystają z języka Ruby. Lista oparta jest na dwóch źródłach
4
Centrum Badań Nasa - symulacje naukowe
- Motorola - budowanie symulatora do generowania scenariuszy i do przetwarzania danych
- Toronto Rehab - zarządzanie i śledzenie działu technicznego
- Projek MORPHA - system kontroli reakcji robota usługowego
- Lucent - telefonia 3G
- 37signals - aplikacja webowa Basecamp
- A List Apart - magazyn projektantów stron internetowych
- Hogo.pl - wyszukiwarka mieszkaniowa
- Airbnb - serwis wynajmowania mieszkań/domów na okres wakacji
- Crunchbase - źródło wiedzy dla start-upów
- Ask.fm - witryna z pytaniami i odpowiedziami
- GitHub - najpopularniejsza platforma pod system kontroli wersji Git
- Soundcloud - streaming muzyczny, platforma dla artystów muzycznych z całego świata
- Kickstarter - usługa crowdsourcingowa
- Twitch.tv - serwis streamingowy
Oraz wiele i to wiele platform i witryn jak i usług korzysta z Ruby. Zgaduję, że niektóre pozycje
mogły zadziwić, ale są one jak najbardziej normalne.
Przejdźmy teraz do przykładów
Ruby w RPG Makerach
Jak już wiadomo w wielu RPG Makerach można napotkać się na język Ruby jak i jego ograniczony
edytor. Deweloperami wersji RPG Maker są ASCII, Enterbrain, Agetec, Degica, aczkolwiek nad
obecnego rozwoju tego silnika pilnuje Enterbrain
5.
W wersjach XP, VX oraz VX Ace mamy do dyspozycji edytor skryptów Ruby jak i kolejno
implementacje bibliotek RGSS, RGSS2 oraz RGSS3, których autorem jest Enterbrain. Nie raz
słyszałem, że RGSS ogranicza działanie Ruby, ale jest to bzdura. Dalej można używać Ruby tak jak istnieje, a jedynym ograniczeniem jest tylko zaimplementowana wersja. Niestety w wcześniej
wymienionych wersjach RM język Ruby nie wychodzi poza pierwszą wersją.
Ruby dzięki swoim dotychczasowym zaletom został zaimplementowany do RMów i poprzez
zastosowanie RGSS w silnikach mamy do czynienia z domyślnymi skryptami, które w same w
sobie jeszcze bardziej rozszerzają RGSS (jak np. Window_Base dziedziczy po klasie Window, która
jest już składową RGSS)
6. Dzięki temu, że twórca wrzucił domyślną implementację skryptów
możemy te domyślne skrypty edytować na własne potrzeby i polecam nie bać się takiego
eksperymentowania, bo to bardzo dużo uczy. Zawsze można użyć Git do kontrolowania wersji i
zawsze wrócić do tej co działała, albo utworzyć nowy projekt i przekopiować domyślne skrypty.
Skrypty w RPG Makerach można napisać na wiele sposobów, a głównie to zależy od wyobraźni i
celu jaki piszący chce osiągnąć. Nie ma ograniczeń! A jeśli ktoś mówi że są, to się myli! Zawsze
jest na wszystko sposób i zawsze można osiągnąć cel - albo w prosty albo w pokrętny i
niezrozumiały sposób.
Ruby ma też swoją zaletę że pisane w nim skrypty są mocno czytelne i pomimo tego, że w
niektórych brakuje dokumentacji to można po samym kodzie się domyślić "co autor miał na myśli",
aczkolwiek, wiem, że w niektórych przypadkach warto odpuścić sobie gdybanie.
Czy warto skryptować w RMach?
Moim zdaniem warto. Pisanie skryptów nawet już na starej wersji Ruby dalej jednak uczy tego
języka, a z tego co mi wiadomo oferty pracy jako programista Ruby są dość kuszące w zarobkach.
Dodatkowo nawet ucząc się tylko Ruby można wyrobić sobie pewne schematy działania jak i
pewne sposoby rozwiązywania problemów, które mogą się przydać w innych dziedzinach jak i w
programowaniu w innych językach. Ja sam pomimo tego że pracuję głównie korzystając z PHP
przypominam sobie i uczę się nadal Ruby. Dalej w nim modyfikuję skrypty itd. itd., a nawet
napisałem o nim ten skromny artykuł.
Słowa końcowe
Ruby tak jak wiele języków zasługuje na uznanie i jak widać jest dość szeroko stosowany. Twórca
tego języka moim zdaniem powinien i pewnie jest dumny ze swojego dzieła. Dla osób bardziej
zaawansowanych polecam zajrzeć na repozytorium tego języka
https://github.com/ruby/ruby w celu
zobaczenia tego jak on jest zbduowany.
Dziękuję ślicznie za uwagę i mam nadzieję że zobaczymy się w kolejnych artykułach.
1 Źródło https://www.ruby-lang.org/pl/
2 Źródło https://www.ruby-lang.org/pl/about/
3 Źródło https://www.ruby-lang.org/en/news/2020/12/25/ruby-3-0-0-released/
4 Źródła:
5 Źródło https://pl.qaz.wiki/wiki/RPG_Maker
6 Źródło https://www.rubydoc.info/gems/rpg-maker-rgss3/1.02.0/Window
Autor: EnterVPL
email: entervpl@gmail.com