Návrat k legendám: Software a programování na ZX Spectru

ZX Spectrum nabízelo neskutečné množství softwaru, přičemž hlavní kategorií byly hry. Mohlo se ale pochlubit i aplikacemi, které překonávaly leckteré jiné platformy.
Kapitoly článku

Co se programovacích jazyků týče, Spectrum nabízelo srovnatelné možnosti, jako ostatní osmibitové platformy. Existovalo několik variant basiců, ovšem je třeba říci, že například HiSoft Basic jste měli k dispozici s kompilátorem, což byla přeci jen možnost dost unikátní.

HiSoftBASIC.gif
HiSoft Basic (zdroj: www.worldofspectrum.org)

Stejně tak Laser Basic nabízel k dispozici vývojové prostředí pro tvorbu her, včetně editoru spritů a kompilátoru, což je opět lepší, než co bylo dostupné třeba na Atari. Kompilátorů basicu existovalo několik a některé umožňovaly kombinaci kompilovaného kódu s kódem v basicu, což samozřejmě méně zkušeným programátorům dovolovalo experimentování a vývoj dostatečně rychlého softwaru pouze s limitovanými znalostmi.

LaserBasic.gif
Laser Basic (zdroj: www.worldofspectrum.org)

Stejně jako na Atari, i na Spectru jsem v basicu vyzkoušel své ukázkové programy, které mají sloužit pro zcela orientační porovnání rychlostí jednotlivých platforem. Výsledky jsou následující:

Program ZX Spectrum Atari Atari ST Test 101 sec. 134 (34) sec. 8 sec. Test zkompilovaný 92 sec. 33 sec. Test bez výpisu 96 sec. 128 (28) sec. 2 sec. Test bez výpisu zkomp. 87 sec. 27 sec. Math 677 sec. 860 (199) sec. 8 sec. Math zkompilovaný 622 sec. 186 sec. Graph 35 sec. 67 (60) sec. Graph zkompilovaný 22 sec. 57 sec.

U Atari jsou časy v závorce naměřené v Turbobasicu. Z tabulky je evidentní, že ZX Spectrum je rychlejší než osmibitové Atari s Atari Basicem ve všech ukázkových úlohách. Jiná situace je v Turbobasicu, který vykazuje lepší výsledky, než Sinclair Basic, a to dosti výrazně, a to samé platí i pro zkompilované úlohy, s výjimkou testu rychlosti grafiky. Je samozřejmě otázkou, nakolik je to ovlivněno rychlostí počítače a nakolik kvalitou tohoto jazyka. Je dost možné, že jiné basicy na Spectru by vykazovaly taktéž větší rychlost. Pro porovnání byly uvedeny i hodnoty pro Atari ST, které opět ukazují, jak byl nástup nových platforem v polovině osmdesátých let ve výkonu počítačů zásadní záležitostí.

1182107_original - http-ic.pics.livejournal.com.jpg
Manuál pro HiSoft Pascal (zdroj: ic.pics.livejournal.com)

Z vyšších jazyků je na Spectru k dispozici jak kvalitní Pascal, tak slušné C, obé od firmy HiSoft. Existují i další verze těchto jazyků, nicméně jedině zmíněné varianty od HiSoftu skutečně fungují a dokonce v nich byl napsán i nějaký ten software. Samozřejmě, zde se opět projevuje nevýhoda Spectra v neexistenci jediného univerzálního diskového systému, takže každý z programů musel existovat v různých verzích. Existuje ale i verze kazetová, což je pro Pascal i C naprosto unikátní, neboť tyto jazyky potřebují kvůli kompilaci hodně paměti, a zatímco z diskety lze načítat soubory postupně podle potřeby kompilátoru, kazeta něco takového neumožňuje. Je tedy jasné, že používat C s kazetovým magnetofonem sice dovolovalo nějaké ty školní hrátky, ale pro skutečný vývoj softwaru byla disketová mechanika nezbytností.

hisoftgynvael_garbaty_lamer - gynvael.coldwind.png
HiSoft C spuštěné v emulátoru (zdroj: gynvael.coldwind.pl)

V těchto jazycích je tedy Spectrum opět dále, než osmibitové Atari, které sice cosi jako Pascal a C mělo k dispozici, ovšem reálná použitelnost byla dosti omezená, jelikož Pascal nevytvářel spustitelný kód a C nedodržovalo standardní syntaxi (například vzhledem k neexistenci znaku # na Atari byl tento nahrazován, což, jak každý céčkař uzná, znamená solidní problém v čitelnosti a přenositelnosti programů). Na rozdíl od Atari se takový Apple II mohl pochlubit velmi solidním Pascalem, vytvořeným přímo firmou z Cupertina a oblíbeným ve školství.

HiSoftDevpacV3.gif
HiSoft Devpac 3 (zdroj: www.worldofspectrum.org)

Samozřejmě, že „normální“ programátoři programovali v assembleru, případně přímo ve strojovém kódu. Assemblerů existovalo pro Spectrum dostatek, každý si mohl vybrat z různých možností a podle toho, co uměl takový Laser Genius, bych si skromně troufl konstatovat, že i zde Spectrum překonávalo konkurenci, jelikož jen těžko hledat na Atari něco stejně komplexního (jeho nevýhodou ale byla značná velikost, protože si uzmul 20kB, takže programátorovi zbylo na jeho experimenty jen zhruba stejně tolik).

xcimbur_prometheus - www.fi.muni.cz.jpg
Prometheus (zdroj: www.fi.muni.cz)

U nás se hodně využívalo IDE Prometheus, které bylo menší, nabité funkcemi, relokovatelné kamkoliv do paměti, čímž bylo možné vytvářet kód na přímo zamyšlené umístění. Ale, jak jsem zmínil, možností bylo spoustu a každý si vybral, co mu vyhovovalo.

Témata článku: , , , , , , , , , , , , , , , , , , , , , , , , ,