AmigaBASIC

AmigaBASIC
Tyyppi Microsoft BASIC
Kehittäjä Microsoft
Käyttöjärjestelmä AmigaOS 1.1 - 1.3
Laitteistoalusta Amiga / m68k
uusin versio 1.2

AmigaBASIC on Microsoftin kehittämän ja kirjoittaman Amiga PC : n BASIC - ohjelmointikielen murre . AmigaBASIC toimitetaan AmigaOS :n varhaisten versioiden 1.1-1.3 kanssa. Se korvasi MetaComCo ABasicin, joka sisältyi AmigaOS 1.0:aan ja 1.1:een, ja itse korvattiin ARexxillä ( IBM :n REXX - ohjelmointikielen murre ) alkaen AmigaOS 2.0:sta ja uudemmista.

Toteutusominaisuudet

AmigaBASIC oli yksi ensimmäisistä BASIC -tulkin toteutuksista, joissa kehittäjät luopuivat rivinumerointien tuesta. Tämä tehtiin tukemaan strukturoidun ohjelmoinnin käsitettä , jonka myös Microsoft on toteuttanut MacBASICissa . Dartmouthin murreen BASIC-kielen vakiintuneeseen syntaksiin tottuneilla käyttäjillä ei ollut kiirettä siirtyä uusiin toteutuksiin, ja nykyisen BASIC - ohjelmiston koodikannan omaksuminen uusilla Microsoftin toteutuksilla oli vaikeaa yhteensopimattomuuden vuoksi . Lisäksi oli ilmeistä, että Microsoftin AmigaBASIC ei käytännössä sallinut Amiga -alustan laajojen ominaisuuksien käyttöä (verrattuna esimerkiksi AMOS :iin ). AmigaBASIC-ohjelmat voivat käyttää AmigaOS -järjestelmäkirjastoja , mutta niiden kanssa työskentely on niin hankalaa ja virhealtista, että tällä ominaisuudella ei ole käytännön arvoa.

Rajoitukset ja ongelmat

AmigaBASIC pidettiin raakaohjelmistona , mutta ennen kaikkea liian hitaana. AmigaBASICissa kuvattujen algoritmien suorituskyvyn arvioitiin olevan 1000 kertaa hitaampi kuin C++ :ssa tai assemblerissä toteutettuina . Tämän vahvisti epäsuorasti se tosiasia, että AmigaBASIC suoritti yksinkertaisen tyhjäkäynnin 1000 ajoa varten 800 ms:ssa, kun taas Commodore Basic Commodore 64 :ssä (jossa on kymmenen kertaa hitaampi prosessori kuin Amigassa ) suoritti tämän tehtävän 1000 ms:ssa. Samaan aikaan AmigaBASIC 1.0 tarjosi käyttäjälle 10 - 25 KB RAM -muistia ohjelmien tallentamiseen, mikä on paljon vähemmän kuin jopa perus Commodore 64 :ssä , puhumattakaan nuoremmasta Amiga 1000 :sta (jonka peruspaketissa oli 256 kt ja 512 kt laajennetussa).

Kun Amiga PC:t , joissa oli vähintään 1 Mt RAM-muistia, ilmestyivät markkinoille, kävi ilmi, että AmigaBASIC oli rajoitettu 24-bittiseen osoiteavaruuteen , mikä vastaa 16 megatavua RAM-muistia, ja tämä seikka liittyy sen siirtämiseen Amigaan Apple Macintosh . AmigaBASIC-ohjelmia, jotka ylittivät tämän keinotekoisen rajan koonsa vuoksi, ei yksinkertaisesti suoritettu.

Lisäksi AmigaBASIC-myynti kärsi BASIC-kielen erittäin huonosta maineesta (akatemiassa). Siksi useimmat Amiga -käyttäjät vaihtoivat nopeasti C++ :aan , assembleriin tai Modula-2 :een, koska näille kielille oli jo olemassa tehokkaita kääntäjäpaketteja ja vain tällä tavalla oli mahdollista käyttää kaikkia alustan tarjoamia ominaisuuksia. Kolmannet osapuolet ovat useaan otteeseen yrittäneet päivittää Amigan BASIC-kielen tukea siirtymällä tulkista kääntäjäksi ( esim . HiSoft Basic Compiler , GFA-BASIC , MaxonBASIC ), mutta vaihtelevalla menestyksellä. Viimeinen "kuolemantuomio" AmigaBASICille oli kuitenkin kiista lisenssin kustannuksista, joka syntyi, kun Microsoft laskutti Commodore Corporationia . Siksi Commodore kieltäytyi toimittamasta lisää AmigaBASIC-tuotteita käyttäjille.

Merkitys

Suhteellisen laajalle levinneestä huolimatta tällä BASIC -murteella ei ole koskaan ollut kaupallista roolia. AmigaBASICista on kuitenkin tullut sen ajan symboli, jolloin Amigan ohjelmien ja pienten pelien lähdekoodi julkaistiin suosituissa aikakauslehdissä ja sanomalehdissä. Vanhat, ehkä rakastetut AmigaBASIC-ohjelmat ovat helpoimmin siirrettävissä QBasiciin tai FreeBASICiin , se vaatii hieman säätämistä.

Siirtyminen ACE:hen

Yritykset luoda BASIC -kääntäjä, joka on yhteensopiva AmigaBASICin kanssa, päättyivät ACE-kääntäjän tuloon. Tämän ilmaisen kääntäjän loi australialainen David Benn Launcestonista Tasmaniasta , ja se voi luoda suoritettavia tiedostoja käyttämällä a68k (assembler) ja Blink (linker) työkaluja . Siten tuli mahdolliseksi kirjoittaa AmigaBASIC-syntaksilla ohjelmia, jotka voivat käyttää Intuition GUI : ta ja ylittävät suorituskyvyn alkuperäisen Microsoft -toteutuksen . Uusin versio 2.4 ( 17. syyskuuta 1996 ) on ladattavissa Aminet - arkistosta .

Ohjelmaesimerkkejä

' Hello World for AmigaBASIC PRINT "Hei maailma!"

Ohjelmoija voi saada enemmän käyttämällä seuraavaa syntaksia:

SAY TRANSLATE$ ( "HELLO WORLD" )

Tässä tapauksessa Amiga ei vain tulosta tekstiä näytölle, vaan myös sanoo "Hei maailma" AmigaOS - puhesyntetisaattorin avulla .

dr = 3,14 / 180 R = 30 - 330 VAIHE 2 t = 0 - 355 VAIHE 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 ) SEURAAVA t SEURAAVA r

Esimerkki AmigaBASIC-tekniikasta (3D-pinnan rakentaminen)

Katso myös

Lähteet

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

Linkit