Programowanie jak w filmie, czyli co to jest Hollywood MAL

Data publikacji: 2016-04-26 | Tagi:

Nie samym pythonem człowiek żyje. I tak oto w moje ręce wpadł (wpadł to trochę eufemizm za coś, co kosztuje 100Eur ;)) pakiet Hollywood w wersji 6.0.

Co to jest, do czego to jest i jak tego używać postaram się krótko opisać w tym poście.

Trochę historii

Autorem programu jest Andreas Falkenhahn i tylko on. Pierwsza wersja ujrzała światło dzienne w roku 2002 i była to wersja pracująca tylko na procesorach Motorola 680x0 w komputerach Amiga. Praktycznie chwilę po wydaniu pierwszej wersji pojawiła się kompilacja na MorphOS. W roku 2005 pojawił się support dla systemu AmigaOS4, w roku 2008 support dla Windows oraz Mac OSX, w roku 2011 do obsługiwanych systemów dołączył Linux, a w 2015 arm Linux działający na Raspberry Pi.

Jak to działa

Pakiet był inspirowany rozwiązaniami z podwórka Amigi, między innymi: Amiga E, Amos Professional oraz Blitz Basic. Autor starał się zaczerpnąc jak najwięcej ze wszystkich tych systemów. Stąd też Hollywood jest niezależny od platformy na której działa, nie odwołuje się bezpośrednio do API tej platformy i pracuje w niezależnym sandboxie. Ma mnóstwo funkcji (obecnie manual to 850 pdf z opisem wbudowanych funkcji programu), umożliwia programowanie obiektowe, a przy tym oferuje prostotę znaną amigowcom z Amosa.

Sam rdzeń Hollywood oparty jest na Lua, więc tutoriale przeznaczone dla Lua (po drobnych przeróbkach) powinny działać również w Hollywood.

Kompilacja

Kompilator działa skrośnie, co znaczy że na dowolnej platformie możemy przygotować binarkę dla każdej innej platformy. W praktyce działa to bardzo dobrze i o ile nie użyliśmy pluginów Hollywood specyficznych dla tylko jednej platformy - jesteśmy urządzeni. Tu wypada wspomnieć, że do wersji 6.0 włącznie kompilacja to jedno, ale pluginy trzeba było instalować odrębnie w każdym systemie. Sytuacja zmieniła się wraz z wejściem na rynek wersji 6.1, która pozwala dolinkować odpowiednie pluginy do binarki, co jeszcze bardziej zwiększa bezobsługowość gotowych programów.

Designer

Sam nie posiadam, ale dla niektórych platform pojawił się pakiet Designer, który stanowi punkt wejścia do Hollywood dla nieprogramistów. Jednym słowem, w Designerze można zaprojektować aplikację, określić jej interakcję (trochę analogicznie jak w programach służących do tworzenia prezentacji) i wygenerować plik *.hws, gotowy do uruchomienia/skompilowania w Hollywood.

Uruchomienie

Uruchomienie skryptu *.hws jest proste jak wpisanie:

hollywood skrypt.hws

Skompilowanie dla bieżącej platformy również jest proste:

hollywood skrypt.hws -compile skrypt

Skompilowanie dla platformy innej, niż ta, na której uruchamiamy program:

hollywood skrypt.hws -compile skrypt -exetype win32

Powyższy kod spowoduje skompilowanie binarki dla systemu windows niezależnie od tego na jakiej platformie kompilujemy.

Hello World!

Najprostszy przykład wygląda tak:

@DISPLAY {Hidden = True}
DebugPrint("Hello World!")

Wykonanie tego kodu spowoduje wypisanie w konsoli tekstu Hello World!. Pierwsza linia jest komendą preprocesora i jest potrzebna do tego, by Hollywood mógł ukryć domyślny obszar roboczy, który otwierany jest zawsze (a akurat w tym prostym przypadku go nie potrzebujemy).

Po co to wszystko

W sumie ciężko powiedzieć. Czy obecnie jest sens zamykać się w środowisku hermetycznym i niewielkim, kiedy jest do dyspozycji wielka i otwarta społeczność np. pythona? Odpowiedź na to pytanie nie jest jednoznaczna. Mnie w Hollywood pociąga przenośność, możliwość pisania "natywnie" pod systemy amigowe, łatwość uzyskania bogatych graficznie aplikacji, rdzeń Lua (a staję się powoli takim małym fanbojem tego języka) i wiele innych mniejszych lub większych zalet. Czy język ma przyszłość? Według mnie ma, ale pod warunkiem, że autorowi "będzie się chciało", a programistom "się nie znudzi" ;).

Ogólnie jestem nastawiony dość optymistycznie do pakietu Hollywood Multimedia Application Layer i postaram się w niedługim czasie pokazać jakieś proste aplikacje stworzone przy pomocy tego programu.

Ciekawe linki

Przede wszystkim strona główna projektu. Skąd można przeskoczyć do dokumentacji lub forum. W sekcji screenshots można zobaczyć jak wyglądają aplikacje tworzone przy pomocy Hollywood.


Oceń ten post:
Podziel się:

comments powered by Disqus

IT w obrazkach: