Sunday, March 23, 2008

RUBY - Raczej Uporządkowany Bałagan

Zaraz po zapoznaniu się z językiem Python postanowiłem liznąć Ruby ego. Tak się składa, że poprosiłem o"RUBY Tao Programowania w 400 przykładach" książkę na urodziny i dostałem ją od moich kochanych rodziców :]

Wrażenia są mniej więcej takie, że Ruby to Raczej Uporządkowany Bałagan (i w tym bałaganie zaginęła literka "y"). Ponieważ nie pisałem jeszcze żadnego programu w Ruby więc może to tylko wrażenie bałaganu, może wszystko się wyjaśni kiedy zacznę w nim pisać.

Na pewno poznanie języka Ruby to jak poznanie języka jakby 3 razy bardziej obszernego. Ucząc się Pythona masz powiedziane jasno: jak chcesz coś zrobić to użyj XYZ i XYZ wykona dla Ciebie to. A w Ruby masz owszem napisane operator ABC wykonane dla Ciebie to co chcesz, ale masz przy okazji opisane milion innych sposobów jak wykonać tą samą operację w inny sposób a przy okazji omówione drugie tyle newansów, którymi rozwiązania się różnią.

Być może właśnie przez tą różnorodność mam wrażenie bałaganu. Natomiast na pewno jedna rzecz jest szalenie ważna. Obsługa pewnych podstawowych rzeczy w Ruby jest połowiczna. Używanie dodatkowych bibliotek w celu poprawnego obsługiwania łańcuchów kodowanych w UTF8, pisanie w ogóle o WADACH języka i w celu ich "rozwiązywania" używania zewnętrznych bibliotek, nagłe zmiany działania metod (np. przyjmują szerszy zakres zmiennych) po załadowaniu jakiejś biblioteki czy wrażenia braku jednolitości co do stosowanych notacji ... to coś czego w kursach Pythona nie spotkałem. Kurs Pythona to poprostu same superlatywy, opis cech języka bez zagłębiania się w szczegóły. Pokazanie jak działają mechanizmy bez wchodzenia w wady i cechy danych rozwiązań - może też dlatego kursy Pythona, poprzez taki "trik socjologiczny" wydają się prezentować język Python jako lepszy... społeczność mówi jednym głosem pokazuje jego zalety, cechy - a o Rubym to co rusz da się wyczytać o jakiś wadach (powiedziałbym cechach). Moim zdaniem to bardzo negatywnie rzutuje na wrażenie jakie odbiera się podczas czytania o języku.

Myślę, że to dobyr punkt, żeby zacząć tworzyć publikacje nie wgłębiające się w szczegóły, pokazujące język Ruby od tak poprostu w zastosowaniach, w których się sprawdza i już !

Python - początki

Ostatnio męcząc stronę http://python.org.pl/ uczę się pythona. Kursy są naprawdę ciekawe i dobre, materiałów w sieci nie brakuje, ludzie na forum w swoim tempie odpowiadają. Język jest ciekawy i przejrzysty no i rozwija się. Podobno w sierpniu tego roku ma wyjść Python 3000 czy Python 3.0 jak kto woli.

Miałem wcześniej problemy z nauczeniem się tego języka bo to raczej niczego nie przypominało ... ale teraz chyba jest już dobrze. Bardzo pomógł mi kurs Jakuba Swachy - naprawdę świetny. Przeglądając inny, któryś z kolejnych, spodobało mi się możliwość dowiadywania się pewnych rzeczy o obiektach i metodach poprzez funkcję "dir()" i metodę "__doc__" ... :) bardzo mi to przypadło do gustu.

Język jest ciekawy, przejrzysty - choć można się czasem długo zastanawiać co to oznacza ten zapis. Posiada takie powiedziałbym ciekawe, ale jak się z czasem okazuje, życiowe struktury danych, które wiele ułatwiają ...

Polecam go wszystkim, którzy chcą nauczyć się czegoś nowego :) i szukają języka przejrzystego i miłego dla "oka" ...