środa, 5 czerwca 2013

Programowanie wizualne : Google Blockly

Wczoraj o analizie algorytmów w Python, dziś nieco o programowaniu wizualnym. Ostatnio miałem okazję, by zderzyć się ze współczesnymi językami wizualnymi stworzonymi dla potrzeb nauczania podstaw programowania. Wyszło średnio, ponieważ większość języków będących zwieńczeniem publikacji / monografii na ten temat albo przestało być rozwijanych, albo dotyczą projektów zamkniętych (np. na potrzeby amerykańskiego wojska). Nie znalazłem niczego, co by łączyło wieloparadygmatowość, licencję WiOO, intuicyjny interface i wygodę analizy działania, debuggowania etc.. Na szczęście po drodze wpadło mi w ręce parę na prawdę fajnych narzędzi. Jedno to UUhistle opisane post wcześniej, kolejne to Blockly ( http://code.google.com/p/blockly/ ). Narzędzie zostało stworzone przez Google jako zestaw komponentów do wizualnego wyrażania programów. Celowo unikam zdania "wizualny język programowania", gdyż Blockly samo w sobie to komponenty. Dopiero z nich utworzono przykładową aplikację Blockly Code ( http://blockly-demo.appspot.com/static/apps/code/en.html ) umożliwiającą programowanie wizualne. Aplikacja jest na licencji WiOO, komponenty też, całość działa w przeglądarce i jest napisana w HTML5. Co jeszcze ciekawsze, interfejs jest dużo lżejszy i wygodniejszy, niż w osławionym MIT Scratchu, a na dodatek kod wyklikany z klocków jest na bieżąco zapisywany także w postaci kodu Python / JavaScript / XML.

Blockly prezentuje się następująco:


Oprócz przedstawionego programu "Code", twórcy przygotowali jeszcze kilka innych aplikacji demonstrujących możliwości, chociażby grafika żółwia oparta o ... mapy Google. Tak, tak, za pomocą instrukcji żółwia prowadzimy żółtego ludzika (tego ze StreetView) po mapie, aby doszedł do celu. Zupełnie jak podczas Juwenaliów ;)

Dla powyższego listingu kod Python wygląda tak:


Dość siermiężnie, natomiast w kontekście nauczania podstaw programowania, myślę że doskonale jest łączyć Blockly i UUhistle. Jedno tworzy kod Python, drugie umożliwia wizualizację. Fajny pakiet do nauczania osób, które nigdy nie miały styczności z programowaniem.



Ponieważ znowu doszły mnie słuchy, że "nigdzie nie wytłumaczono dobrze jak działają wskaźniki", wpadłem na pomysł napisania 3-4 wpisów tłumaczących od zera ideę wskaźników. A nuż komuś to pomoże.

Brak komentarzy:

Prześlij komentarz