Automatsko programiranje
U računarstvu, izraz automatsko programiranje[1] 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."[2]
Porijeklo
urediMildred 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."[3]
Generativno programiranje
urediGenerativno programiranje jeste stil računarskog programiranja koji koristi automatsku kreaciju izvornog koda kroz generičke okvire, klase, prototipove, šablone, aspekte i generatore koda koji pomažu produktivnost programera.[4] Č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
urediPravljenje 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
urediReference
uredi- ^ Ricardo Aler Mur, "Automatic Inductive Programming Arhivirano 4. 3. 2016. na Wayback Machine", ICML 2006 Tutorial.
- ^ D.
- ^ Chun, Wendy.
- ^ James Wilcox, "Paying Too Much for Custom Application Development", March 2011.