BASIC

ohjelmointikieli

BASIC (lyhenne sanoista Beginner's All-purpose Symbolic Instruction Code[2]) on ohjelmointikieli, joka kehitettiin alkujaan Dartmouth Collegessa vuonna 1964 ohjelmoinnin alkeiden opetukseen. Siihen aikaan ohjelmat täytyi usein ohjelmoida itse, ja BASIC suunniteltiin sellaiseksi, että sen voisi oppia ilman matemaattis-luonnontieteellistä taustaa. Kieli oli epärakenteellinen, mutta myöhemmät yleisesti käytetyt murteet ovat tehneet kielestä rakenteellisen ja proseduraalisen sekä lisänneet olio-ohjelmoinnin ominaisuuksia.

BASIC
Paradigma epärakenteellinen, proseduraalinen
Tyypitys staattinen
Muistinhallinta automaattinen
Julkaistu 1964
Kehittäjä John George Kemeny, Thomas Eugene Kurtz
Merkittävimmät toteutukset Visual Basic, REALbasic, QuickBASIC, Gambas
Vaikutteet

ALGOL 60[1],

FORTRAN II
Vaikuttanut Visual Basic.NET
Murteet Useita
Käyttöjärjestelmä Useita

BASIC on säilyttänyt suosionsa useiden eri murteiden muodossa ja vaikuttanut uudempiin ohjelmointikieliin kuten Microsoftin Visual Basiciin ja sen .NET-versioon. Vuonna 2006 59 % .NET:in käyttäjistä ohjelmoi vain Visual Basic.NETillä.[3]

Historia

muokkaa

BASIC oli suosittu kieli etenkin 1980-luvulla, kun lähes jokaisessa kotimikrossa oli BASIC-tulkki joko sisäänrakennettuna tai oheisohjelmana. BASICin suosio kotitietokoneissa on jäljitettävissä Stanfordin yliopiston lehtori Dennis Allisonin julkaisemaan Tiny BASIC -ohjelmointikielen määritelmään ja haasteeseen, joka julkaistiin 1975 People's Computer Company -uutiskirjeessä (myöhemmin Dr. Dobb’s Journal). Harrastajat toteuttivat Tiny BASICin useille eri suorittimille ja tietokoneille ja julkaisivat ne lähdekoodeineen.

Useimmat suositut BASIC-versiot niin 8-bittisissä kuin kehittyneemmissäkin koneissa ovat Microsoftin kehittämiä ja polveutuvat Paul Allenin ja Bill Gatesin Altair 8800:lle vuonna 1975 kirjoittamasta Altair BASIC -tulkista, joka oli ensimmäinen Microsoftin julkaisema tietokoneohjelma.[4] Esimerkiksi Commodoren PET- ja Commodore 64 -koneissa käyttämä BASIC perustui Jack Tramielin 1970-luvulla Bill Gatesilta kertamaksulla ostamaan Microsoftin 6502-BASICiin. Microsoftin BASIC oli kehittynyt ja sisälsi ominaisuuksia, jotka eivät olleet itsestäänselvyys: se osasi käsitellä liukulukuja, vaikka tuon ajan suorittimet eivät niitä suoraan tukeneet. Rakenteiseen ohjelmointiin on GOSUB-käsky, joka hyppää aliohjelmaan ja palaa sieltä RETURN-käskyllä. Merkkijonot ovat objekteja, joiden muisti vapautetaan automaattisesti. Tämän vuoksi Apple lisensoi Microsoftin BASICin Apple II+ -koneeseensa aiemman vain kokonaislukujen käsittelyyn pystyneen tulkkinsa tilalle. MSX-kotitietokoneisiin tuli luonnollisesti Microsoftin BASIC-versio 4.5, joka sisälsi käskyt grafiikan ja musiikin tuottamiseen sekä alkeellisen poikkeusten hallinnan (ON ERROR GOTO).

Microsoft jatkoi BASIC:in kehittämistä. IBM PC -koneen mukana tuli Microsoftilta lisensoitu BASICA-tulkki, ja MS-DOSin mukana sen kanssa yhteensopiva GW-BASIC-versio.

Vuonna 1985 Microsoft julkaisi QuickBASIC-kääntäjän. Tässä vaiheessa rivinumeroiden pakollisesta käytöstä luovuttiin. Commodoren Amiga-koneiden AmigaOS-versioiden 1.1–1.3 mukana toimitettiin myös Microsoftin kehittämä AmigaBASIC. QuickBASICin riisuttu versio ilman kääntäjää tuli viimein MS-DOS 5.0:n mukana nimellä QBasic.

Nykyään muita suosittuja BASIC-ohjelmointikieliä Microsoftin Visual Basicin lisäksi ovat alustariippumattomissa ympäristöissä tunnettu REALbasic sekä pelikehitykseen suunnatut CoolBasic, DarkBASIC ja BlitzBasic, joista jälkimmäisin julkaistiin jo Amigalle ja jota käytettiin mm. ensimmäisen Worms-pelin kehittämiseen.

Esimerkki

muokkaa

Esimerkki perinteisestä rivinumero-BASICista (toimii esimerkiksi useimpien 8-bittisten koneiden tulkeissa):

5 REM Tämä ohjelma arvuuttaa lukua
10 PRINT "Arvaa luku";
20 INPUT A
30 IF A=42 THEN GOTO 50
40 PRINT "Väärin" : GOTO 10
50 PRINT "Oikein!"
60 END

Vastaavan toiminnallisuuden saa useimmissa BASIC-tulkeissa myös yhdellä rivillä:

1INPUT"Arvaa luku";A:IFA=42THEN?"Oikein!"ELSE?"Väärin":GOTO1

Jälkimmäisen esimerkin kaltainen kompakti ohjelmointityyli, jossa välilyöntejä ei käytetä, oli jopa suositeltavaa 80-luvulla niissä BASIC-tulkeissa, joissa se oli mahdollista, sillä siten ohjelmat veivät vähemmän muistia.lähde? Myös kommentit (jotka alkoivat joko REM tai ') jätettiin yleensä pois samasta syystä.lähde? Perinteistä siistiä tyyliä välilyönteineen ja kommentteineen näki lähinnä aloittelijoiden ohjelmointioppaissa.

Kritiikki

muokkaa

Etenkin perinteisiä rivinumero-BASICeja on kritisoitu siitä, että niiden puutteelliset rakenteelliset ominaisuudet totuttavat aloittelevan ohjelmoijan kirjoittamaan niin sanottua spagettikoodia, jossa mielivaltaisiin paikkoihin sijoitettujen ohjelmanpalasten välillä hypitään GOTO-käskyillä. Vaikka nykyiset BASICit ovatkin rakenteellisilta ominaisuuksiltaan monipuolisempia, ei kielen huono maine ole vieläkään täysin hävinnyt.

Katso myös

muokkaa

Lähteet

muokkaa
  1. Harsu, Maarit: Ohjelmointikielet – Periaatteet, käsitteet, valintaperusteet, s. 20. Helsinki: Talentum, 2005. ISBN 952-14-0981-9
  2. Raymond, Eric: The Jargon File (WWW) catb.org. Viitattu 27.2.2013. englanniksi
  3. Vaughan-Nichols, Steven: Mono brings Visual Basic programs to Linux (WWW) linuxfordevices.com. 20.2.2007. Viitattu 27.2.2013. englanniksi
  4. Randy Alfred: April 4, 1975: Bill Gates, Paul Allen Form a Little Partnership 4.4.2008. Wired. Viitattu 235.2019. (englanniksi)

Aiheesta muualla

muokkaa

Kääntäjiä

muokkaa
  NODES
Intern 4
os 35
visual 8