niedziela, 19 luty 2006, w kategoriach: Programowanie, Ruby
Zgodnie z zapowiedzią, bierzemy się za praktyczne programowanie. Przez następne pare odcinków będziemy rozwijać prostą, konsolową aplikacje będącą czymś w rodzaju PIMa, z naciskiem na wsparcie dla GTD (pasujące do tematyki strony). W trakcie pisania programu zaczną nam oczywiście wypływać na powierzchnię pewne niezbędne sprawy o których dotąd nie mówiliśmy, tak więc po drodze poruszymy mnóstwo pobocznych aspektów Ruby’ego. Wszystko będzie się działo dość spontanicznie, nie mam napisanych 10 odcinków tutoriala do przodu, więc asekuracyjnie proszę o wyrozumiałość :)
Odpuścimy sobie GUI, bo jego pisanie jest nudne, pozatym pojawia się problem znalezienia crossplatformowej biblioteki, trzeba opisać jej instalcję… Nudy, nudy, nudy. Skupimy się na esencji, na logice programu. Jeśli ktoś chcę, może potem w ramach ćwiczeń dopisać GUI, nie powinno być to szczególnie trudne.
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).
ś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.
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.