JavaBlock to program do tworzenia i symulowania (interpretowania, wykonywania) schematów blokowych. Schematy blokowe pomagają młodym programistom zrozumieć sposób tworzenia algorytmów. W przestrzeni dwuwymiarowej łatwiej analizuje się działanie samego algorytmu, aniżeli sam kod. Początkujący programista widzi od razu, co jest wykonywane i w jakim momencie.
Sam program udostępniony będzie na licencji GPL, dzięki czemu każdy doświadczony programista będzie mógł w łatwy sposób rozszerzyć możliwości programu i przysłużyć się jego rozwojowi, na razie kod jest zamknięty i intensywnie rozwijany.
Program ma być nie tylko lekki, ale i prosty w obsłudze, pozwalać na programowanie zarówno bardziej doświadczonym programistom jak i tym kompletnie początkującym. Schematy blokowe pozwalają dowolnie projektować algorytmy.
Bloki niekodowe zwalniają niemal całkowicie początkującego programistę z konieczności poznania składni przed rozpoczęciem programowania. Sam program nie musi być używany tylko do programowania, można w nim tworzyć również schematy blokowe z programowaniem nie mające nic wspólnego.
Cechy programu:
- Tworzenie schematów blokowych
- Symulacja schematów przy użyciu JavaScript, lub Python (opcjonalnie)
- Śledzenie wartości zmiennych
- Generowanie skryptów (niezbyt optymalnych) Python i JavaScript ze schematu (trzeba jeszcze ręcznie dopisać klasę obsługującą wejście/wyjście)
- „Ułatwiacze” i uniwersalizacja składni JavaScript i Python (np.
i++
w Pythonie zamieniane nai+=1
) - Rysowanie niskopoziomowe (
canvas2d
) i prosta implementacja poleceń LOGO - Definiowanie struktur (w przyszłości klas i ich metod)
- Działa jako aplet
- Tryb Pascala (np. można używać
:=
do przypisania,=
do porównywania,<>
zamiast!=
) - Bezpośrednie wysyłanie i pobieranie schematów do i z pastebin.com
- „Niekodowe” edytory bloków – niewymagające znajomości składni (np. wejście/wyjście, blok startowy, bloki obsługujące dodatki)
- Schemat jako funkcja – możliwość potraktowania schematu jak funkcji (również rekurencja)
- Aplikacja „sędziego” do sprawdzania poprawności wielu schematów jednocześnie (w przygotowaniach)
- Ładowanie skryptów dla poszczególnych silników
- Ładowanie klas Java do użytku w schematach
Wymagania:
- Rozdzielczość 1024×600 (obcina lewy panel), zalecana wyższa niż 1024×800
- 256 MB RAM, zalecane 1GB
- 20 MB na HDD
- System dowolny z Javą SE 1.6
- Połączenie z internetem (sprawdzanie wersji, wysyłanie/ściąganie schematów z internetu, instalacja modułów dodatkowych)
Nie jest to oczywiście jedyne takie narzędzie. Innymi popularnymi narzędziami są:
- ELI – Stary, ale dobry edytor schematów blokowych. Datuje się go na 1994, więc jest bardzo stary. Nie używałem go zbyt wiele. Oferuje oprócz tworzenia i symulowania schematów także obsługę urządzeń typu czujnik temperatury, natężenia światła itd., które mogą posłużyć za źródła danych do przetwarzania w algorytmie. Wygląda jednak niezbyt estetycznie.
- Magiczne Bloczki – mały, wydajny, o sporych możliwościach. Tworzy również pseudokod, który można nazwać tekstową wersją schematu blokowego. Używałem go do nauki schematów blokowych. Szczerze przyznam się że wzorowałem się na nim nieco, ale o tym później. Język interpretowany przypomina Basic.
JavaBlock posiada bardzo obszerny manual, w którym dowiemy się wszystkiego o działaniu programu i jego funkcjach.
Szkoda, że program nie jest Open Source. Nie wiecie kiedy planują wydać wersję na GPLu?
uczymy się na tej aplikacji w szkole ;) :) fajna jest
Wstępnie autor planuje w czerwcu, jednakże termin jeszcze nie jest znany dokładnie :) Bynajmniej damy o tym znać i postaramy się opisać troszkę więcej w jakimś artykule :D
Bynajmniej damy znać? :| Oj, oj…
Super! Czekam na info.
@Kenji, co się Tobie nie podoba. Ja zrozumiałem treść przekazu. Jak szukasz portalu o ortografii to pomyliłeś linki :]
Treść przekazu "my bynajmniej dać o to znać" też jest zrozumiała, ale kole w oczy i ja osobiście nie zamierzam przechodzić nad tym do porządku dziennego.
[…] schematy blokowe – JavaBlock […]
Dziwne ale fajne dla mojej pani