PERUS
| PERUS | ||
|---|---|---|
|
| ||
|
Thomas Eugene Kurtz , John George Kemeny ja Mary Kenneth Keller | ||
| Yleistä tietoa | ||
| Yleiset laajennukset | bas | |
| Paradigma | Pakollinen | |
| Esiintyi | 1964 | |
| Suunnitellut | John George Kemeny ; Thomas Eugene Kurtz ; Mary Kenneth Keller | |
| tyyppinen järjestelmä | dynaaminen | |
| Toteutukset | useita | |
| murteita | useita | |
| vaikuttanut | FORTRAN II , Algol 60 | |
| Käyttöjärjestelmä | useita | |
BASIC , lyhenne sanoista Beginners ' All - function Symbolic Instruction Code [ 1 ] , on korkean tason ohjelmointikielien perhe . _ _ Alkuperäisen BASICin, Dartmouth BASICin , suunnittelivat vuonna 1964 John George Kemeny , Thomas Eugene Kurtz ja Mary Kenneth Keller Dartmouth Collegessa New Hampshiressa ,Yhdysvallat , keinona helpottaa tietokoneohjelmointia muille kuin luonnontieteiden opiskelijoille (ja opettajille). Tuolloin lähes kaikki tietokoneiden käyttö vaati mukautettua ohjelmistokoodausta, joka rajoittui tiedemiehiksi ja matemaatikoiksi koulutettuihin henkilöihin . BASIC kehitettiin alun perin opetusvälineeksi. Kieli ja sen muunnelmat tulivat laajalti saataville mikrotietokoneissa 1970-luvun lopulla ja 1980-luvulla. BASIC on edelleen suosittu kourallinen erittäin muunneltuja murteita ja uusia BASIC-vaikutteisia kieliä, kuten Microsoft Visual Basic tai Gambas GNU/ Linuxissa . Vuonna 2006 59 % .NET -alustan kehittäjistä käytti Visual Basic .NET :iä ainoana kielenä. [ 2 ]
Historia
Tausta
1960-luvun alussa tietokoneet olivat erittäin kalliita ja niitä käytettiin vain erikoistarkoituksiin, jolloin ne suorittivat "yhden tehtävän" kerrallaan. Kuitenkin tuon vuosikymmenen aikana hinnat putosivat siihen pisteeseen, että jopa joillakin pienillä yrityksillä oli niihin varaa. Koneiden prosessointinopeutta nostettiin siihen pisteeseen, että ne usein istuivat liian kauan käyttämättömänä, koska niille ei riittänyt tehtäviä. Kaikki tämä johtui laitteiston nopeasta kehityksestä . Tuon ajan ohjelmointikielet suunniteltiin tiettyihin tarkoituksiin, kuten koneisiin, joilla niitä ajettiin; Esimerkiksi laskentasovellusten tai kaavankäsittelyn kehittämiseen suunniteltiin FORTRAN -kieli , kun taas COBOL kehitettiin erityisesti hallinnon tai tiedonhallinnan ohjelmointiin .
Suorituskyvyn lisäämiseksi ja kustannusten paremmaksi kuolettamiseksi (vähentämällä prosessorin joutoaikaa ) ja koska koneiden nopeus alkoi sallia sen, ehdotettiin ajatusta useamman kuin yhden tehtävän suorittamisesta "samanaikaisesti", näin syntyi aikaosuusjärjestelmän käsite , joka alkoi saada paljon suosiota. Tällaisissa järjestelmissä keskusprosessorin prosessointiaika oli osioitu, jolloin kullekin käyttäjälle annettiin peräkkäin ja syklisesti pieni osa tai "kiintiö" käsittelyajasta. Koneet olivat riittävän nopeita antamaan käyttäjille illuusion, että heillä oli koko ajan koneen toiminnallisuus heille (prosessien "pseudo-samanaikaisuus"). Tämä laskenta-ajan jakautuminen käyttäjien kesken alensi huomattavasti tietojenkäsittelyn kustannuksia, koska useat käyttäjät voivat jakaa yhden koneen.
Syntymä ja varhaisvuodet
BASIC-kielen keksivät vuonna 1964 John George Kemeny (1926-1992) ja Thomas Eugene Kurtz (1928-) Dartmouth Collegessa muiden, kuten ohjelmoija Mary Kenneth Kellerin , avulla . Seuraavina vuosina, kun muut BASICin murteet ilmestyivät, Kemenyn ja Kurtzin alkuperäinen BASIC tunnettiin nimellä Dartmouth BASIC .
BASIC on suunniteltu antamaan opiskelijoille mahdollisuus kirjoittaa ohjelmia käyttämällä aikajakoisia tietokonepäätteitä . Sen oli tarkoitus vähentää dramaattisesti muiden nykyisten kielten monimutkaisuutta, sillä se oli suunniteltu erityisesti sellaisille käyttäjille, jotka aikajakojärjestelmät sallivat: yksinkertaisemmalle käyttäjälle tietojenkäsittelytieteen ulkopuolella, joka ei välittänyt. kiinnostunut nopeudesta, koska vain voi ohjelmoida ja käyttää konetta ilman turhaa vaivaa. Kielen suunnittelijat halusivat myös sen pysyvän julkisena, mikä vaikutti kielen nopeaan leviämiseen.
Kahdeksan periaatetta, jotka ohjasivat BASICin suunnittelua, olivat:
- Ole helppokäyttöinen aloittelijoille.
- Ole yleiskäyttöinen (ei kohdistettu) kieli.
- Anna asiantuntijoiden lisätä edistyneitä ominaisuuksia pitäen samalla kielen yksinkertaisena aloittelijoille.
- Ole vuorovaikutteinen kaikissa tapauksissa.
- Anna selkeät ja ystävälliset virheilmoitukset.
- Vastaa nopeasti pieniin ohjelmiin yleensä.
- Ei vaadi tietokonelaitteiston tuntemusta.
- Suojaa käyttöjärjestelmän käyttäjää .
Kieli perustui osittain FORTRAN II :een ja osittain Algol 60 :een lisäyksillä, jotka tekivät siitä sopivan aikajakojärjestelmiin ja matriisiaritmetiikkaa helpottavia ominaisuuksia . BASIC otettiin ensimmäisen kerran käyttöön GE-265- keskuskoneessa , koneessa, joka tuki useita päätteitä.
Vuonna 1968 Edsger Dijkstra julkaisi kirjeen kuuluisalle kriitikolle [ 3 ] , jossa hän katsoi, että ohjelmointikielet, jotka käyttävät GOTO-lauseita ohjelman jäsentämiseen, olivat haitallisia ohjelmoijan tuottavuudelle ja tuloksena olevan koodin laadulle. Tässä artikkelissa ei mainita mitään tiettyä ohjelmointikieltä; se vain osoittaa, että GOTO : n liiallista käyttöä korkean tason kielillä ei suositella, ja antaa tekniset syyt miksi näin on. Mutta sen alusta lähtien havaittiin ohjelmoijien selvä taipumus käyttää liikaa GOTO :ta BASICissa, erityisesti aloittelijoilla; Tämä tosiasia väheni, kun kieleen liitettiin muita resursseja, kuten parametroituja aliohjelmia, ja myöhemmin strukturoitujen ohjelmointitekniikoiden ilmaantuessa.
Vastoin yleistä käsitystä BASIC ei alun perin ollut tulkittu kieli, vaan käännetty kieli . Melkein heti sen julkaisun jälkeen tietokoneammattilaiset alkoivat väittää, että BASIC oli liian hidas ja liian yksinkertainen. Tällainen väite oli viime aikoihin asti toistuva teema tietokoneteollisuudessa.
Silti BASIC levisi monille koneille ja alustoille, ja siitä tuli kohtalaisen suosittu minitietokoneissa , kuten DEC PDP -sarjassa ja Data General Novassa. Näissä tapauksissa kieli toteutettiin tulkkina kääntäjän sijasta tai vaihtoehtoisesti molemmilla tavoilla.
Räjähdysmäinen kasvu
Kuitenkin Altair 8800 -mikrotietokoneen esittelyn myötä vuonna 1975 BASIC tuli laajalti saataville. Useimmat ohjelmointikielet olivat liian suuria useimpien koneiden tuolloin käytettävissä oleviin pieniin muistiin mahtumaan; ja paperinauhan ja myöhemmin äänikasettien (magneettilevyjä ei vielä ollut) ja sopivien tekstieditorien puutteen ansiosta pieni kieli, kuten BASIC, oli hyvä vaihtoehto. Yksi ensimmäisistä ilmestyneistä oli Tiny BASIC , yksinkertainen BASICin toteutus, jonka alun perin kirjoitti tohtori Li-Chen Wang ja jonka Dennis Allison siirsi myöhemmin Altair-koneeseen Bob Albrechtin (joka myöhemmin perusti Dr. Dobb's Journalin ) pyynnöstä. (DDJ)). Tiny BASICin suunnittelu ja täydellinen lähdekoodi julkaistiin DDJ:ssä vuonna 1976 .
Vuonna 1975 Microsoft (johon kuului kaksi henkilöä: Bill Gates ja Paul Allen ) julkaisi Altair BASICin . Sitten alkoi ilmestyä lisensoituja versioita muille alustoille, ja miljoonia kopioita ja muunnelmia olisi pian käytössä. VISUAL BASICista tuli yksi Apple II :n vakiokielistä . Vuonna 1979 Microsoft neuvotteli useiden mikrotietokonevalmistajien, mukaan lukien IBM:n, kanssa BASIC-tulkin lisensoimisesta heidän tietokoneisiinsa. Versio sisällytettiin levyttömien tietokoneiden IBM - tietokoneiden ROM - levyihin. Tietokoneissa, joissa oli levykeasema, BASIC käynnistettiin automaattisesti niin kauan kuin käynnistyslevykettä ei ole asetettu käyttöjärjestelmänä.
Uudet yritykset yrittivät seurata Altairin menestyksen jalanjälkiä: IMSAI, North Star ja Apple luoden kotitietokoneen vallankumouksen. BASICista tuli vakioominaisuus melkein kaikille kotitietokoneille; Useimmissa oli peruskäyttöjärjestelmä ja BASIC-tulkki, jotka kaikki oli sijoitettu ROM:iin (ensin tehty Commodore PET :llä vuonna 1977 ). Pian ympäri maailmaa olisi miljoonia tietokoneita, joissa on käytössä BASIC, mikä on paljon suurempi määrä kuin kaikkien muiden kielten käyttäjiä yhteensä. Monet ohjelmat, erityisesti Apple II:n ja IBM PC:n ohjelmat, riippuivat Microsoftin BASIC-tulkin läsnäolosta, eivätkä ne voineet toimia ilman sitä; joten Microsoft käytti BASIC-tulkkien tekijänoikeuslisenssiä vaikuttaakseen neuvotteluihin tietokonevalmistajien kanssa.
BASIC oli myös esiasennettu kieli eurooppalaisiin kotitietokoneisiin 1980-luvulla, kuten ZX Spectrum ( Sinclair BASIC ), Amstrad CPC ( Locomotive BASIC ), MSX ( MSX BASIC ), Commodore 64 ja 128 ( Basic 2.0 , Basic 7'0 ) . Basic ), Commodore Amiga ( AmigaBASIC ) tai Atari 8-bittinen perhe ( Atari BASIC ) ja japanilaisissa kotitietokoneissa NEC PC-8801 ja NEC PC-9801 ( N88-BASIC ), jotka usein suorittavat tulkin ja primitiivisen toiminnan järjestelmä, koska molemmat toteutettiin ROM:issa. Texas Instruments rakensi mikrotietokoneisiinsa oman versionsa, kuten TI99/4A:n, sekä laajennetun version ulkoiselle ROM-muistille tai kaseteille ( TI-Basic ja TI Extended
Maturiteetti
Tänä aikana luotiin uusia ja tehokkaampia BASIC-versioita. Microsoft myi useita BASIC-versioita MS-DOS- / PC-DOS-käyttöjärjestelmille , mukaan lukien BASICA , GW-BASIC (BASICA-yhteensopiva versio, joka ei tarvinnut IBM:n ROM-muistia) ja Quick BASIC . Turbo Pascalin valmistaja Borland julkaisi Turbo BASIC 1.0:n vuonna 1985 ( toinen yritys myy edelleen seuraajaversioita PowerBASIC -nimellä). Useita BASIC-laajennuksia kotitietokoneille ilmestyi, tyypillisesti grafiikka-, ääni- ja DOS -komento-ominaisuuksilla sekä strukturoidulla ohjelmointitoiminnolla . Oli kieliä, jotka käyttivät BASIC-syntaksia perustana muille täysin erilaisille järjestelmille, esimerkiksi GRASS .
Kuitenkin 1980-luvun lopulla uudemmat tietokoneet olivat paljon monimutkaisempia, ja niissä oli ominaisuuksia (kuten graafinen käyttöliittymä), jotka tekivät BASICista vähemmän sopivan niiden ohjelmointiin. Samaan aikaan tietokoneet kehittyivät harrastajien mielenkiinnon kohteista ensisijaisesti muiden kirjoittamien sovellusten ajamiseen käytettäviksi työkaluiksi, ja itse ohjelmointi väheni kasvavalle enemmistölle käyttäjistä. BASIC alkoi haalistua, vaikka lukuisia versioita oli edelleen saatavilla.
Yksi tehokkaimmista oli GEM - graafiseen ympäristöön suunniteltu Locomotive BASIC 2 . Tämä uusi versio kielestä mahdollisti sovellusten luomisen graafisilla käyttöliittymillä varustettuna ikkunoilla, valikoilla ja erilaisilla tilastokaavioilla.
BASICin omaisuus kääntyi jälleen Microsoftin Visual Basicin käyttöönoton myötä . Vaikka tämä kieli käyttää käytännössä kaikkia avainsanoja (lauseet, ohjausrakenteet ja sisäiset toiminnot) ja käsittelymuotoa ja datatyyppiä, jotka aiemmissa BASIC-versioissa (DOS); VB on järjettömän tehokkaampi ja kehittyneempi; ja siitä on tullut yksi laajimmin käytetyistä kielistä Windows -alustalla ; On arvioitu , että 70–80 % kaikista kaupallisista sovelluksista on ohjelmoitu VB:llä . Vuodesta 2002 lähtien ja Microsoftin .NET Framework -alustan käyttöönoton myötä Visual Basic alkaa käyttää "oliolähtöistä" paradigmaa, mikä lisää kielen tehoa ja tekee siitä monialustaisen. Visual Basic for Applications (VBA) lisättiin Microsoft Excel 5.0:aan vuonna 1993 ja muuhun Microsoft Office -tuotelinjaan vuonna 1997 . Windows 98 sisälsi VBScript -tulkin . Visual Basicin uusin versio on nimeltään VB.NET . Toisaalta on myös vähemmän tehokas OpenOffice.org Basic -versio , mutta samanlainen kuin Microsoftin VBA.
Kieli
Syntaksi
Minimaalinen BASIC-syntaksi vaatii vain komennot LET, INPUT, PRINT, IF ja GOTO. Tulkki, joka ajaa ohjelmia tällä minimaalisella syntaksilla, ei tarvitse pinoa . Jotkut varhaisista toteutuksista olivat niin yksinkertaisia. Jos lisäät siihen pinon, voit lisätä myös sisäkkäisiä FOR-silmukoita ja GOSUB-komennon. Näillä ominaisuuksilla varustettu BASIC-tulkki edellyttää, että koodissa on rivinumeroita.
Rivinumerot olivat klassisen BASICin hyvin erottuva osa. Rivinumeroiden käytössä on kuitenkin se haittapuoli, että ohjelmoijan on arvioitava kuinka monta riviä hänen kirjoittamansa ohjelman osa vie. Tämä vaatimus täytetään yleensä lisäämällä rivinumeroita säännöllisin väliajoin, kuten 10, mutta tämä johtaa ongelmiin, kun myöhemmin lisätty koodi ylittää alkuperäisten rivien välisen tilan. Helpottaakseen tätä varhaisten BASIC-tulkkien ongelmaa asiantuntijakäyttäjät kirjoittivat pian omat apuohjelmansa numeroimaan ohjelmansa uudelleen alkuperäisen syötteen jälkeen. Myöhemmin ilmestyi BASIC-tulkit, jotka sisälsivät erityisen RENUMBER-komennon, jonka avulla kaikki koodit voitiin numeroida uudelleen nopeasti (ja niin monta kertaa kuin haluttiin) millä tahansa ilmoitetulla rivien välissä ja alkaen tietystä kokonaisluvusta; poistamalla siten pakollisen rivinumerointiongelman.
Nykyaikaisten MIUN BASIC -murteiden ei enää tarvitse sisältää rivinumeroita (vaikka ne ovat sallittuja), ja useimpiin (tai kaikkiin) on lisätty rakenteellisia vuonohjaus- ja tiedonmäärityskonstruktoreja, jotka ovat samanlaisia kuin muissa kielissä, kuten C ja Pascal :
- tehdä
- silmukka
- sillä aikaa
- siihen asti kun
- poistu
- eteenpäin... mennään
- gosub
- valitse ... tapaus
Lähes kaikki BASIC-murteet sisältävät REM-komennon (huomautus), joka myöhemmin korvattiin ´- merkillä ( heittomerkki tai lainausmerkki). Se on ei-suoritettava komento, sitä käytetään lisäämään selittäviä rivejä ja huomautuksia lähdekoodiin ohjelman paremman ymmärtämisen (ja dokumentoinnin) saamiseksi.
Viimeaikaiset muunnelmat, kuten Visual Basic , ovat ottaneet käyttöön joitain olioominaisuuksia ja jopa perinnön uusimmassa versiossa. Muistinhallinta on helpompaa kuin monilla muilla proseduuriohjelmointikielillä roskienkeräimen käytön ansiosta ( ja suoritusnopeuden kustannuksella).
Menettelyt ja virtauksen ohjaus
BASICilla ei ole vakiomuotoista ulkoista kirjastoa, kuten muilla kielillä, kuten C. Sen sijaan tulkki (tai kääntäjä) sisältää sisäänrakennetun sisäisten toimintojen kirjaston. Nämä toimenpiteet sisältävät useimmat työkalut, joita ohjelmoija tarvitsee oppiakseen ohjelmoimaan ja kirjoittamaan yksinkertaisia sovelluksia, sekä toimintoja matemaattisten laskutoimitusten suorittamiseen, merkkijonojen käsittelyyn, konsolisyöttöön, grafiikkaan ja tiedostojen käsittelyyn.
Vanhat BASIC-murteet eivät antaneet ohjelmoijien kirjoittaa omia menetelmiään. Sen sijaan ohjelmoijien oli kirjoitettava ohjelmansa suurella määrällä GOTO-käskyjä tehdäkseen ohjelman virta- ja paluuhaarat. Tämä saattoi (useimmiten) tuottaa hyvin hämmentävää lähdekoodia, joka tunnetaan yleisesti nimellä Spaghetti Code ; jota oli erittäin vaikea ylläpitää, varsinkin ohjelmistokehitykseen liittymättömien ohjelmoijien toimesta.
Kun myöhemmin sisällytettiin GOSUB (Go-Subroutine) -lauseet, ohjelma haarautui alirutiinilajeiksi ilman parametreja tai paikallisia muuttujia. Ne tarjoavat tavan toteuttaa eräänlaisia toimenpiteitä (ne eivät todellakaan ole, se on vain "hyppy ja paluu") ja jäsentää ohjelmaa enemmän välttäen paljon haitallisen GOTO-lauseen käyttöä.
Useimmat uudemmat BASIC-versiot, kuten Microsoft QuickBASIC (1985-1988) ja BASIC PDS (Professional Development System - 1990), lisäsivät täyden tuen aliohjelmille, funktioille ja strukturoidulle ohjelmointille . Tämä on toinen alue, jolla BASIC eroaa monista ohjelmointikielistä. GOSUB-primitiivi on kuitenkin pidetty nykyisten versioiden ajan tasalla yhteensopivuussyistä.
BASIC, kuten Pascal, tekee eron proseduurin, joka ei palauta arvoa (kutsutaan alirutiiniksi), ja toimintosarjan, joka palauttaa (kutsutaan funktioksi) välillä. Monet muut kielet (kuten C) eivät tee tätä eroa ja käsittelevät kaikkea funktiona (jotkut palauttavat " tyhjä "-arvon).
Vaikka arvon palauttavat funktiot ovat suhteellisen uusi lisäys PERUSmurteisiin, monet varhaiset järjestelmät tukivat matemaattisten funktioiden määrittelyä rivissä DEF FN:llä (" DEFine FunctioN "). Alkuperäinen Dartmouth BASIC tuki myös Algol-tyylisiä toimintoja ja aliohjelmia sen varhaisista päivistä lähtien.
Tietotyypit
BASIC tunnetaan erittäin hyvistä toiminnoista merkkijonojen käsittelyyn. Varhaisilla murteilla oli jo joukko perustoimintoja (LEFT$, MID$, RIGHT$), joiden avulla osamerkkijonoja voidaan helposti purkaa ja/tai korvata. Koska merkkijonoja käytetään jokapäiväisissä sovelluksissa, tämä oli huomattava etu muihin kieliin verrattuna niiden käyttöönoton aikaan.
Alkuperäinen Dartmouth BASIC tuki vain numeerisia ja merkkijonotietotyyppejä. Ei ollut koko miestä. Kaikki numeeriset muuttujat olivat liukulukuja. Jouset mitoitettiin dynaamisesti. Se tuki sekä numeroiden että merkkijonojen taulukoita yhdessä tai kahdessa ulottuvuudessa.
Jokaisella nykyaikaisella BASICin murteella on ainakin numeeriset ja merkkijonotietotyypit. Nämä tietotyypit voidaan erottaa käyttämällä jälkiliitettä: merkkijonotunnisteet päättyvät $:iin (dollarimerkki, esim. muuttuja NAME$), kun taas numeerisissa tunnisteissa ei yksinkertaisesti ole jälkiliitettä; ellei sitä vaadita nimenomaisesti osoittamaan ja pakottamaan minkä tyyppinen numeerinen se on, esimerkiksi A% on kokonaisluku, A! on todellinen yksittäinen tarkkuus ja A# on todellinen kaksinkertainen tarkkuus.
BASICissa muuttujia ei välttämättä tarvitse ilmoittaa ennen kuin niitä käytetään, paitsi yli 10 elementin taulukoissa; vaikka suhteellisen nykyaikaisissa BASIC-versioissa on mahdollisuus (hyväksi ohjelmointikäytännöksi katsottu) pakottaa ohjelmoija ilmoittamaan kaikki muuttujat ennen käyttöä (käsky, kuten OPTION EXPLICIT). BASIC:n muuttujien määrittely tehdään DIM-avainsanalla.
Monet murteet tukevat myös muita numeerisia tyyppejä, kuten 16-bittisiä ja 32-bittisiä kokonaislukuja (vastaavasti yksinkertaisia ja pitkiä), liukulukujensa lisäksi. Lisäksi jotkut sallivat käyttäjän määrittämien tietotyyppien käytön, kuten Pascalin "tietueet" tai C:n "rakenteet".
Nykyaikaiset BASIC-versiot (kuten VBA) tukevat monenlaisia primitiivisiä (tai luontaisia) tietotyyppejä käyttäjän määrittämien tietotyyppien lisäksi.
Useimmat BASIC-murteet tukevat taulukoita kaikissa tietotyypeissään; moniulotteisten taulukoiden tuki on myös yleistä
Esimerkkejä:
DIM ArrayOfIntegers ( 100 , 100 ) AS INTEGER DIM VectorOfIntegers% ( 30 ) DIM ListOfNames ( 50 ) AS STRING DIM ListOfCities$ ( 50 )
Riippuen BASIC:n murteesta ja OPTION BASE -käskyn käytöstä, ilmoitettujen taulukoiden ensimmäinen indeksi on 1, oletuksena nolla.
Edellisissä esimerkeissä, jos "OPTION BASE 1" ei ole aiemmin ilmoitettu, ensimmäinen on kaksiulotteinen 16-bittisten kokonaislukujen taulukko, jonka indeksit vaihtelevat välillä 0 - 100 (101 x 101 elementin taulukko); kun taas toinen on joukko kokonaislukuja yhdessä ulottuvuudessa, 0-30 (31 elementin vektori). Huomaa, että nämä kaksi kokonaislukujen ilmoittamismuotoa ovat samanarvoisia, eksplisiittisiä tai niissä käytetään postfix %:a. Samoin merkkijonoille tai merkkijonoille, jotka tässä tapauksessa ovat myös vaihtelevan pituisia (oletuksena dynaamisia).
Saatavuus ja kieliversiot
BASIC on saatavilla lähes kaikille olemassa oleville alustoille ja käyttöjärjestelmille. Ilmainen, standardien mukainen, monialustainen toteutus on Bywater BASIC (bwBASIC). Tulkki on kirjoitettu C-kielellä ja se on GNU-lisenssin alainen . Se on suunniteltu teksti- tai konsolikäyttöliittymälle (ei-graafinen), se ei sisällä tukea graafisten käyttöliittymien (GUI:t, Graphical User Interface) luomiseen. On ilmainen BASIC, joka sisältää GUI- tuen , on samanlainen kuin Visual Basic ja toimii Windowsissa ja GNU/Linuxissa , se on Phoenix Object BASIC .
Tunnetuimmat tulkki-/kääntäjäversiot ovat Quick BASIC -tuotelinja ja QBASIC , joista jälkimmäinen on vain tulkki, molemmat ovat Microsoftilta. Nykyään se on moderni Visual BASIC, jonka Microsoft on pyrkinyt pitämään ainakin minimaalisesti yhteensopivana jopa BASICien aikaisimpien versioiden kanssa (itse asiassa se on tuskin yhteensopiva), vaikka on olemassa FreeBASIC , joka on ilmainen kääntäjä, syntaksi yhteensopiva QBASIC/QuickBASIC kanssa. .
Muita kaupallisia versioita ovat PowerBASIC :n PowerBASIC, Fantaisie Softwaren PureBasic sekä TrueBASICin TrueBASIC, joka on uusimpien virallisten BASIC-standardien mukainen. (True BASIC Inc.:n perustivat Dartmouth BASICin alkuperäiset luojat.)
REALbasic on versio, joka on saatavilla Mac OS Classicille, Mac OS X:lle, Microsoft Windowsille ja GNU/Linuxille, ja sen ovat julkaisseet Rapid-Q :n nykyiset omistajat , toinen alun perin hylätty BASIC-toteutus. Yksinkertainen murreversio BASICista papukaija-virtuaalikoneelle näyttää kuinka BASIC-tulkki toteutetaan kokoonpanomaisella kielellä. SmallBASIC on murre, joka toimii monilla alustoilla (Win32, DOS, GNU/Linux ja PalmOS) ja tulee GNU-lisenssin ( GPL ) alaisena.
BASIC:sta on olemassa monia ilmaisohjelmia tai GNU -toteutuksia , kuten BCX , YaBasic , HBasic , XBasic , Gambas tai Just BASIC .
Esimerkkejä lähdekoodista
Esimerkki 1: Hei maailma!
TULOSTA "Hei maailma!"
Esimerkki 2: Alkuperäinen strukturoimaton BASIC ( Applesoft BASIC )
10 INPUT "Mikä on nimesi:" ; NN$ 20 TULOSTUS "Tervetuloa 'tähtiin'" ; NN$ 25 TULOSTA 30 INPUT "kuinka monella tähdellä [Zero output] alkaa:" ; N 40 JOS N <= 0 SIIRRY 200 50 AS $ = "" 60 I = 1 - N 70 AS $ = AS $ + "*" 80 SEURAAVA I 90 TULOSTA " TÄSSÄ NE OVAT:" ; AS 100 SYÖTÄ "Haluatko lisää tähtiä: " ; SN$ 110 JOS SN$ = "" SIIRRY 100 120 JOS SN$ <> "S" TAI SN$ <> "s" SIIRRY 200 130 SYÖTÄ " KUINKA MONTA KERTAA HALUAT TOISTAA [Nolla lähtöjä]: " ; KERTAA 140 JOS KERTAILUA < = 0 SIIN SIIRRY 200 150 FOR I = 1 - KERTA 160 TULOSTA $ ; 170 NEXT I 180 PRINT 185 REM Toistaa koko sykli (kommentti) 190 GOTO 25 200 END
Esimerkki 3: Vastaava Structured BASICissa (Quick BASIC)
DEFINT I - N 'Ilmoita kokonaisluku mikä tahansa muuttuja, joka alkaa kirjaimilla I - N iTrue = -1 'Merkitse todelliseksi INPUT "Mikä on nimesi" ; Username$ PRINT "Tervetuloa 'tähtiin'," ; Käyttäjänimi$ DO PRINT "" INPUT "Kuinka monella tähdellä [Zero out] alkaa:" ; NroAsterisks JOS NroAsterisks <= 0 POISTU DOKUMENTTI Asterisks$ = "" FOR I = 1 TO NroAsterisks Asterisks $ = Asterisks$ + "*" SEURAAVA TULOSTA " TÄSSÄ NE OVAT: " ; Asterisks$ DO INPUT "Haluaisitko lisää tähtiä:" ; SN$ LOOP UNTIL SN$ <> "" JOS SN$ <> "S" TAI SN$ <> "s" NIIN POISTU DO 'Output INPUT "KUINKA MONTA KERTAA HALUAT TOISTAA [Zero out]:" ; iTimes JOS iTimes <= 0 NIIN POISTU DO 'Tulostus FOR I = 1 TO iTimes PRINT Asteriskis$ ; SEURAAVA TULOSTAN SILMUKAAN iTrue END : ssä
Katso myös
BASIC-toteutukset
- BasictoPHP
- Dartmouth BASIC
- Pieni PERUS
- Veturi BASIC
- XBasic
- xblite
- Super BASIC
- PluriBASIC
- FreeBASIC
- Gfa-BASIC
- Rapid-Q
- Teho BASIC
- AutoIt
- LSE (kieli)
Microsoftin PERUSTEET:
- vanhoille tietokoneille
- Altair BASIC
- AmigaBASIC
- MESTARI
- Applesoft BASIC
- CommodoreBasic
- MSX-BASIC
- IBM PC DOS : lle
- MS-DOS: lle
- Windowsille _
- Internetiä varten
Mac BASIC:
- MacOS : lle
- Mac BASIC
GNU/Linuxin PERUSTEET :
muut
Viitteet
- ↑ Lyhenne on sidottu Thomas Kurtzin julkaisemattoman paperin nimeen, eikä se ole takanimi, kuten joskus ehdotetaan The Jargon File -julkaisun vanhemmissa versioissa
- ↑ Mono tuo Visual Basic -ohjelmat Linuxiin , Steven J. Vaughan-Nichols, 19. helmikuuta 2007, Linux-Watch.
- ↑ "ACM:n tiedonsiirto" on virheellinen itseviittauksen kanssa ( ohje ) . Englanninkielinen Wikipedia.
|url=
Bibliografia
- KEMENY, JG; THE KURTZ (1986). Strukturoitu BASIC ohjelmointi (englanniksi) . New York, USA: John Wiley & Sons. ISBN 0-471-81087-8 .
- Bennet, P. Lientz (1976). Vertaileva arvio BASIC 19 -versioista . New York, USA: ACM. s. 175-181. ISSN 0001-0782 .
- Gottfries, Byron S. (1984). PERUSohjelmoinnin teoria ja ongelmat . käännös, Guillermo Caro Murillo, Jesús Villamizar Herrera (2. painos). Buenos Aires; Bogota: McGraw-Hill. s. 278 sivua ISBN 968-451-396-8 .
- Kemeny, John G.; Thomas E. Kurtz (1984). PERUSohjelmointi . Meksiko: Cecsa. s. 432 sivua ISBN 968-26-0402-8 .
- Finkel, Leroy; Jerald R. Brown (1986). Datatiedostojen ohjelmointi BASICissa . Meksiko; Argentiina: Lima. s. 361 sivua ISBN 968-18-1889-X . "(Limusan ohjelmoitu ohjesarja)".
- Petroutsos, Evangelos (1999). Visual Basic 6 (1. painos). Anaya Multimedia. s. 864 sivua ISBN 978-84-415-0829-3 .
- Dobson, Rick (2002). Microsoft Sql Server 2000:n ohjelmointi Microsoft Visual Basic .net :n kanssa (1. painos). McGraw-Hill. s. 664 sivua ISBN 978-84-481-3721-2 .
- Halvorson, Michael (2008). Visual Basic 2008 (1. painos). Anaya Multimedia. s. 656 sivua ISBN 978-84-415-2448-4 .