Nastanak i razvoj BASIC-a (I deo)

Na Univerzitetu Dartmouth, 1965. godine, dva profesora John Kemeny i Thomas Kurtz razvila su „Beginner“s All-purpose Symbolic Instruction Code“ ili skraćeno BASIC. BASIC je prvenstveno bio razvijen zbog potrebe interaktivnosti programskih jezika. Ova interaktivnost znači da programeri mogu da unose komande i da odmah potom iskuse rezultate obrade. Umesto dotadašnje potrebe korišćenja kartica, studenti ova dva profesora koristili su terminale, gde su nakon unosa programskog koda izdavali naredbu „Run“, a rezultati obrade su mometalno bili štampani na štampačima. Prednost ovih instantnih rezultata je u davanju velike slobode programerima u smislu eksperimentisanja, što je omogućilo ostvarenje novih ideja.

Kasnih sedamdesetih godina prošlog veka, u većim količinama su prodati prvi personalni računari od strane kompanija kao što su Apple, Commodore i Atari, a svaki od njih imao je sopstvenu verziju BASIC interpretera smeštenog u RAM memoriju. Tada se pojavila mala kompanija „Microsoft“, koja je tržištu ponudila svoju verziju BASIC-a, ali ta verzija se, za razliku od prethodnih, učitavala u RAM memoriju računara. Mnogi korisnici su se okrenuli BASIC-u jer se odlikovao jednostavnošću i lako se učio; takođe su provodili sate i sate vremena prekucavajući BASIC listinge iz magazina i knjiga.

Vremenom su programeri postajali sve razočareniji sporošću BASIC-a, a sporost je dolazila od toga što su programi interpretirani, a ne kompajlirani. To znači da se svaka programska instrukcija sukcesivno prevodila i izvršavala, pa su rezultati jako sporo dobijani. Naravno, postojali su tu i drugi problemi. BASIC takođe nije bio podesan i za strukturno programiranje, jer su sve varijable bile globalne, a i nije bilo moguće izvesti i samostalne procedure i module koji su potrebni za strukturno programiranje. Sredinom osamdesetih „Microsoft“ je pokušao da reši postavljene probleme sa verzijom QuickBasic, jezikom koji je bio više kompajlerski nego interpreterski. QuickBasic podržava sledeće:

  • procedure – rutine za višestruku upotrebu unutar programa
  • module – rutine za višestruku upotrebu koje se ne nalaze u glavnom programu
  • korisnički definisane funkcije – rutine za višestruku upotrebu koje mogu da prihvate parametre i vrate vrednosti

Za razliku od ranijih programa koji su se izvršavali od početka do kraja, sada se program mora „razbiti“ u funkcije, što je programe činilo manjim i više efikasnim. Osim toga, QuickBasic je ponudio i integrisano programsko okruženje – što znači da su programeri mogli da preuređuju, kompajliraju i pokreću programe iz istog ekrana.

Pratite Krstaricu na www.krstarica.com