Hollywood (programozási nyelv)

programozási nyelv

A Hollywood egy elsősorban multimédia orientá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 rendszer-re 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ás 2002
Legfrissebb stabil
kiadás
8.0
(2019. február 10.)
Legfrissebb fejlesztői kiadásismeretlen +/-
Operációs rendszer AmigaOS (68k), AmigaOS 4 (PPC), MorphOS, WarpOS, AROS, Windows, MacOS X, Linux, Android
Kategória
Licenc kereskedelmi 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éneteSzerkeszté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ókSzerkeszté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égSzerkeszté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ákSzerkeszté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 programSzerkeszté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 nyelvSzerkeszté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 DesignerSzerkesztés

Hollywood Designer
 
Hollywood Designer, Amiga OS4-en futtatva

Fejlesztő Andreas Falkenhahn
Első kiadás 2002
Legfrissebb stabil
kiadás
5.0
(2020. április 19.)
Legfrissebb fejlesztői kiadásismeretlen +/-
Operációs rendszer AmigaOS (68k), AmigaOS 4 (PPC), MorphOS, WarpOS, AROS
Kategória
Licenc kereskedelmi 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.

JegyzetekSzerkeszté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ább információkSzerkesztés