Tragom DOPE -a, prvog računarskog jezika za normalne ljude

DOPE je ostao nepoznat jer je bio uspešan

BASIC zauzima važno mesto u kanonima računarskog prog RAM iranja. Ovaj prog RAM ski jezik, veoma popularan sedamdesetih i osamdesetih godina prošlog veka, uveo je jednu celu generaciju u računarstvo. Bio je sveopšte prihvaćen iz jednog jednostavnog razloga, a to je da BASIC nije bio namenjen prog RAM erima, već napravljen za početnike. Jezik se dobro uklapao u egalitarni pogled na svet ranih kućnih računara. Ako ste mogli da kucate, mogli ste da postanete korisnik računara, a ako ste mogli da postanete korisnik računara, mogli ste da postanete prog RAM er. BASIC nije došao niotkuda. Kao i svaki drugi jezik, i on ima porodično stablo zajedno sa korenom i bliskim i daljim rođacima. Potomke BASIC -a je prilično lako uočiti – Visual BASIC mu je prilično dalek potomak – ali što se tiče njegovih predaka, to je sasvim druga priča, koja je poznata tek nekolicini ljudi. Jezik koji je inspirisao jednu celu generaciju, u stvari, ima predaka koji se zove Dartmouth Oversimplified Prog RAM ming Experiment или DOPE .

Šta je DOPE i kako se uklapa u širu priču o BASIC -u?

Istoriju računarstva je lako sažeti u smislu problema. U korporativnom jeziku kompanije IBM , najgori problemi su se nekada zvali zmajevi, čudovišta koja su prog RAM eri morali da ubiju. U najranijim danima rada na računaru, jedan od najvećih zmajeva bila je pristupačnost, odnosno, kako uopšte podstaći ljude da koriste računare. Rani računari su, sami po sebi, bili ogromne zveri, skupe i teške za upotrebu. Prog RAM eri najčešće nikada nisu ni došli u dodir sa računarima. Umesto toga, izbacivali bi gomile bušenih kartica koje bi tehničari pažljivo ubacivali u dobro zaštićene mašine.

Računar je bio novina u izolaciji. Brujao je, sređivao brojeve i zagrevao prostorije. Da bi računari postali korisni, bili su im potrebni ljudi, što više njih, to bolje. Iako je tehnologija znatno napredovala pedesetih godina prošlog veka, jednostavno nije bilo dovoljno ljudi koji bi ih je masovno koristili. Nikada nije bilo sporno da će računari biti budućnost. Pitanje je bilo kako će se ta budućnost razvijati. Pojavili su se prog RAM ski jezici. FORTRAN , ALGOL i pregršt drevnih dijalekata koji vuku korene iz tog perioda. Cela poenta u razvoju FORTRAN -a bila je da računarstvo učini pristupačnijim ne-računarskim stručnjacima. Ključna reč ovde su stručnjaci. Ako sledite FORTRAN -ovu logiku, računari su alat za istraživanje, nešto što se koristi u laboratoriji. Pored toga, iako je FORTRAN važna aplikacija, ipak je ograničena. U suštini, stručnjaka je malo. Srećom, bilo je malo i poklonika FORTRAN -ove vizije budućnosti.

Tada se pojavljuju ubice zmajeva iz naše priče: Džon Kemeni i Tomas Kurc. Kemeni je bio dugogodišnji predsedavajući odseka za matematiku na koledžu Dartmut, a Kurc je bio njegov kolega. Tokom Drugog svetskog rata, Kemeni je bio uključen u projekat Menhetn kao matematičar. Početkom 1945. godine njegov posao je urađen pomoću glomaznih IBM mašina za tabulaciju. Krajem godine, prvi elektronski digitalni računari su postali operativni, a Kemeni je iz prve ruke bio svedok njihovog uticaja na projekat Menhetn. Sledeće godine Kemeni je napisao svoj prvi prog RAM . Tomas Kurc se pojavio malo kasnije. Kurc je 1951. godine, prisustvovao jednom od letnjih seminara na Univerzitetu Kalifornija, gde je prvi put video računar koji radi. U to vreme pohađao je diplomski prog RAM iz matematike na Prinstonu. Čim je naučio da prog RAM ira, računarstvo je postalo sastavni deo njegove karijere. Obojica su se sami uverili kako im računari menjaju život i shvatili su da se tehnologija tu neće zaustaviti. Kad bi računari postali bolji i rasprostranjeniji, budućnost bi bila digitalna.

Okruženi mladim i impresivnim umovima, njih dvojica su sebi postavili zadatak da nauče svakog studenta u Dartmutu kako da koristi računar. Studenti tehničkih fakulteta već su bili u dodiru sa računarima, bar u ograničenom smislu, ali to je bio samo deo studentske populacije. Kako da naučite studenta da razgovara sa računarom? Naravno, računari će svima promeniti sve. To je lepo reći na predavanju, ali kako upoznati studente sa mašinama?

To će, konačno, dovesti do nastanka BASIC -a. Za razliku od svojih savremenika, BASIC je napravljen za ne-naučnike i za ne-prog RAM ere. Uklonjene su nepotrebne konstrukcije, pojednostavljeni su podaci, sintaksa je svedena na minimum. Konačni jezik bio bi remek-delo suzdržanosti. To nije jezik koji bi prog RAM erima prirastao za srce, ali većina običnih ljudi bi ga lako naučila.
Moćnije funkcije odbačene u korist jednostavnosti, što je bio nedostatak Objekti, apstrakcija, čak i unos promenljivih, ne postoje. BASIC nudi samo ono najnužnije. U kampusu je BASIC bio hit. Profesori su jezik integrisali u časove, a učenici su ga rado usvojili. Prelazak na kućne računare bio je neizbežan. BASIC je postao uvod u digitalno carstvo za milione.

Najmerodavniji izvor o razvoju BASIC -a je knjiga Back to BASIC: The History, Corruption, and Future of the Language, čiji su koautori sami Kemeni i Kurc. Tu se spominje DOPE . Tokom kasnih pedesetih i ranih šezdesetih, njih dvojica su pokušavali da studente upoznaju sa računarima i tražili prog RAM ski jezik za apsolutnog početnika. Kada su se postojeći jezici pokazali neprikladnim za taj zadatak, prešli su na stvaranje novog prog RAM skog jezika. Odeljenje za matematiku u Dartmutu bilo je opremljeno računarom LGP -30, relativno jeftinom i slabom mašinom. Ukupno je imao 30 kilobajta RAM memorije. Taj računar je bio svedok i nekih čudnih eksperimenata. DOPE je bio jedan od tih eksperimenata, ali u knjizi su dati samo šturi podaci. Na početku se spominje prog RAM ski jezik DOPE kao preteča BASIC -a.

Kako radi DOPE ?

Ima malo dostupnih informacija o DOPE -u. U knjizi Tomasa Kurca History of Prog RAM ming Languages postoji mali deo koda, odnosno nekoliko redova DOPE -a, nedovoljno za razumevanje jezika, ali dovoljno da potvrdi njegovo postojanje. DOPE je razvijen 1962. godine i obrađivao se samo tokom jednog semestra na jednom času matematike nedeljno. Postoji i rukopis u kome je dat kratak opis prog RAM skog jezika. Postoji i rad o DOPE -u koji nikada nije objavljen. Naravno, ne treba zaboraviti da je DOPE bio samo eksperiment, a studenti zamorčići u procesu stvaranja boljeg prog RAM skog jezika.

Vratimo se BASIC -u, koji je stekao popularnost jer ga je bilo lako primeniti. Jezik je strukturiran tako da kompilaciju učini jednostavnom, odnosno BASIC na Dartmutu prati vrlo strogu strukturu sintakse. Svaki red BASIC -a započinje brojem, posle koga ide operacija, pa argument. Jednostavno je, lako se raščlani na računaru i početnici ga lako pišu. S druge strane, svaki red u DOPE -u počinje brojem reda, zatim ide operacija, pa argument. Odatle je BASIC dobio svoju strukturu. Međutim, dok BASIC blago odstupa od krutog formata, DOPE je mnogo sažetiji, najverovatnije zbog ograničenog hardvera na kojem je razvijen. Većina operacija je jedan znak, svaki red može izvesti samo jednostavnu operaciju, liste argumenata su ograničene dužine.

Ipak, postoje neki ozbiljniji problemi u DOPE -u. Promenljive su osnova svakog prog RAM skog jezika, tu čuvate i rukujete podacima. To je takođe još jedna karakteristika DOPE -a koja direktno nagoveštava uvođenje BASIC -a. DOPE ima vrlo posebnu vrstu sistema za unos. Svaka promenljiva je broj sa pokretnom zapetom. DOPE ima četiri posebne promenljive pod nazivom E, F, G i H. To je 16 nizova elemenata, lista koje mogu da sadrže do 16 brojeva. Kada radite sa DOPE -om, morate samo da zapamtite da su te četiri promenljive različite. U DOPE -u ne postoje nizovi, ne možete da čuvate niti rukujete rečima или slovima. Skoro svaki drugi prog RAM ski jezik može na neki način da obradi nizove, tako da je ovo ograničenje prilično primetno.

Pošto se sve promenljive čuvaju kao decimalni brojevi, svaki uneti broj se konvertuje. Postavite promenljivu na 1 i DOPE pretvara to u 1.000. Kada odštampate promenljivu, DOPE shvata najrazumniji format i prikazuje ga. Dakle, ako decimalni broj nema ništa iza decimalnog zareza, prikazuje se bez decimalnog mesta. Za ozbiljnijeg prog RAM era ovo bi trebalo da zvuči kao košmar.  DOPE oduzima svaku kontrolu nad tipovima podataka samo zbog toga što nema tipove podataka, a prog RAM eri ne vole da se odriču kontrole. 

Ovaj jezik nije ni bio namenjen prog RAM erima, već studentima engleskog jezika koji nisu znali razliku između celog broja 1 i decimalnog broja 1. Napravljen je za upotrebu na fakultetima društvenih nauka koji nikada ranije nisu videli računar. Čudan sistem unosa u DOPE -u značio je da možete da podučavate prog RAM iranje bez upoznavanja studenata sa tipovima podataka. Umesto da profesor objašnjava suptilne razlike između 1,0 i 1, odmah se kreće sa radom. Neupućenima te razlike nisu toliko važne i zbog toga se ne treba njima ni baviti. Poslednji deo DOPE -a koji treba spomenuti, takođe, je jedan od ključnih delova BASIC -a: brojevi redova. Svako ko zna BASIC или je video kako funkcioniše, biće mu poznata ova sintaksa. Svaki red ima broj koji je ujedno i oznaka i način uređivanja prog RAM a. Kada su brojevi redova izričito definisani, prog RAM er daje naziv svakom delu koda. DOPE takođe koristi brojeve redova, ali na ograničeniji način. Svaki red ima strogo utvrđeni broj, počinje od 1 i ide do 99. Nemate kontrolu nad brojevima redova u DOPE -u, ali svaki broj ima svoju oznaku. To nisu samo površni brojevi redova. Oni ga čine potpuno razvijenim prog RAM skim jezikom.

DOPE -ovo nasleđe

DOPE dobro funkcioniše u matematici i ne može se koristi ni za šta drugo. Izračunavanje vrednosti u tabelama je jednostavno. Pokretanje petlje za prikazivanje liste korena или kvadrata je jednostavno. Može da savlada i veće jednačine. Postoji određeni postupak za pretvaranje jednačina u jednostavne operacije, to jest ako imate malo strpljenja. Ako se odmaknete od jednostavne matematike, suočavate se sa problemima.  Ako pokušate da napravite igru pogađanja brojeva, nailazite na zid generisanja slučajnih brojeva. To ograničenje na jednostavnu matematiku nije nužno loše. Matematičari su jezik razvili kao način da se potpuni početnici uvedu u računarstvo. DOPE nije jezik koji bi mogao da vam obezbedi uspešnu karijeru niti napredovanje, ali nikada nije ni imao tu namenu. Dovoljno je bilo da se studentima pokaže šta je računar, kakve probleme računar može da reši i kako prog RAM er može da ih reši.

Dakle, zašto skoro niko nije čuo za DOPE ? Da li je to samo neuspeli prog RAM ski jezik? Možda i nije. DOPE je ostao skriven jer je postigao uspeh. Na kraju krajeva, E znači eksperiment, a posle jednog semestra u Dartmutu, eksperiment je krenuo svojim tokom. Ideje u DOPE -u su odradile svoj posao tako da su Kemeni i Kurc mogli da nastave istraživanje. BASIC je direktan rezultat uspeha DOPE -a. BASIC je bio uspešan u učionicama i na kućnim računarima jer je bio jednostavan. Lako se učio, lako primenjivao i bilo ga je lako razumeti. DOPE nije opstao, ali osnovni koncept je bio dovoljno dobar da iznedri BASIC .

6290-tragom-xa-dope-xa-a-prvog-racunarskog-jezika-za-normalne-ljude