A Hollywood egy elsősorban multimédiaorientált feladatokra összpontosító, de általános célra is használható programozási nyelv. Fejlesztője Andreas Falkenhahn, aki Airsoft Softwair néven futó vállalkozásán keresztül hozza forgalomba. A beépített többplatformos fordítóprogram segítségével egyetlen rendszeren valamennyi támogatott operációs rendszerre készíthetőek futtatható programfájlok. Az elkészített programok önállóan, külső összetevők nélkül működnek, akár hordozható háttértárról is futtathatók.A Hollywood lehetőségei, http://www.hollywood-mal.com/features.html
A szoftver jelenleg AmigaOS 68k, AmigaOS 4 PPC, MorphOS, AROS, Windows, macOS és Linux operációs rendszereken elérhető, de végrehajtható natív programfájlokat Android és iOS rendszerekre is képes fordítani.
Története Fejlesztésének gyökerei az Amiga számítógéphez kötődik. Olyan egyszerű és hatékony Amiga programozási nyelvekből merített, mint az Amos, a Blitz BASIC, vagy az Amiga E. A Hollywood fejlesztése 2002-ben kezdődött.Johnson, Magnus: Interview with Andreas Falkenhahn. Total Amiga 21 (2005), pp. 14-15. Az első kiadás 68000 alapú Amiga rendszereken volt használható. Ezt hamarosan követte a PowerPC alapú MorphOS, majd a WarpOS verzió. A 2004-ben kiadott 1.9 változattal egy időben jelent meg a Hollywood Designer, amely a Hollywoodra épülve teszi lehetővé prezentációk és egyéb interaktív programok készítését vizuális, programozási ismereteket nem igénylő módon. Az AmigaOS4 operációs rendszer 2005 március óta támogatott.
Jelentős előrelépést jelentett a fejlesztés során a 2006 januárban megjelent 2.0 verzió, amely implementált egy szintaxisában és funkcionalitásában is számottevően módosított Lua programozási nyelvet.List of projects that use Lua. http://www.inf.puc-rio.br/~roberto/lua-uses.html
A 2008-ban megjelent 3.0 változattól kezdve a Hollywood kilépett az Amiga ihlette rendszerek közül és programjai futtathatóvá váltak Mac OS X és Microsoft Windows rendszereken is. A 4.5 változat első ízben (egy integrált fejlesztői környezettel) teljes körűen elérhetővé vált Windows alatt is. A 2011-ben kiadott 4.8 verzió már Linux végrehajtható programot is képes fordítani, míg az egy évvel később megjelent 5.0 videó lejátszási és vektoros grafika támogatást kapott. Az 5.2 változat már az Android rendszereket is támogatja.Hollywood Portal, http://www.hollywood-mal.com/index.html
A 6.0 Epiphany néven megjelent kiadásban rugalmasabbá vált a rendszerhez illeszthető kiegészítők illesztési felülete. Már nem csak bővített utasításkészletet tartalmazhatnak, hanem a rendszer alapvető grafikai, hang és fájlrendszer kezelő moduljait is leválthatják. Ezáltal nyílt lehetőség pl. a GlGalore 3D kiegészítő elkészítésére, ami az OpenGL képernyőkezelő rendszerre irányítja át a Hollywood eredeti grafikus kimenetét.
A 7.0 verzió 15 évvel az első kiadást követően 2017 márciusban jelent meg. Teljes Unicode támogatás mellett 64 bites architektúrák is bekerültek a támogatott rendszerek közé (Linux, Windows, macOS). A 64 bites programokhoz az eddig rendelkezésre álló kiegészítők (plug-ins) nem használhatóak. A Hollywood fejlesztője által kiadott kiegészítők ezért frissítésre kerültek.
Általános információk A Hollywood elsősorban az egyszerű használhatóságra és a platform függetlenségre összpontosít. Tervezésekor a fő súlypontokat a játékok és multimédia alkalmazások képezik. A nyelv utasításkészletét több mint 500 parancs alkotja, a következő területeket célozva: 2D grafika, hang, fájlrendszer műveletek, szöveg kezelése, animáció, sprite grafika, rétegek, képváltási effektusok, kép manipuláció, idő és dátum funkciók, TCP/IP hálózatkezelés, bemeneti perifériák kezelése (billentyűzet, egér, joypad, érintőképernyő), általános programozást támogató matematikai eljárások.
Egy Hollywood program készítését az ú.n. Hollywood szkript létrehozása jelenti (amely egy hagyományos ASCII szövegfájl *.hws kiterjesztéssel). A szkriptek fordítását követően a linker egy a célplatformhoz tartozó interpretert illeszt a programfájlhoz, így jön létre a végrehajtható programfájl. A programot képező szkript az adott rendszertől izolált környezetben fut, ezért gyakorlatilag képtelen lefagyni.Preinsack, Anton: Interview with Andreas Falkenhahn. Amiga Future 78 (2009), p. 14.
Platformfüggetlenség A Hollywood egy teljesen platformfüggetlen programozási nyelv. Ennek következtében a szkript nem tud a host rendszer alkalmazásprogramozási felületéhez közvetlenül hozzáférni, azaz a beépített utasításkészletre szorítkozik. Még a szöveg megjelenítés is platformfüggetlen, így a TrueType szöveg is pontosan ugyanúgy jelenik meg minden rendszeren. Továbbá valamennyi támogatott platformon képes kezelni (számos más formátum mellett) az Amigán elterjedt média formátumokat, mint a IFF ILBM képek, IFF 8SVX hangok, vagy az IFF ANIM animációkat.Christoph, Michael: Hollywood 3 on Windows. Amiga Future 71 (2008), pp. 26-27.
Támogatott operációs rendszerek / hardver architektúrák A Hollywood a következő rendszerekhez képes végrehajtható programfájlokat létrehozni:
Sz. Operációs rendszer Minimum verzió CPU Megjegyzés 1. AmigaOS3 Kickstart 3.0+ 68020+ javasolt CyberGraphX vagy Picasso96 2. AmigaOS3 Kickstart 3.0+ 680020+ és 68881 vagy 68882, illetve 68040/68060 FPU 3. AmigaOS3 Kickstart 3.0+ 68040/68060 + PowerPC WarpOS Classic PPC 4. AmigaOS4 4.x PowerPC 5. MorphOS 3.x PowerPC 6. Linux X86, X64, PowerPC, ARM X11, glibc 7. Microsoft Windows Windows 2000+ X86, X64 8 Mac OS X 10.4+ PowerPC 9. macOS 10.6+ X86 10. Android 4.0+ ARM, ARMv5 vagy ARMv7 CPU Különálló APK Compiler használatával 11. Apple iOS 8+ ARM Apple jogi korlátozás miatt csak a Hollywood fejlesztőjének bevonásával érhető el.
A Hello World program A „Hello, World” program Hollywoodban így néz ki:
Print("Hello World!") WaitLeftMouse End
A fenti program nyit egy új ablakot, majd kiírja benne a "Hello World!" szöveget fehér betűkkel és nem lép tovább, míg a bal egérgombot egyszer le nem nyomja a felhasználó. Amint látható, a nem meghatározott paraméterek mindegyikét a Hollywood egy alapértékkel helyettesíti, így pl. eltérő parancs hiányában 640x480 felbontású ablakot nyit automatikusan.
A programozási nyelv
A Hollywood alapját a Lua (programozási nyelv) képezi, amelyen azonban a fejlesztő jelentős változtatásokat eszközölt. Ily módon bár a nyelv struktúrája megmaradt, szintaxisában némileg eltér tőle.
Az alapvető nyelvi elemeken (adattípusok, matematika, elágazások, ciklusok, stb.) túl a programnyelv kínálta eszközöket funkciókönyvtárakból érheti el a program. Ezek két csoportra oszlanak. A system.api belső könyvtárakat tartalmaz, melyek funkciói minden esetben elérhetőek, készletük jellemzően az új Hollywood kiadásokkal bővül. További funkciókönytárakat a plugin.api illeszt a programrendszerbe. Ezek külső könyvtárak, melyek támogatottsága platformonként némileg eltér.
A jelenlegi kiadás belső funkciókönyvtárai (system.api): Könyvtár neve Feladata anim bitkép animációk kezelése arexx Amigán elérhető, a programok közti kapcsolatok felülete bgpic a képernyőkezelés alapfunkciói, prezentációs programokhoz hasonló megközelítéssel brush statikus bitkép elemek kezelése display kijelző kezelés dos az operációs rendszer fájlrendszerkezelő funkciói draw bitkép grafikus primitívek event eseménykezelés, I/O, felhasználói interakció, időzítés graphics alacsonyszintû grafikai funkciók icon ikonok kezelése a különböző platformokhoz és felbontásokhoz layers a képernyő rétegvezérelt kezelése math magasszintû matematika memblock memória területek moveobject grafikus tárgyak mozgatása programfutástól külön szálon network TCP/IP kezelés IPV4, IPV6 serial soros port kezelése sound hangminták kezelése, generálása sprite háttértől független grafikus elemek kezelése string karakterláncok magasszintû funkciói system rendszerkörnyezeti funkciók text betűkészletek kezelése transitionfx grafikus effektek, áttûnések vectorgraphics vektorgrafikus funkciók video video fájlok kezelése, a program grafikus kimenetének videofájlba mentése
Hollywood Designer
A Hollywood Designer egy a Hollywood-hoz kapcsolódó kiegészítő szoftver, amely prezentációk, interaktív alkalmazások és információs terminálok programjának létrehozását teszi lehetővé. A programozási ismeretet nem igénylő WYSIWYG "vizuális" szerkesztési lehetőségekkel a tartalomra koncentrálva hozhatóak létre önállóan futtatható szoftverek. A szerkesztés folyamata "dia" képekre épül, melyeken szövegek, képek, zenék, hangeffektusok helyezhetőek el. Az egyes elemeken megjelenítési, eltűnési effektusok alkalmazhatóak, a folyamatok időrendje és felhasználói interaktivitása is meghatározható.
Valamennyi Designer által létrehozott projekt megjelenítését a Hollywood biztosítja, így az általa kínált valamennyi platformra a programfájl fordítási lehetőség is biztosított.
Technikailag a Designer nem tesz mást, mint egy grafikus felhasználói felület által támogatott módon generál Hollywood szkriptet. Mindez azonban a felhasználó elől rejtve történik, tehát a Designer bár használatához szükséges követelmény egy telepített Hollywood, mégis önálló alkalmazásnak látszik.
Jegyzetek
További információk Hivatalos honlap és fórumok A fejlesztő honlapja Cubic IDE, egy Hollywood-hoz is használható fejlesztői környezet] CodeBench , egy AmigaOS 4 fejlesztői környezet Hollywood és más programnyelvekhez] Egy Hollywood Designer segítségével készült infochannel (norvég)
Kategória:Programozási nyelvek Kategória:Amiga-szoftverek Kategória:MorphOS-szoftverek Kategória:AROS szoftverek