BASIC
BASIC (lyhenne sanoista Beginner's All-purpose Symbolic Instruction Code) oli alkujaan ohjelmointikieli, joka kehitettiin 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 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ä.
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ä. 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. 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ään selvyys: se osasi käsitellä liukulukuja, vaikka tuon ajan suorittimet eivät niitä suoraan tukeneet. Rakenteiseen ohjelmointiin on codice_1-käsky joka hyppää aliohjelmaan ja palaa sieltä codice_2-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 sijaan.
MSX-kotitietokoneisiin tuli luonnollisesti Microsoft version 4.5 BASIC, joka sisälsi käskyt grafiikan ja musiikin tuottamiseen sekä alkeellisen poikkeusten hallinnan (codice_3).
Microsoft jatkoi BASIC:in kehittämistä eteenpäin. 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 1.1–1.3:n mukana toimitettiin myös Microsoftin kehittämä AmigaBASIC. QuickBASICin riisuttu versio ilman kääntäjää toimitettiin 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 perinteisestä rivinumero-BASICista (toimii esimerkiksi useimpien 8-bittisten koneiden tulkeissa):
Vastaavan toiminnallisuuden saa useimmissa BASIC-tulkeissa myös yhdellä rivillä:
Edellisen kaltainen kompakti ohjelmointityyli, jossa välilyöntejä ei käytetä, oli jopa suositeltavaa 80-luvulla niissä BASIC-tulkeissa joissa se oli mahdollista, sillä siten saatiin aikaan vähemmän muistitilaa vieviä ohjelmia. Myös kommentit (jotka alkoivat joko REM tai ' ) jätettiin yleensä pois samasta syystä. Perinteistä siistiä tyyliä välilyönteineen ja kommentteineen näki lähinnä aloittelijoiden ohjelmointioppaissa.
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.