Automatsko programiranje

U računarstvu, izraz automatsko programiranjeRicardo Aler Mur, "Automatic Inductive Programming ", ICML 2006 Tutorial. predstavlja tip računarskog programiranja u kojem neki mehanizmi kreiraju računarski program da pomognu programerima pisanje koda na višem apstraktnom nivou.

Postoji malo sporazuma u vezi sa preciznom definicijom automatskog programiranja, najviše zbog njenog značenja koje se promijenilo s vremenom. David Parnas, prateći historiju "automatskog programiranja" u objavljenim istraživanjima, zabilježio je da je ono u 1940tim opisivalo automatizaciju ručnog procesa probijanja papirne trake. Kasnije je opisivalo prevođenje programskih jezika visokog nivoa kao što su Fortran i ALGOL. Ustvari, jedan od najranijih programa koje je mogao identificirati kompajler imao je naziv Autocode. Parnas je zaključio da je "automatsko programiranje uvijek bilo eufemizam za programiranje u jezicima višeg nivoa koji su tada bili dostupni programeru."D.

 Porijeklo 
Mildred Koss, rani programer UNIVAC-a, objašnjava: "Pisanje mašinskog koda uključuje nekoliko zamornih (dosadnih) koraka—lomljenje procesa u diskretne instrukcije, pridavanje specifičnih memorijskih lokacija svim komandama, te upravljanje I/O baferima. Nakon praćenja ovih koraka radi primjene matematskih rutina, podrutinskih biblioteka i sortiranja programa, naš zadatak je bio da pogledamo veće programske procese. Trebali smo razumjeti kako bi mogli ponovo koristiti testirani kod i imati mašinsku pomoć pri programiranju. Kako smo programirali, ispitali smo proces i počeli misliti o načinima kako da se apstraktiraju ovi koraci kako bi ih ubacili u jezik višeg nivoa. Ovo je vodilo razvoju interpretera, asemblera, kompajlera i generatora—programa dizajniranih da operiraju i produciraju ostale programe, što je ustvari, automatsko programiranje."Chun, Wendy.
 Generativno programiranje 
Generativno programiranje jeste stil računarskog programiranjakoji koristi automatsku kreaciju izvornog koda kroz generičke okvire, klase, prototipove, šablone, aspekte i generatore koda koji pomažu produktivnost programera.James Wilcox, "Paying Too Much for Custom Application Development", March 2011. Često se odnosi na teme ponovnog iskorištenja koda kao što su softverski inženjering zasnovan na komponentama i inženjering porodice proizvoda.

 Pravljenje izvornog koda 
Pravljenje izvornog koda jeste akt generisanja izvornog koda zasnovanog na ontološkom modelu kao što je šablon i ostvaruje se sa programskim alatom kao što je procesor za šablone ili integrirana razvojna sredina (en. skr. IDE). Ovi alati omogućavaju generiranje izvornog koda kroz neki od raznih načina. Makro procesor, kao što je C preprocesor, koji izmjenjuje obrasce u izvornom kodu prema relativno jednstavnim pravilima, jednostavan je oblik generatora izvornog koda.

 Također pogledajte 
 Kompajler
 Integrirana razvojna sredina
 Programski jezik višeg nivoa

 Reference 

 Vanjski linkovi 
 Generative Programming book; na: www.generative-programming.org 
 Code Generation for Dummies
 Code Generation with Macrofort

Kategorija:Programiranje