Kaj je računanje in kakšni naj zato bodo stroji, ki znajo računati. To vprašanje je očitno ključnega pomena, čeprav o njem največkrat ne razmišljamo. Večina ljudi je intuitivno prepričanih, da vedo kaj računanje je. Za večino tudi velja, da bi se znašli v težavah, če bi morali pojem računanja natančneje razložiti; vendar zaradi tega v vsakdanjem življenju praktično nikoli nimamo težav. Stvari pa postanejo drugačne, če pričnemo razmišljati o gradnji strojev, ki bi bili sposobni izračunati vse, kar se izračunati da.
Za opravljanje dela, ki mu pravimo računanje, so ljudje večji del svoje zgodovine uporabljali predvsem lastne možgane. V skladu z današnjim načinom govorjenja bi torej lahko rekli, da so bili ljudje sami svoj računalnik. čeprav so se že zgodaj pojavili razni računski pripomočki kot sta npr. abak ali logaritmično računalo, so ti le poenostavili ročno računanje, niso pa ga nadomestili. Ko sta obseg in zapletenost računanja naraščala, sta postali očitni dve resni pomanjkljivosti ročnega računanja.
Gledano s praktičnega stališča sta opisani pomanjkljivosti več kot zadosten motiv za razvoj strojev, ki bi nadomestili ročno računanje. Problem računanja pa je zelo zanimiv tudi s teoretičnega stališča. Že samo razmišljanje o strojih za računanje odpira vprašanje o obstoju računskih strojev, ki bi bili sposobni sami izračunati vse, kar se sploh da izračunati. če želimo odgovoriti na to vprašanje, moramo seveda vedeti (in biti sposobni dobro definirati) kaj pomeni, če rečemo, da se neka stvar da izračunati. Odgovor na to še malo ni preprost in potrebno je bilo veliko dela množice matematikov, da smo prišli do danes veljavnih odgovorov.
Lahko bi rekli, da imamo na eni strani opraviti z vprašanjem, kako narediti in uporabiti stroj, ki bo kar najhitreje in najbolj zanesljivo rešil vrsto problemov. Na drugi strani se zastavlja vprašanje kakšen naj bi sploh bil stroj, ki bi bil sposoben rešiti vse probleme. Prvo vprašanje je bolj, čeprav ne povsem, tehnične narave, drugo pa bolj matematične ali celo filozofske narave. Kot bomo videli v nadaljevanju, smo danes bolj ali manj gotovi, da odgovor na drugo vprašanje poznamo.
Slika: Osnovni elementi ročnega računanja.
Analizirajmo dogajanja pri ročnem računanju, pri katerem se uporabljata svinčnik in papir. Osnovni namen papirja je shranjevanje informacije. Informacija na papirju lahko vsebuje navodila za računanje, oziroma drugače povedano ukaze, ki jih je potrebno izvršiti pri računanju, kot tudi števila, ki se uporabljajo. Prvemu bi danes rekli algoritem ali program, drugemu pa podatki. Med računanjem so vmesni rezultati in nazadnje končni rezultat zapišejo na papir. Računanje samo poteka v možganih, ki bi jih v skladu z današnjo terminologijo lahko imenovali procesor.
če premislimo, kaj delajo možgani pri računanju, ni težko priti do zaključka, da lahko razlikujemo naslednji dve funkciji:
Zgradba s slike je osupljivo podobna zgradbi današnjih računalnikov, ki jo prikazuje naslednja slika. Tu predpostavljamo, da bralec vsaj približno pozna osnove njihovega delovanja.
Glavni pomnilnik računalnika ustreza papirju, ki ga uporablja človek pri ročnem računanju. Centralna procesna enota ustreza možganom in v njej kontrolna enota kontrolni funkciji možganov, aritmetično-logična enota pa izvršilni funkciji možganov. Edina razlika je pravzaprav v škatli z označbo vhod/izhod. Osnovna funkcija vhoda/izhoda je pretvorba informacije iz strojnega jezika, v katerem dela računalnik, v človeški jezik. Ker ljudje uporabljajo naravne jezike s širokim naborom simbolov in običajno števila v desetiški obliki, računalniki pa umetne strojne jezike z običajno binarno predstavitvijo števil, je pretvorba informacije nujno potrebna.
Slika : Zgradba tipičnega današnjega računalnika.
Ugotovimo lahko, da imamo tako pri ročnem računanju, ki ga opravlja človek, kot pri strojnem računanju, ki ga opravlja računalnik, naslednje elemente:
Videti je, kot da so bili današnji računalniki razviti po vzoru na ročno računanje. Tu se takoj zastavlja vprašanje ali je to tudi edina in najboljša rešitev. Drugače povedano, ali bi bilo z drugačno zasnovo mogoče doseči enake ali celo boljše rezultate, oziroma ali z obstoječo rešitvijo sploh lahko vse izračunamo. Odgovor na to vprašanje je ključnega pomena za računalniško znanost. Pomislimo samo kaj bi se zgodilo, če bi nenadoma prišlo do odkritja bistveno drugačno zasnovanih računalnikov, na katerih bi lahko reševali tudi danes nerešljive probleme. Kot bomo videli v nadaljevanju, obstajajo dobri razlogi, da danes v to možnost ne verjamemo preveč.
SERŠ Maribor, Strokovna gimnazija, leto: 2004/05, avtor: Neven Šrok