AmigaBASIC

AmigaBASIC
Type Microsoft BASIC
Udvikler Microsoft
Operativ system AmigaOS 1.1 til 1.3
Hardware platform Amiga / m68k
nyeste version 1.2

AmigaBASIC er en dialekt af BASIC - programmeringssproget til Amiga -pc'en udviklet og skrevet af Microsoft . AmigaBASIC leveres med tidlige versioner af AmigaOS fra 1.1 til 1.3. Den erstattede MetaComCo ABasic , som var inkluderet i AmigaOS 1.0 og 1.1, og blev selv erstattet af ARExx ( IBM 's REXX -programmeringssprog- dialekt ) begyndende med AmigaOS 2.0 og senere.

Implementeringsfunktioner

AmigaBASIC var en af ​​de første implementeringer af BASIC -fortolkeren , hvor udviklere opgav støtten til linjenummerering. Dette blev gjort for at understøtte konceptet med struktureret programmering , også implementeret af Microsoft i MacBASIC . Brugere, der var vant til den etablerede syntaks for BASIC-sproget på Dartmouth-dialekten, havde ikke travlt med at skifte til nye implementeringer, og absorptionen af ​​den eksisterende BASIC -softwarekodebase af nye implementeringer fra Microsoft var vanskelig på grund af inkompatibilitet . Det var også indlysende, at Microsofts AmigaBASIC praktisk talt ikke tillod brug af Amiga -platformens omfattende funktioner (sammenlignet med for eksempel AMOS ). AmigaBASIC-programmer kan få adgang til AmigaOS -systembibliotekerne , men at arbejde med dem er så besværligt og fejludsat, at denne funktion ikke har nogen praktisk værdi.

Begrænsninger og problemer

AmigaBASIC blev betragtet som rå software , men frem for alt for langsom. Ydeevnen af ​​algoritmerne beskrevet i AmigaBASIC blev anslået til at være 1000 gange langsommere, end når de blev implementeret i C++ eller assembler . Dette blev indirekte bekræftet af det faktum, at en simpel tomgang for 1000 kørsler blev udført af AmigaBASIC på 800 ms, mens Commodore Basic på Commodore 64 (med en ti gange langsommere processor end Amiga ) fuldførte denne opgave på 1000 ms. Samtidig tilbød AmigaBASIC 1.0 brugeren fra 10 til 25 KB RAM til lagring af programmer, hvilket er meget mindre end selv i basis Commodore 64 , for ikke at nævne den yngre Amiga 1000 (som havde 256 KB i basispakken og 512 KB i den udvidede).

Da Amiga -pc'er med 1 MB eller mere RAM dukkede op på markedet, viste det sig, at AmigaBASIC var begrænset til et 24-bit adresserum , hvilket svarer til 16 MB RAM, og dette forhold er forbundet med dets portering til Amiga fra Apple Macintosh . AmigaBASIC-programmer, der gik ud over denne kunstige grænse på grund af deres størrelse, blev simpelthen ikke udført.

Derudover led AmigaBASIC-salget lidt på grund af BASIC-sprogets meget dårlige ry (i den akademiske verden). Derfor skiftede de fleste Amiga -brugere hurtigt til C++ , assembler eller Modula-2 , da der allerede var kraftfulde compilerpakker til disse sprog, og kun på denne måde var det muligt at bruge alle funktionerne fra platformen. Tredjeparter har flere gange forsøgt at opdatere understøttelsen af ​​BASIC-sprogetAmiga ved at gå fra en tolk til en compiler (f.eks . HiSoft Basic Compiler , GFA-BASIC , MaxonBASIC ), men med blandet succes. Den endelige "dødsdom" for AmigaBASIC var imidlertid en tvist om prisen på en licens, der opstod, da Microsoft fakturerede Commodore Corporation . Derfor nægtede Commodore at levere yderligere AmigaBASIC til brugerne.

Betydning

På trods af at den er relativt udbredt, har denne BASIC- dialekt aldrig spillet en kommerciel rolle. AmigaBASIC er dog blevet et symbol på tiden, hvor kildekoden til programmer og små spil til Amigaen blev offentliggjort i populære tidsskrifter og aviser. Gamle, måske elskede, AmigaBASIC-programmer er nemmest at portere til QBasic eller FreeBASIC , det kræver lidt justeringer.

Overgang til ACE

Forsøg på at oprette en compiler til BASIC kompatibel med AmigaBASIC endte med fremkomsten af ​​ACE-kompileren. Denne gratis compiler blev skabt af australske David Benn fra Launceston , Tasmanien og kan oprette eksekverbare filer ved hjælp af værktøjerne a68k (assembler) og Blink (linker) . Dermed blev det muligt at skrive programmer med AmigaBASIC-syntaksen, der kan bruge Intuition GUI og overgå den originale Microsoft -implementering i ydeevne . Den seneste version 2.4 ( 17. september 1996 ) er tilgængelig til download fra Aminet- lageret .

Programeksempler

' Hello World for AmigaBASIC PRINT "Hej verden!"

Programmøren kan få mere ved at bruge følgende syntaks:

SIG TRANSLATE$ ( "HELLO VERDEN" )

I dette tilfælde vil Amiga ikke kun udskrive teksten på skærmen, men også sige "Hello world" ved hjælp af AmigaOS talesynthesizer .

dr = 3,14 / 180 FOR r = 30 TIL 330 TRIN 2 FOR t = 0 TIL 355 TRIN 5 x = r * COS ( t * dr ) * , 5 y = r * SIN ( r * dr ) * , 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 ) NÆSTE t NÆSTE r

Eksempel på AmigaBASIC ingeniørgrafik (konstruktion af en 3d overflade)

Se også

Kilder

  • Amiga Basic af Paul Fellows , Dabs Press , december 1992, ISBN 978-1-870336-87-1
  • Amiga Basic af Henning Horst Rainer , Jackson Libri , 1989, ISBN 978-88-7056-966-7
  • Amiga Basic Inside and Out af Christian Spanik og Hannes Rugheimer Abacus Books (Abacus Software Inc.), januar 1988, ISBN 978-0-916439-87-3
  • Elementary Amiga BASIC af C. Regena, Compute! (Compute! Publications Inc., USA), april 1987, ISBN 978-0-87455-041-2
  • Advanced Amiga Basic af Tom R. Halfhill og Charles Brannon , Compute! (Compute Library Selection) juli 1986, ISBN 978-0-87455-045-0

Links