Kotisivu | Edellinen sivu | Ylös | Seuraava sivu


Lausekielet


Myös assembly-ohjelmointi on hankalaa ihmisen kannalta.

  • Käskyt ovat hyvin "primitiivisiä". Kuvitelepa monimutkaista tekstinkäsittelyohjelmaa assemblyn "ADD" jne. käskyille ohjelmoituna!
  • Toisen kirjoittaman assembly-ohjelman ymmärtäminen on vaikeaa, koska assemblystä ei "näe", mitä ohjelmoija tarkoittaa.
  • Yhden suoritinperheen assembly-kieli ei yleensä ole samanlaista kuin toisen. Siispä ohjelmaa ei voi siirtää (port) helposti suoritinperheeltä toiselle.

Mm. näiden seikkojen vuoksi on kehitetty "korkeamman tason" lausekielet kuten C, Pascal, Ada, Fortran, SML, Scheme, Basic, Modula-2, Oberon, C++, ...

Lausekielten ideana on, että niiden käskyt ja käsitteet ovat lähempänä ihmisen ajatusmaailmaa. Näin niillä tehtyjä ohjelmia on helpompi ymmärtää ja kirjoittaa.

  • Lausekielisestä ohjelmasta täytyy tietysti saada myös konekieltä. Tämän tekee juuri ko. lausekieltä varten tehty kääntäjä-ohjelma. Lausekielten kääntäjät ovat yleensä erittäin monimutkaisia ohjelmia assemblereihin verrattuna.
  • Esim. "summa"-ohjelma voitaisiin esittää Ada-kielellä näin:
	procedure summa is 
	      summa, luku: integer;  
	      begin    
		 summa := 0;    
	         loop      
		     get(luku);      
		     exit when luku=0;     
		     summa := summa+luku;    
	         end loop;   
		 printout(summa);  
	      end;
  • Käytännössä lausekielisten ohjelmienkaan siirrettävyys ei ole täydellinen, koska eri tietokonetyypit eroavat toisistaan muutenkin kuin suorittimen käskyjen osalta.
  • Kehittyneet kääntäjät yrittävät myös optimoida tuottamaansa konekieltä. Tämä tarkoittaa, että ne pyrkivät saamaan aikaan mahdollisimman pienen ja nopean konekieliversion alkuperäisestä ohjelmasta.
  • Lausekielten hyvänä puolena on, että kääntäjä voi automaattisesti tuottaa konekoodia, joka ottaa huomioon myös mahdolliset virhetilanteet. Näin esim. nollalla jakamisesta saadaan järkevä virheilmoitus koneen sekoamisen sijaan.



Kotisivu | Edellinen sivu | Ylös | Seuraava sivu
Sanahaku | Hakemisto