Zgodovina raèunalni¹tva

RAZVOJ PROGRAMIRANJA


SLIKA PRVE PROGRAMERKE ADE BYRON PRVI PROGRAMER.

Pri vsakem raèunalniku s shranjenim programom je pred prièetkom dela potrebno program iz nekega zunanjega medija prenesti v glavni pomnilnik. Zunanji medij je bil pri prvih raèunalnikih luknjani trak ali luknjane kartice, danes pa je najveèkrat magnetni disk. Pri vsakem raèunalniku obstaja nek naèin, s katerim se rogram nalo¾i v glavni pomnilnik. ¾e pri EDSACu je bil ta naèin izveden s pomoèjo majhnega ¹tevila v pomnilniku permanentno shranjenih ukazov. Ti ukazi so ob pritisku na vnaprej doloèeno tipko poskrbeli za prenos programa in zaèetek njegovega izvajanja. Zamisel, da stroj sam pomaga pri nalaganju svojih programov, so kasneje prièeli oznaèevati kot bootstrap (vezalka za èevlje) ali kraj¹e boot. S tem se ¾eli reèi, da raèunalnik sam sebe naredi sposobnega za delo tako kot èlovek, ki sam sebe postavi na noge tako, da se vleèe za vezalke na èevljih. V sloven¹èini se to sli¹i nekoliko èudno, v angle¹èini pa se ta izraz uporablja pogosto tudi na drugih podroèjih.

In kako je potekalo pisanje programov? Programer je moral dobro poznati arhitekturo stroja, na katerem je delal. Èe je ni, preprosto ni mogel delati. Programskih orodij kot so operacijski sistemi, urejevalniki, zbirniki, prevajalniki, interpreterji in podobno, ni bilo. Programiranje je potekalo v strojnem jeziku z znaki 0 in 1 na naèin, ki ga bomo ilustrirali na primeru preprostega programa za IAS. Vzemimo, da ¾elimo izraèunati izraz c=a+b+axb, in da sta spremenljivki a in b shranjeni na naslovih 10 in 11, rezultat c pa na naslov 12. Dalje vzemimo, da se program shrani v pomnilnik od naslova 0 naprej.

Tabela prikazuje programa za izraèun izraza c=a+b+axb na raèunalniku IAS.

UkaziKomentar
11001010000000001010L10A <- a
11001000000000001011A11A <- a+b
10101000000000001100S1212 <- a+b
11001100000000001010R10MQ <- a
11000110000000001011M11A <- a*b
11001000000000001100A12A <- a*b+a+b=c
10101000000000001100S1212 <- c
   
a) program v strojnem jezikub) program v simboliènem jeziku 

Program je podan v dveh oblikah:

a) kot zaporedje znakov 1 in 0, ki se shrani v pomnilnik, in ki ga razume raèunalnik - temu danes pravimo strojni jezik
b) v obliki simboliènega zapisa - temu danes pravimo zbirni jezik.
V veèini primerov je programiranje potekalo takole: programer je program napisal najprej v simboliènem jeziku in ga nato roèno prevedel v zaporedje 0 in 1. V preprostih primerih je programer zaporedje 0 in 1 obièajno zapisal takoj brez simboliène oblike. To zaporedje je prenesel v ustrezno zaporedje luknjic na karticah in program je bil pripravljen za izvajanje.

V letih do nekako 1953 in tudi kasneje je bil za veèino ta naèin programiranja nekaj samoumevnega in ni povzroèal veèjih te¾av. Veèina programerjev je bila sposobna zaporedja nièel in enic brati skoraj enako dobro kot simbolièni zapis. Isto je veljalo za branje luknjic na karticah ali trakovih. Leta 1949 je v Cambridgu na raèunalniku EDSAC ¾e tekel program, ki je pretvarjal programe iz simboliènega jezika v zaporedje 0 in 1 ( v strojni jezik ). Takemu programu danes pravimo zbirnik. Tudi do realizacije prevajalnikov za tako imenovane vi¹je programske jezike, v katerih se problem lahko opi¹e v obliki, ki je podobna matematièni, ni bilo daleè. ¾e leta 1945 je Zuse definiral prvi programski jezik Plankalkul, ki ni bil realiziran. Naslednji korak je predstavljal jezik ShortCode, ki ga je predlagal J. Mauchly in je leta 1950 tekelna raèunalniku UNIVAC I. Leta 1953 so pri firmi IBM razvili jezik Speedcoding, ki je tekel na IBM 701. Tako kot ShortCode kot Speedcoding sta bila za dana¹nje èase primitivna in se nista obdr¾ala. Prvi od ¹e danes uporabljanih vi¹jih programskih jezikov je bil FORTRAN, ki so ga prièeli razvijati pri IBMu leta 1954, in je kot FORTRAN I tekel na IBM 704 leta 1957. Temu so do konca 1950-ih let sledili ALGOL, COBOL, JOVIAL, APT in LISP, kasneje pa ¹e mnogo drugih.

NAZAJ  KAZALO  NAPREJ