Hollywood (programozási nyelv)

programozási nyelv

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.[1]

Hollywood
Hollywood IDE, Windows XP-n futtatva
Hollywood IDE, Windows XP-n futtatva

FejlesztőAndreas Falkenhahn
Első kiadás2002
Legfrissebb stabil kiadás10
(2023. február 25.)
Operációs rendszerAmigaOS (68k), AmigaOS 4 (PPC), MorphOS, WarpOS, AROS, Windows, MacOS X, Linux, Android
Kategória
Licenckereskedelmi licenc
A Hollywood weboldala

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 szerkesztés

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.[2] 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.[3]

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.[4]

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 szerkesztés

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.[5]

Platformfüggetlenség szerkesztés

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.[6]

Támogatott operációs rendszerek / hardver architektúrák szerkesztés

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 szerkesztés

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 szerkesztés

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 szerkesztés

Hollywood Designer
 
Hollywood Designer, Amiga OS4-en futtatva

FejlesztőAndreas Falkenhahn
Első kiadás2002
Legfrissebb stabil kiadás6.0
(2022. május 16.)
Operációs rendszerAmigaOS (68k), AmigaOS 4 (PPC), MorphOS, WarpOS, AROS
Kategória
Licenckereskedelmi licenc
A Hollywood Designer weboldala

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 szerkesztés

  1. A Hollywood lehetőségei, http://www.hollywood-mal.com/features.html
  2. Johnson, Magnus: Interview with Andreas Falkenhahn. Total Amiga 21 (2005), pp. 14-15.
  3. List of projects that use Lua. http://www.inf.puc-rio.br/~roberto/lua-uses.html
  4. Hollywood Portal, http://www.hollywood-mal.com/index.html
  5. Preinsack, Anton: Interview with Andreas Falkenhahn. Amiga Future 78 (2009), p. 14.
  6. Christoph, Michael: Hollywood 3 on Windows. Amiga Future 71 (2008), pp. 26-27.

További információk szerkesztés