poniedziałek, 30 sierpnia 2010

Rails 3.0 w świetle dziennym

No i nareszcie mamy Rails 3.0! Zapowiada się ciekawie, choć pojawił się problem. Otóż framework został w pewnym stopniu przebudowany (jeszcze dokładnie się z nową wersją nie zapoznałem - wykonałem tylko kilka prób), co powoduje, że działające aplikacje utworzone w wersji 2.x muszą zostać "odrobinę" przerobione. Niestety, w moim przypadku - o ile "stare" aplikacje mogą sobie spokojnie pracować w Railsach 2.x - nowa wersja frameworka pociąga za sobą zmiany w środowisku pracy, przede wszystkim upgrade NetBeans (używam wersji 6.8), a kto wie, czy nie musiałbym też dźwigać GlassFish'a. W sumie można by powiedzieć: w czym problem? A no w braku czasu - głównie poświęcić go trzeba na dopieszczanie środowiska po upgrade'ach. Inna rzecz, to świeżość Rails 3 - myślę, że nie będzie od rzeczy przeczekanie pierwszej fazy szału na nową wersję i zainteresowanie się np. wersją 3.0.1.

Dla chcących migrować z Rails 2 na 3 dostępna jest ciekawa (jak mniemam) książka: Rails 3 Upgrade Handbook oraz screencast pokazujący migrację przeprowadzaną "na żywym organizmie".

poniedziałek, 16 sierpnia 2010

Moving to Python

Mówi się, że prawdziwy informatyk powinien co roku poznawać nowy język programowania :-) Fajna sprawa, ale u mnie z tą częstotliwością bywało różnie. Zresztą między poznawaniem języka, a jego biegłym używaniem jest zasadnicza różnica. Poznałem na przestrzeni kilkunastu lat wiele języków programowania, jednak tak na prawdę programowałem i programuję tylko w trzech: C++ (w tym C++/CLI), C# i Java. Pozostałe, a było ich wiele - Forth, Lisp, wszelkie odmiany Basica, Perl, PHP (choć mocno go onegdaj używałem), Pascal, stary, dobry asembler i inne, których nazw już nawet nie pamiętam - gdzieś sobie zniknęły w czeluściach pamięci. Ostatnio nawet Ruby gdzieś mi zaczął umykać, ponieważ już dawno nie napisałem ani kawałka kodu... Jednak w tym przypadku sprawa jest ciągle otwarta - przymierzam się do pewnego projektu.


Ostatnio przeczytałem początek cyklu artykułów autorstwa Łukasza Langi opublikowanych w SDJ, a traktujących o programowaniu w Pythonie. I mnie ruszyło. O Pythonie słyszałem od dawna, ale jako oldschoolowiec nigdy nie miałem zaufania do języków interpretowanych (dopiero przy Ruby mi się trochę odmieniło). Jednak siedząc od pewnego czasu wyłącznie w systemie Linux (chwaliłem się tym parę miesięcy temu :-)) i widząc, jak doskonale sobie radzą języki interpretowane z Pythonem właśnie na czele, postanowiłem poznać ten język. Tym bardziej, że Python znajduje obecnie zastosowanie zarówno do tworzenia aplikacji Webowych (Django), z graficznym interfejsem użytkownika (np. PyGTK), klasycznych CLI, przeznaczonych na urządzenia przenośne itp... Słowem super sprawa!


Pewnie wielu moich znajomych (i nieznajomych) pomyśli, że rychło w czas, ale cóż, tak, jak pisałem wcześniej, zajmowałem się trochę innymi językami.


A w temacie języków programowania pozostając, problem z wyborem odpowiedniego języka do nauki programowania dla początkujących jest ciągle aktualny. Dramat ma miejsce głównie w polskiej oświacie (a jakże). Nie wiem, czy coś się zmieniło, ale dwa lata temu (i wcześniej również) miałem przyjemność uczyć programowania młodzież zdobywającą wykształcenie w zawodzie technik informatyk. Pomijając fakt, że zawód technik informatyk z takim programem nauczania, jaki obowiązuje (lub przynajmniej obowiązywał jakiś czas temu), to - delikatnie mówiąc - nieporozumienie, nauka programowania, jej założenia itp. są "zdziebko" przestarzałe. Programowanie jest w szkole podzielone na dwie części: programowanie strukturalne (Pascal...) i programowanie obiektowe (C++, potem ewentualnie Java). Można by powiedzieć: ale przecież nauczyciel mógłby uczyć innego języka, zamiast muzealnego Pascala. Owszem, też tak myślałem, a potem spojrzałem w standardy wymagań egzaminacyjnych i mnie zemdliło... Zadania z Pascala... Wyobraźcie sobie, jak potraktowaliby nauczyciela absolwenci, którzy znając C++ czy nawet C, dostaliby na egzaminie zadania z Pascala :-) Inna rzecz: znajdzcie mi w szkole nauczyciela przedmiotów informatycznych, który zna coś więcej niż Pascala/Basic/C... Przepraszam, nie "zna", tylko "programuje w". I potrafi tego prawidłowo nauczyć!


Swoją drogą, nieraz moi uczniowie byli zaskoczeni, że nie jestem tylko specjalistą od pocztówek w MS Paint :-)


Wracając do Pythona, polubiłem ten język, oczywiście jeżeli można tak powiedzieć po jednym dniu jegoż intensywnego poznawania i myślę, że dołączy on do mojej Wielkiej Trójki.


Życzę sobie powodzenia i wytrwałości!

czwartek, 12 sierpnia 2010

Dla chcących zgłębić C++

Często zarówno uczniowie, jak i inni adepci sztuki programowania pytają mnie o dobry podręcznik do C++. Szczerze powiedziawszy ciężko znaleźć naprawdę dobry podręcznik traktujący o referencyjnym (dla mnie przynajmniej) języku programowania, jakim właśnie jest C++, w sposób dogłębny, bez naleciałości rodem z Pascala (!) czy C (niestety, długo musiałem się tych naleciałości wyzbywać - teraz znowu mam inne "zboczenie": wszystko piszę jak w Javie...). Na szczęście przypomniało mi się, że jest w Internecie dostępny świetny kurs/niekurs języka C++ - może nie do końca dla początkujących (trzeba znać podstawy programowania) i może nie w 100% wyczerpujący, ale prezentujący (jak rzadko) PRAWIDŁOWY styl programowania w C++ (w zgodzie ze standardami).

Gorąco polecam:

"C++ bez cholesterolu" by Sektor van Skijlen