Návrat k legendám: Software na Acornu Archimedes

Ačkoliv patřil Acorn Archimedes k nejvýkonnějším platformám své doby, po stránce softwaru si uživatelé nemohli vybírat tolik, jako jinde. Softwaru bylo málo, ale naštěstí byl docela kvalitní.
Kapitoly článku

Programování je oblast, kde se tato platforma ocitla ve svém živlu. Dá se dokonce říci, že celý návrh počítače byl zaměřen na velmi vysoký výkon a snadné programování. Proto má Archimedes zabudovaný Basic v ROM, což je dle mého názoru velmi potřebná vymoženost. V jistém směru i dnes na současných moderních operačních systémech chybí jednoduchá, triviální a pro každého dostupná varianta programování těch nejjednodušších aplikací.

IMG_0012.JPG
Nejjednodušší program

Basic V v Archimedovi byl významně vylepšený BBC Basic z BBC Micra. Zatímco tam se jeho autorka Sophie Wilson musela omezit na velikost 16kB kódu, u Archimeda podobné omezení neexistovalo. Díky tomu byl tento jazyk obohacen o mnohé nové funkce, z nichž některé jsou nevídané ani u jeho současných následníků.

Basic V umožňoval plně strukturované programování, obsahoval všechny klasické konstrukce pro tento účel potřebné, jako IF-THEN-ELSE, cykly WHILE-NEXT, dokonce i konstrukci vícenásobného vyhodnocování CASE, procedury a funkce atd. Samozřejmě, mohli jste na něm programovat v inline assembleru, bylo možné jako v moderních variantách vynechat čísla řádků. Daly se vytvářet knihovny různých procedur či funkcí a dokonce bylo podporováno jejich dynamické linkování. Významně vylepšená byla práce s poli, takže bylo možné psát operace nad celým polem hodnot, například:

DIM A(1000): A() = A()*8

Bylo možné snadno pole stejných velikostí mezi s sebou kopírovat či na ně aplikovat nějaké matematické operace.

Basic V dále obsahuje příkazy pro kreslení nejen grafických primitiv, ale i pro softwarové sprity, správu grafických dat a manipulaci s nimi, ovládání zvuku atd. Dokonce i některé aplikace, dostupné v systému, například pro vytváření fontů či spritů, byly napsány v Basicu. Při psaní takových aplikací se velmi využívalo možností inline assembleru, takže kritické části mohly být nesmírně efektivní. Je ale pravdou, že jazyk nezná objektově orientované programování. To sice není všelékem, ale pro rozsáhlejší projekty se hodí a dnes se považuje za samozřejmost.

Práce s Basicem na Archimedovi je nesmírně pohodlná. Je možné si v textovém editoru vytvořit jednoduchý prográmek a ten následně spustit poklepáním na jeho ikonku. Není třeba zavádět interpreter, program kompilovat, nic takového. Basic je navíc velmi rychlý, takže se opravdu nelze divit, že sloužil k tvorbě některých utilitek.

IMG_0020.JPG
Test rychlosti

I zde jsem se pokusil o srovnání rychlosti běhu několika triviálních prográmků a to na A3020:

Program ZX Spectrum Atari ST BBC Micro A3020
Test 101 8 20 2
Test zkompilován 92    17  
Test bez výpisu 96 2  19 <1
Test bez výpisu zkomp. 87    16  
Math 677 8 102 3
Math zkompilován 622    94  
Graph 35    13  
Graph zkompilován 22    11  

Z výsledků je evidentní obrovská rychlost RISCového procesoru. Je třeba ovšem zdůraznit, že A3020 pochází z roku 1992, takže nelze čekat nic jiného. Těch deset let mezi osmibitovým Spectrem či BBC Micro prostě musí být vidět. Na druhé straně, ještě v roce 1991 byla v prodeji například Amiga A600, kterou poháněl stejný procesor, jako první počítač této platformy. Atari 520STE, na němž byly tyto výsledky měřeny, bylo v obchodech doprodáváno i v tom roce 1992. Výsledky nám také ukazují, že pokoušet se spouštět tyto prográmky na modernějších strojích je nesmyslné, protože se dostáváme k neměřitelným časovým intervalům.

Pro Basic existovaly i kompilery, které jeho běh ještě navýšily. Prvním byl ABC Compiler, ovšem ten neuměl kompilovat opravdu všechny příkazy jazyka, například nepodporoval všechny operace s poli, ošetřování chyb atd. Pozdější RiscBasic byl mnohem kvalitnější a výsledný kód rychlejší. Oproti interpretovanému programu došlo k navýšení rychlosti o stovky procent.

Samozřejmě, Basic nebyl jediným programovacím jazykem pro tuto platformu. Existovaly varianty jazyka C (především Acornsoft ANSI C), Pascalu, Fortranu, Prologu a Lispu. Problém dnes bohužel je, že pro tuto platformu se jakýkoliv software špatně shání a pro programovací jazyky to platí takřka stoprocentně. Z tohoto důvodu jsem žádný nemohl vyzkoušet, pouze je mi známa jejich existence.

Celkový dojem z Archimeda je tedy velice pozitivní. Je to počítač, který se solidně ovládá, nabízí vysoký výkon a překonává mnohé své současníky. Některé jeho vychytávky by se nám hodily i dnes. Bohužel, platforma se na trhu objevila později, než jiné, což mělo vliv na mnohem menší nabídku softwaru a úspěch u uživatelů. Ti raději zůstali u konkurence, sice ne tak dokonalé, nicméně s mnohem větším zázemím. Tak to chodí.

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