Ruby - wprowadzenie, część 3 - Gdyby Chuck Norris programował, używałby języka Ruby

sobota, 11 luty 2006, w kategoriach: Programowanie, Ruby

Dziś zajmiemy się kluczową dla całego tutoriala koncepcją - programowaniem obiektowym. Ciężko będzie dalej zrobić cokolwiek fajnego np. w Rails, bez bardzo dokładnego zrozumienia co i jak z obiektami. Więc, jedziemy…

Podstawowym terminem w programowaniu obiektowym jest klasa - komputerowy model jakiejś rzeczywistej bądź abstrakcyjnej rzeczy. Na model ten składają się właściwości, opisane za pomocą zmiennych (zmienna będąca częścią klasy to pole) i zachowanie, możliwe czynności które mogą być przez tą rzecz wykonane, opisane procedurami (z kolei procedura będąca częścią klasy to metoda).

Ruby - wprowadzenie, część 2 - właściwe początki

środa, 8 luty 2006, w kategoriach: Programowanie, Ruby

Okej, pierwszą zaprawę mamy już za sobą. Dziś przyjrzymy się podstawowym “klockom”, z których później (w następnym odcinku) spróbujemy zbudować już coś wykonującego jakieś konkretne zadanie. Z góry zastrzegam, że staram się, żeby tekst był zrozumiały dla jak największej grupy osób, dlatego tłumacze tak łoptologicznie jak umiem, w związku z czym używam wielu uproszczeń i skrótów myślowych, które z formalnego punktu widzenia zapewne bywają niezbyt poprawne. Ale wytykać można, chętnie posłucham.

Ruby - wprowadzenie, część 1 - absolutne podstawy

sobota, 4 luty 2006, w kategoriach: Programowanie, Ruby

Ruby to interpretowany, w pełni obiektowo zorientowany język programowania. Powstał w Japonii, jego twórcą jest Yukihiro Matsumoto “Matz”. Bazuje na pomysłach z najróżniejszych źródeł, jest mieszanką Perla, Pythona, Lispa, Smalltalka i w mniejszym stopniu wielu innych języków.

Cechy, które wyróżniają Ruby’ego spośród tłumu to całkowita obiektowość (bliższa Smalltalkowi niż C++), pełny dostęp do i możliwość modyfikacji całej biblioteki klas, genialny zestaw dodatkowych narzędzi (”budowniczy” ala make, biblioteka do testów modułowych, menadżer pakietów itp., przeglądarka dokumentacji na kształt perldoca), naprawde świetny parser XML, klauzury, bardzo duża zwięzłość (nigdy więcej pisania setnej funkcji ładującej zawartość pliku do tablicy itp.). Przy tym wszystkim język jest naprawde “żywy” i pragmatyczny, na sieci leży mnóstwo dowiązań do baz danych, toolkitów GUI itp., co bywa problemem w przypadku innych bardziej egzotycznych języków, mających szanse konkurować z Rubym na polu możliwości samego języka.

Dlaczego Ruby?

niedziela, 14 sierpień 2005, w kategoriach: Programowanie, Ruby

Jak napisałem w “powitalnym” wpisie, uwielbiam programować w Rubym. Dlaczego? Co czyni ten praktycznie nieznany w Polsce język programowania unikalnym? Oto moje ulubione cechy:

1. Prawdziwa obiektowość. W Rubym nie ma typów prymitywnych, wszystko jest obiektem. Można więc napisać: (0.8).round albo: “cos”.upcase. Nawet nil (”nic”) jest instancją klasy. Jednocześnie nie oznacza to, jak w Javie, konieczności zadeklarowania przynajmniej jednej klasy. Jeśli więc chcemy, możemy programować w stylu proceduralnym, tyle, że w gruncie rzeczy, “za kurtyną” i tak kod ten staję się wnętrzem klasy.

2. Możliwość rozszerzania języka. Do każdej klasy, zarówno napisanej przez nas jak i tej będącej częścią biblioteki standardowej możemy dodać metody, składowe, lub nadpisać te już istniejące. Stwarza to możliwość programowania “bottom-up”, czyli dostosowania języka do wykonywanego zadania.

3. Narzędzia. Dodatkowe narzędzia Ruby’ego są niesamowite. Mamy więc Rake’a, czyli program do budowy skryptów ala Makefile, tyle że w czystym rubym, mamy ruby-gems, pozwalające na instalację za pomocą jednego polecenia dowolnej potrzebnej biblioteki czy pakietu dla Ruby’ego, mamy też “w standardzie” rozbudowany framework do pisania testów modułowych. Dostajemy też interaktywny interpreter i przeglądarka dokumentacji “ri”, przypominająca np. perldoc.