czwartek, 26 kwietnia 2012

W Szczecinie powstał pierwszy Hackerspace. Inicjatywa jest ogromną szansą na ożywienie szczecińskiej sceny wspólnego tworzenia. Po udanych wydarzeniach DevCrowd, Android Hackathonie, (i kilku innych) zauważalna jest nuta ożywienia, pojawiającego się ducha wspólnego tworzenia, który dla mnie jest esencją Open Source. Wszystkim zaangażowanym w projekt Hackerspace bardzo, bardzo dziękuję :) Mam nadzieję, że miejsce będzie skupiać nie tylko środowiska tworzenia oprogramowania, ale także sprzętu oraz twórców sztuki cyfrowej, w tym mojej ukochanej - wizualnej.

Z myślą o sztuce wizualnej i łatwej wizualizacji powstał język Processing. Nie jest to kolejny martwy twór akademicki, ale bardzo elegancka "warstwa abstrakcji" na Java, która - mimo wielu swoich zalet - nie nadaje się jako język prototypowy z akcentem na aplikacje wizualne. Z drugiej strony jej dostępność, przenośność, uniwersalność, potężna biblioteka standardowa są niewątpliwie atrybutami. O Processing należy myśleć jak o warstwie abstrakcji, nakładce. Język jest zgodny z Java, umożliwia korzystanie z biblioteki standardowej Java, ale:
  • posiada zerowy narzut związany z tworzeniem okna graficznego
  • definiuje podstawowy zbiór "łatwych" metod matematycznych, graficznych, OpenGL, ....
  • posiada automatyczną obsługę głównej pętli programowej (wraz z odświeżaniem okna)
  • opakowuje niskopoziomowość organizacji bitmap w pamięci, kodowaniem koloru etc.
Processing dostarczany jest w standardowej dystrybucji jako gotowe IDE (zwane szkicownikiem) oraz właściwy .jar Osoby lubiące Eclipse mogą zintegrować Processing z tym środowiskiem. Manual gdzieś na stronie języka. Można by powiedzieć, że nic odkrywczego, gdyby nie kilka dodatkowych szczegółów. Processing posiada bardzo ciekawe opcje eksportu, w tym do gotowej strony WWW (aplikacja jest kompilowana do postaci apletu Javy + generowany jest plik HTML uruchamiający). To rozwiązanie ma charakter "out-of-box". Cała trudność to parę kliknięć. Jeżeli chciałbyś swoją aplikację uruchomić na  Android, to za pomocą szkicownika możesz wygenerować wersję dla tego systemu. 

Processing udostępniany jest jako LGPL, natomiast jego IDE jako GPL. Inspirująca jest ilość dostępnych pakietów dodatkowych oferujących najrozmaitsze funkcjonalności, choćby tworzenie GUI. Oczywiście wszystko poddane odpowiedniej abstrakcji :]

Po dłuższej przyjaźni z Processing trudno nie zauważyć, że świetnie się on nadaje do nauczania programowania, także przetwarzania obrazu, czy pisania gier. Ja jestem zachwycony. Choć sam nie wierzę, że to mówię, mając nauczyć kogoś podstaw tworzenia gier 2D, wybrałbym Processing, zamiast dotychczas preferowanego Pygame. Moja sympatia do Pythona nie słabnie :) Po prostu Processing jest wygodniejszy, zapewnia typowanie i bardzo elegancko automatyzuje obsługę elementarnych zdarzeń. To, co mnie najbardziej inspiruje w Processing to doskonała dokumentacja (dwie wersje API: dla nie-geeków oraz tradycyjny Javadoc), dodatkowo multum przykładów online, bardzo dobre tutoriale oraz kilka książek opisujących praktyczne przykłady wizualizacji i animacji z użyciem Processing. Kładę nacisk na praktyczne. Kilka materiałów na początek:
Fragmenty drugiej książki stanowią oficjalny tutorial do Processing, który można znaleźć na stronie języka (bezpłatnie). Do książki "Learning Processing" można pobrać za darmo przykłady. Oprócz tego na stronie ksiązki umieszczono - takze za darmo - kilka tutoriali. Osoba mająca doświadczenia w czymś co przypomina C++, Javę lub dowolny inny wysokopoziomowy, typowany język, może uczyć się wyłącznie z przykładów. Warto wspomnieć, że Processing potrafi obsługiwać Arudino.

Podczas tegorocznego Google's Summer of Code jednym z projektów był Processing. Po wakacjach możemy się spodziewać kolejnych nowości. Wszystkim, którzy się dostali składam gorące gratulacje :) Mam nadzieje, że ktokolwiek z Wydziału Informatyki ZUT zasilił w tym roku szeregi GSoCerów.

Gorąco gratuluję Jakubowi Narlochowi z Politechniki Warszawskiej (dawniej z WI ZUT) otrzymania wakatu GSoC. Jakub będzie rozwijał JBoss.

Następnym razem napiszę co nieco o matematyce w informatyce, lub informatyce w matematyce, czyli jak zrobić z macierzy 2D płaski wektor (bez zamykania jednego oka).

Brak komentarzy:

Prześlij komentarz