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.
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.
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.
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ä.
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 .
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 rEsimerkki AmigaBASIC-tekniikasta (3D-pinnan rakentaminen)
BASIC -ohjelmointikielen murteet | |
---|---|
Klassikko |
|
siirtymäkauden |
|
menettelyllinen |
|
Esine |
|
mobiili |
|
Konsoli |
|