Hollywood (programozási nyelv)
Hollywood | |
Hollywood IDE, Windows XP-n futtatva | |
Fejlesztő | Andreas Falkenhahn |
Első kiadás | 2002 |
Legfrissebb stabil kiadás | 10 (2023. február 25.) |
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 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]
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ás | 2002 |
Legfrissebb stabil kiadás | 7.0 (2024. április 14) |
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.
Jegyzetek
[szerkesztés]- ↑ A Hollywood lehetőségei, http://www.hollywood-mal.com/features.html
- ↑ Johnson, Magnus: Interview with Andreas Falkenhahn. Total Amiga 21 (2005), pp. 14-15.
- ↑ List of projects that use Lua. http://www.inf.puc-rio.br/~roberto/lua-uses.html
- ↑ Hollywood Portal, http://www.hollywood-mal.com/index.html
- ↑ Preinsack, Anton: Interview with Andreas Falkenhahn. Amiga Future 78 (2009), p. 14.
- ↑ Christoph, Michael: Hollywood 3 on Windows. Amiga Future 71 (2008), pp. 26-27.
További információk
[szerkesztés]- Hivatalos honlap és fórumok
- A fejlesztő honlapja
- Cubic IDE, egy Hollywood-hoz is használható fejlesztői környezet]
- CodeBench Archiválva 2013. július 25-i dátummal a Wayback Machine-ben, 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)