Kaj je napaka pri prevajanju?

Napaka pri prevajanju je napaka pri izdelavi datoteke strojne kode za računalniški jezik. Mnogi računalniški jeziki prevedejo svojo izvorno kodo v datoteke strojne kode, preden se programi lahko zgradijo ali izvedejo. Najpogostejša vrsta napake pri prevajanju je osnovna sintaksična napaka; ena majhna napaka lahko povzroči številne težave s kodo.

Najpogostejša objektno usmerjena programska jezika, C++ in Java®, v neki obliki uporabljata kompilacijo. To se bistveno razlikuje od interpretiranih jezikov, ki uporabljajo surovo izvorno kodo med izvajanjem za izvajanje programa. Ni treba, da je jezik sam po sebi objektno usmerjen, da bi ga lahko prevedli; C++ je na primer mogoče strukturirati z objektno usmerjenim ali proceduralnim programiranjem.

Najpogostejši vzrok za napake pri prevajanju je sintaksična napaka. Sintaksne napake so napake v obliki neobdelane izvorne kode, ki so običajno posledica kršitve načel računalniškega jezika. Te napake so lahko tako preproste, kot je pozabljanje podpičja na koncu vrstice kode, ali pa tako zapletene, kot je napačna inicializacija matrike. Običajno teh napak ni težko najti in diagnosticirati; večina prevajalcev prikaže napake, ko se pojavijo, in ne dovolijo oblikovanja strojne kode, dokler napake niso odpravljene. Različni jeziki pa uporabljajo različne prevajalnike, zato je možno, da je v enem jeziku prisotna določena vrsta napake pri prevajanju, v drugem pa ne.

Glede na uporabljeni jezik in prevajalnik lahko ena napaka pri prevajanju prikaže toliko napak. Na primer, če pozabite na podpičje na koncu vrstice, ko jezik to zahteva, lahko povzroči napake pri razčlenjevanju, ker prevajalnik ne ve, kdaj naj bi se določena vrstica končala. Ta napaka pri razčlenjevanju se lahko pokaže kot veliko napak pri prevajanju, zaradi česar se zdi, kot da so nenadoma grozljive težave s kodo namesto ene majhne tipkarske napake. Na splošno lahko skrbna pozornost spoštovanju pravil računalniškega jezika prepreči te vrste napak. Prav tako lahko izkušeni programer, če se pojavi nenaden naval napak pri prevajanju, običajno sklepa, da jih je večino povzročila ena sama majhna napaka.

Pogosta napačna predstava programerjev začetnikov je, da bo napaka pri prevajanju zrušila računalnik, kar pa ni nikoli tako. Napake pri prevajanju so omejene na prevajalnike, ustvarjanje strojne kode pa redko povzroča težave celotnemu računalniškemu sistemu. Noben program ni varen, vključno s prevajalnikom, vendar je možnost, da povzroči težave celotnemu računalniku samo s prevajanjem kode ali naleti na napako pri prevajanju, izjemno majhna. Ko so vse napake pri prevajanju popravljene, je velika verjetnost, da bo program deloval nemoteno, kot je bilo mišljeno.