Ćwiczenie w dowolnym języku programowania

Dzisiaj coś z zupełnie innej beczki. Pewnie nie raz rozpoczynaliście zabawę z nowym językiem programowania – niezależnie czy to był Groovy, Scala czy coś poza JVM – Ruby lub Pyton. Zawsze nadchodzi ten pierwszy raz, kiedy po przerobieniu tutoriala/książki/FAQ wypadałoby coś napisać, aby w praktyce przetestować sam język jak i swoją wiedzę.

W przypadku języków, które występują najczęściej w kontekście sieciowym tworzy się coś na kształt bloga, CMSa lub podobnych – prosty CRUD, konfiguracja logowania, zaciągnia zależności i tego wszystkiego. Tutaj niestety problem polega na tym, iż do pracy zaprzęgamy również dedykowany framework – Grailsy, Lifta, RoRa, Django czy co tam jeszcze nam do głowy przyjdzie. Nasz projekt działa, ale czy na pewno do końca rozumiemy język? W dzisiejszych rozwiązaniach otrzymujemy tak wiele rzeczy OOTB, że czasem nawet nie mamy okazji dowiedzieć się co działa pod spodem.

Jeśli takie podejście jest Ci znane – wówczas proponuję inną rzecz. Polecam ten link – jakiś czas temu bawiłem się akcjami (w sensie edukacyjnym – nigdy złotówki nie zainwestowałem) i próba zaprzęgnięcia komputera do dokonywania analiz danych wydawała mi się dość naturalna. Pod wspomnianym linkiem znajduje się algorytm prostego systemu na akcje – czy działa – trudno absolutnie powiedzieć przy dzisiejszej zmienności na GPW. Jednakże jako rzecz do zaimplementowania w nowym języku programowania nadaje się idealnie.

Mamy połączenie z zewnętrznymi zasobami (doczytajcie komentarze), parsowanie pliku tekstowego, rozbicie danych na struktury (listy/zbiory/mapy), pętle i wszystko co potrzebne. Podany system można rozbudowywać – zarówno o własne wariacje algorytmów, jak i o bardziej konkretne  funkcjonalności. Może dodać zapis do bazy danych? Może zapisywać dane inkrementacyjnie we własnym zakresie niż za każdym razem łączyć się po zewnętrzne dane. Dorobić interfejs webowy? Czemu nie. Wiem tylko jedno – da się poćwiczyć.

Jeśli znacie podobne fajne pomysły na ‘programistyczną piaskownicę’ to zachęcam do podzielenia się wiedzą w komentarzach.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s