AmigaBASIC

AmigaBASIC
Typ Microsoft BASIC
Vývojář Microsoft
Operační systém AmigaOS 1.1 až 1.3
Hardwarová platforma Amiga / m68k
Nejnovější verze 1.2

AmigaBASIC je dialekt programovacího jazyka BASIC pro Amiga PC vyvinutý a napsaný společností Microsoft . AmigaBASIC se dodává s ranými verzemi AmigaOS od 1.1 do 1.3. Nahradil MetaComCo ABasic , který byl součástí AmigaOS 1.0 a 1.1, a sám byl nahrazen ARexx ( dialekt programovacího jazyka IBM REXX ) , počínaje AmigaOS 2.0 a novějšími.

Funkce implementace

AmigaBASIC byla jednou z prvních implementací překladače BASIC , ve kterém vývojáři opustili podporu číslování řádků. Toto bylo děláno pro podporu pojetí strukturovaného programování , také implementoval Microsoft v MacBASIC . Uživatelé zvyklí na zavedenou syntaxi jazyka BASIC v dialektu Dartmouth nijak nespěchali s přechodem na nové implementace a absorpce stávající softwarové kódové základny BASIC novými implementacemi od Microsoftu byla z důvodu nekompatibility obtížná . Také bylo zřejmé, že AmigaBASIC od Microsoftu prakticky neumožňoval využívat rozsáhlé funkce platformy Amiga (ve srovnání např. s AMOS ). Programy AmigaBASIC mají přístup k knihovnám systému AmigaOS , ale práce s nimi je tak těžkopádná a náchylná k chybám, že tato funkce nemá žádnou praktickou hodnotu.

Omezení a problémy

AmigaBASIC byl považován za surový software , ale především příliš pomalý. Výkon algoritmů popsaných v AmigaBASIC byl odhadován na 1000krát pomalejší než při implementaci v C++ nebo assembleru . To bylo nepřímo potvrzeno faktem, že jednoduchou nečinnou smyčku pro 1000 běhů provedl AmigaBASIC za 800 ms, zatímco Commodore Basic na Commodore 64 (s desetinásobně pomalejším procesorem než Amiga ) dokončil tento úkol za 1000 ms. AmigaBASIC 1.0 přitom uživateli nabízel od 10 do 25 KB RAM pro ukládání programů, což je mnohem méně než i v základním Commodore 64 , nemluvě o mladší Amize 1000 (která měla v základním balíčku 256 KB a 512 KB v rozšířeném).

Když se na trhu objevily počítače Amiga s 1 MB nebo více RAM, ukázalo se, že AmigaBASIC byl omezen na 24bitový adresní prostor , což odpovídá 16 MB RAM, a tato skutečnost je spojena s jeho portováním na Amigu z Apple Macintosh . Programy AmigaBASIC, které překročily tento umělý limit kvůli své velikosti, jednoduše nebyly provedeny.

Navíc prodeje AmigaBASIC utrpěly kvůli velmi špatné pověsti jazyka BASIC (na akademické půdě). Většina uživatelů Amigy proto rychle přešla na C++ , assembler nebo Modula-2 , protože pro tyto jazyky již existovaly výkonné kompilační balíčky a pouze tímto způsobem bylo možné využívat všechny funkce poskytované platformou. Třetí strany se několikrát pokoušely aktualizovat podporu jazyka BASIC na Amize přechodem z interpretu na kompilátor (např . HiSoft Basic Compiler , GFA-BASIC , MaxonBASIC ), ale se střídavým úspěchem. Nicméně konečný "rozsudek smrti" pro AmigaBASIC byl spor o cenu licence, který vznikl, když Microsoft účtoval Commodore Corporation . Proto Commodore odmítl dodat uživatelům další AmigaBASIC.

Význam

Přestože je tento BASIC dialekt poměrně rozšířený, nikdy nehrál komerční roli. AmigaBASIC se však stal symbolem doby, kdy byly zdrojové kódy programů a malých her pro Amigu publikovány v populárních periodikách a novinách. Staré, možná milované, AmigaBASIC programy se nejsnáze portují na QBasic nebo FreeBASIC , vyžaduje to trochu úpravy.

Přechod na ACE

Pokusy o vytvoření kompilátoru pro BASIC kompatibilní s AmigaBASIC skončily s příchodem kompilátoru ACE. Tento bezplatný kompilátor vytvořil Australan David Benn z Launcestonu v Tasmánii a dokáže vytvářet spustitelné soubory pomocí nástrojů a68k (assembler) a Blink (linker) . Tak bylo možné psát programy se syntaxí AmigaBASIC, které mohou používat Intuition GUI a výkonově překonat původní implementaci Microsoftu . Nejnovější verze 2.4 ( 17. září 1996 ) je k dispozici ke stažení z repozitáře Aminetu .

Příklady programů

Ahoj světe pro AmigaBASIC PRINT "Ahoj světe!"

Programátor může získat více pomocí následující syntaxe:

SAY TRANSLATE$ ( "AHOJ SVĚTE" )

V tomto pripade Amiga nejen vytiskne text na obrazovku, ale take rekne "Hello world" s pouzitim AmigaOS syntezatoru hlasu .

dr = 3,14 / 180 PRO r = 30 330 KROK 2 PRO t = 0 355 KROK 5 x = r * COS ( t * dr ) * ,5 y = r * SIN ( r * dr ) * 0,3 z = r * SIN ( t * dr ) * ,5 xp = xp + ( COS ( 15 * dr ) * z ) yp = yp + ( SIN ( 15 * dr ) * z ) xp = xp + 320 yp = 50 - yp PSET ( xp , yp ) DALŠÍ t DALŠÍ r

Příklad inženýrské grafiky AmigaBASIC (konstrukce 3D povrchu)

Viz také

Zdroje

  • Amiga Basic od Paul Fellows , Dabs Press , prosinec 1992, ISBN 978-1-870336-87-1
  • Amiga Basic od Henninga Horsta Rainera , Jackson Libri , 1989, ISBN 978-88-7056-966-7
  • Amiga Basic Inside and Out od Christiana Spanika a Hannese Rugheimera Abacus Books (Abacus Software Inc.), leden 1988, ISBN 978-0-916439-87-3
  • Elementary Amiga BASIC od C. Regeny, Počítejte! (Compute! Publications Inc., USA), duben 1987, ISBN 978-0-87455-041-2
  • Advanced Amiga Basic od Toma R. Halfhilla a Charlese Brannona , Počítejte ! (Výběr počítačové knihovny) červenec 1986, ISBN 978-0-87455-045-0

Odkazy