Legenda (preteklega?) tisočletja

Objavljeno: 30.6.2015 | Avtor: Marko Kovač | Kategorija: Zgodovina | Revija: Julij - avgust 2015

Basic je programski jezik, ki je v sedem- in osemdesetih osvojil svet ter marsikateremu takratnemu mladeniču omogočil hiter skok v svet računalništva. Takratna kombinacija programske in strojne opreme prvih domačih/osebnih računalnikov je ponujala izjemne možnosti razvoja idej, ki je računalništvo izstrelilo v povsem nove orbite, pri čemer je Basic igral pomembno vlogo.

V šestdesetih letih so bili računalniki okorne omare. Izvajali so le po en program hkrati, uporabniki pa so ga dostavljali v obliki luknjanih kartic, ki so jih predali operaterju, in ta jim je čez čas vrnil izpisek programa ali pa tudi ne. V tem času pa so se začeli pojavljati računalniki, ki so lahko hkrati izvajali več nalog, pri čemer so med njimi preskakovali. Ponudila se je možnost, da bi lahko več uporabnikov hkrati delalo z istim računalnikom, povezanim prek terminalov. A zahteva po udobnosti dela je narekovala potrebo po razvitejših programskih jezikih, ki bi olajšali krmiljenje takih računalnikov.

Izumitelja Basica – John G. Kemeny in Thomas E. Kurtz

Izumitelja Basica – John G. Kemeny in Thomas E. Kurtz

Nastanek Basica

S takimi zahtevami sta se spopadala tudi John G. Kemeny in Thomas E. Kurtz na kolidžu Dartmouth v Hanovru, New Hampshire. Kemeny je bil v petdesetih letih celo Einsteinov matematični asistent na Princetonu, po selitvi na Dartmouth pa je hitro postal zvezda tamkajšnjega matematičnega oddelka. V razvoju računalnikov sta videla pomemben učni pripomoček, zato sta menila, da je treba programiranja učiti vse učence, pri tem pa so seveda potrebovali hitro učljiv jezik. Takratna prevladujoča programska jezika – Fortran in ALGOL – sta imela preveč zapleteno skladnjo, da bi jo lahko usvojili vsi. Kemeny in Kurtz sta tako menila, da je za osnove treba vzeti (angleške) besede, ki so logične in ne potrebujejo dodatnega opisovanja, na primer PRINT, LET, IF/THEN in GOTO. Tako je iz Fortanove vrstice DO 100, I = 1, 10, 2 nastal morda ne elegantnejši, a berljivejši FOR I = 1 TO 10 STEP 2. Tako je nastal BASIC, kar je kratica angleškega izraza Beginner's All-purpose Symbolic Instruction Code – programski jezik za začetnike.

Za sprogramiranje Basica sta imela za takratne čase na voljo kar precej prostora – 16 tisoč 20-bitnih znakov. Prva različica je podpirala le 14 ukazov. Prvi zagon progama je bil izveden 1. maja 1964. A ne le to, tistega dne so hkrati pognali več programov in dartmouthski računalnik je računski čas uspešno razporedil med njimi. Ukaz INPUT je bil dodan šele v tretji različici jezika, a s tem so v Basicu napisani programi postali bolj interaktivni. Basic in način deljenja računskega časa, imenovan DTSS, sta bila velik uspeh. Že leta 1967 so ocenili, da je kar 80 odstotkov študentov in celo 40 odstotkov osebja kolidža uporabljalo oba sistema, Dartmouth pa je svoj sistem prek telefonskih kablov razširil še na bližnja Princeton in Harvard.

Želena Basicova preprostost pa je bila tudi precej kritizirana. Kritike so letele predvsem na dve stvari: podporo stavkom Goto, ki omogočajo hiter pobeg iz zank na poljubno mesto, in nestrukturirano programsko koda s številčenjem vrstic. Nekateri kritiki so bili tako ostri, da so tako rekoč hoteli izganjati Basic iz glav mladih študentov. Četudi so bile kritike marsikdaj upravičene, pa je prav popularnost Basica omogočila, da je veliko število mladih sploh začelo programirati. A najprej so potrebovali računalnike. Eden prvih domačih računalnikov je bil MITS Altair 8800, ki je bil širši javnosti predstavljen konec leta 1974 na naslovnici revije Popular Electonics. Navkljub preprostosti (računalnik ni imel zaslona, ampak le nekaj LED-diod, ki so kazale stanje) je v krogih nadobudnih računalničarjev povzročil pravi val navdušenja. Dva mlada programerja, Bill Gates in Paul Allen, sta v navdušenju takoj pisala lastniku podjetja MITS s predlogom za prevajalnik za programski jezik Basic, ki ga sploh še nista napisala. Naslednjih osem tednov je šlo v anale računalniške zgodovine – Gates in Allen sta brez premora pisala programski jezik, pri čemer sta se zanašala na Altairov emulator, ki sta ga morala predhodno spisati za harvardski računalnik PDP-10. Gates je bil znan po impulzivnem programiranju. Pred zaslonom je tako preživel po več ur skupaj z občasnim dremanjem v enakem položaju, ob prebuditvi pa je bil sposoben takoj nadaljevati delo. Oba mladeniča sta med seboj tekmovala, kdo lahko posamezne rutine spiše v manj vrsticah, saj je bil Altairjev pomnilnik omejen, konec februarja 1975 pa sta celoten jezik stisnila v 3,2 KB prostora, tako da je računalniku ostalo še nekaj prostora za programe. Gates je še zadnjič poskušal najti napake, potem pa je program izvozil na luknjani trak, ki ga je Allen (ki je bil videti za kako dlako bolj odrasel) odnesel v MITS. Trak so včitali v računalnik, in ko so se že bali najhujšega, je tiskalnik izpisal vprašanje o velikosti pomnilnika. Po vpisu številke »7168« je Altair stoično odgovoril z »OK.« Allen je nato vpisal PRINT 2+2 in računalnik je izpisal številko »4.« Podobno spretno kot k pisanju programa sta pristopila tudi k pogodbi. MITS je dobil le pravico prodajati Basic, ki je ostal v njuni lasti. Tudi zaslišanje na Harvardu glede tega, da je dragocen računski čas na PDP-10 porabljal neki W. H. Gates, je šlo v njuno korist. Gates je spisal učinkovito obrazložitev, tako da sta morala javni lasti prepustiti le razvojno različico svojega Basica. Njuno skupno podjetje Micro-Soft (kasneje Microsoft) ga je kasneje pod svojim imenom ponudilo številnim računalnikom.

QBasic

QBasic

Luknjani trak, na katerem je zapisan prvi Micro-Softov Altair Basic.

Luknjani trak, na katerem je zapisan prvi Micro-Softov Altair Basic.

Druga generacija

Naslednja leta so bila zlata leta Basica. Pohod domačih računalnikov konec sedemdesetih in v začetku osemdesetih je ta preprosti programski jezik prinesel malodane v vsak dom. Takratni računalniki niso imeli operacijskih sistemov, kot jih poznamo danes, temveč so se prebudili, čakajoč uporabnikovih ukazov, seveda v Basicu. Uporabnik je lahko začel pisati svoj program, in čeravno se je večina odločila za nalaganje programa, verjetno igre, je par nadobudnežev res začelo programirati in spoznavati čudoviti svet iskanja programskih hroščev. V tistem obdobju je vsak proizvajalec elektronike moral predstaviti svoj model računalnika in malodane na vseh je bil glavni jezik Basic, kar je pomenilo tako razširitev kot tudi nestandardizacijo, saj je vsak jezik prirejal nekoliko po svoje. Ta povezanost z domačimi računalniki in nestandardnost pa sta Basicu dolgoročno škodila, saj so se v akademskih krogih še vedno oklepali Fortrana in Pascala. Čeravno noben Basic ni bil ravno programerski raj, je njegova vseprisotnost omogočila številnim otrokom, da so začeli spoznavati programiranje in algoritme.

Paul Allen in Bill Gates

Paul Allen in Bill Gates

Čudoviti (in prepleteni) svet računalniških jezikov

Čudoviti (in prepleteni) svet računalniških jezikov

S prihodom računalnikov IBM PC in širokega razmaha klonov je Basic prešel v novo generacijo. Število ukazov se je pomnožilo, omogočal je delo tako z grafiko kot tudi zvokom. Pomembni prednosti nove generacija sta bili podpora podprogramom in strukturiranost, številke vrstic v GOTO-stavkih pa so nadomestile oznake. Vendar pa to ni zajezilo številnih narečij – od IBM PC Basica, prek Basice in GW-Basica do QuickBasica, pri čemer je slednji podpiral ločljivosti VGA. Popularnost prevajalnika QuickBasic je Microsoft prepričala, da je kasnejšim operacijskim sistemom DOS dodajal tolmača QBasic. Slednji je na koncu svojega veka celo delil prostor z Windowsi, ki so še sloneli na DOS (od Windows 95 pa vse do Me). Omeniti pa je treba še Borlandov Turbo Basic, ki je nastal pod vplivom uspehov Turbo Pascala, čeravno ni ponovil njegove priljubljenosti. Bazična kakofonija pa je razburila celo izumitelja Basica, ki sta v različnih narečjih videla prepreko za učenje in zato naredila svoje narečje – True Basic.

V tretje gre rado

Basicu druge generacije je zadal smrtni udarec nihče drug kot Steve Jobs, saj leta 1984 predstavljeni Macintosh ni imel priloženega Basica. Uporabnik ga je lahko kupil posebej, a sodobni grafični operacijski sistemi so počasi začeli prevzemati nadzor nad računalniki. Tako tudi novejši Windowsi NT niso več imeli priloženega Basica, saj je ta še vedno živel v svetu DOS. A potrebe po novih programih so naraščale, namesto Basica pa so zahtevnejši uporabniki posegli po drugih orodjih, na primer po prej omenjenem Turbo Pascalu za Windowse. Microsoft, ki ni skrival želje po prevladi tudi na ožjem programerskem področju, se je na to leta 1991 odzval z izdajo programskega jezika Visual Basic (VB) in okolja Visual Studio. Microsoft je s tem hotel narediti programski jezik, ki bi bil lahko učljiv, hkrati pa bi podpiral objektno programiranje in močnejšo integracijo v (tudi Microsoftov) operacijski sistem. VB je bil precejšen uspeh, tako da je Microsoft zgodbo hitro nadaljeval in podobno narečje – Visual Basic for Applications (VBA) – vgradil tudi v pisarniško zbirko Office. Programi v njej so sicer podpirali skriptni jezik, a ta ni bil enoten, VBA pa je omogočil enotnost in hkrati tudi uporabo podprogramov iz drugih del zbirke, kar je uporabnost celotne zbirke za zahtevnejše uporabnike dvignilo na novo raven. Da bi znotraj okvirov VB obdržal čim večji delež programerjev, je leta 2005 izdal brezplačen, a nekoliko okleščen Visual Basic Express.

Visual Basic

Visual Basic

Še prej, leta 2002, pa je Microsoft nadgradil platformo VB oziroma jo vgradil v .NET framework, ki tako podpira tudi jezik VB.NET. Mnenja, ali gre pri tem za popolnoma nov programski jezik ali pa le za (temeljito) nadgradnjo, so deljena. Toda VB.NET je programski jezik za razvijalce in ni več jezik, namenjen začetnikom, morda tudi zato njegova popularnost usiha, saj s preprostimi ukazi, kot so LET, GOTO in PRINT, nima prav veliko skupnega. Ljubiteljem preprostosti se je Microsoft oddolžil z močno poenostavljen programskim jezikom Small Basic, ki nadobudnežem omogoča spoznavanje s programiranjem, hkrati pa ima tudi nekaj skupnih točk z novejšimi in večjimi brati, tako da preskok na resnejše programiranje ne pomeni čisto novega začetka.

V zadnjih nekaj letih pomen programiranja oziroma poznavanja algoritmov spet narašča. Za njegovo popularizacijo se je zganil celo ameriški predsednik, ki je napisal par, resda preprostih, programskih vrstic. Prav tako so to šolsko leto v prve razrede osnovnih šol po Združenem kraljestvu uvedli spoznavanje osnov algoritmov in programiranja. Čeravno Basic morda ni več edini in kaj šele najlažji začetek programiranja, sta osnovni izhodišči, ki sta pred dobro polovico stoletja vodili izumitelja Kemenyja in Kurtza – preprostost in hitra učljivost – še vedno na prvem mestu. 

Naroči se na redna tedenska ali mesečna obvestila o novih prispevkih na naši spletni strani!
Prijava

ph

Komentirajo lahko le prijavljeni uporabniki