
declarative prograaming

computer sainslo, declarative prograaming anedi oka prograaming namuunaa-computer prograamla nirmaanam mariyu amsaalanu nirminche shaili-idhi daani niyantrana pravahanni vivarinchakundaa ganana yokka tarkaanni vyaktam chestundi. 
eee sailini vartimpajese aneka bhashalu prograaming longuage aadima (bhasha yokka amaluku "elaa" vadiliveyabadindi) yokka kramaanni "elaa" saadhinchaali anie vivarinche badulu, samasya domine paramgaa programme emi saadhinchaali anedaanni vivarinchadam dwara dushprabhaavaalanu tagginchadaaniki ledhaa tolaginchadaaniki prayatnistaayi. idhi tappanisari prograamingku viruddhamgaa untundi, idhi algorithamlanu spashtamaina dasalalo amalu chestundi.
declarative prograaming tarachugaa prograamlanu adhikaarika tarkam yokka siddhaantaalugaa mariyu gananalanu aaa tarka sthalamlo taggimpulugaa pariganistundi. declarative prograaming anedi samaantara prograamlanu vrayadaanni chaalaa sulabhataram chestundi.
saadhaarana declarative bhaashalalo database kwarii longuages (udhaa.zii., SQL, xQuery), regular expressions, logic prograaming, functional prograaming mariyu configuration management systems.
eee padaanni tarachugaa imperative prograamingku viruddhamgaa upayogistaaru, idhi daani sthithi yokka parivartana dasalanu spashtamgaa nirdesistundi.
nirvachanam.
declarative prograaming tarachugaa tappanisari kaani prograaming yokka yea shaili ayina nirvachinchabadutundi. aneka itara saadhaarana nirvachanalu dheenini atyavasara prograamingtho polchadam dwara nirvachinchadaaniki prayatnistaayi. udaaharanakuh
eee nirvachanalu gananeeyamgaa ativyaapti chendutaayi.
declarative prograaming anedi tappanisari kaani prograaming shaili, dheenilo prograamlu aadesaalanu ledhaa nirvahinchaalsina dasalanu spashtamgaa jabita cheyakunda vaari kaavalasina phalitaalanu vivaristaayi. kriyaatmaka mariyu taarkika prograaming bhashalu declarative prograaming shaili dwara vargeekarinchabadataayi. taarkika prograaming bhaashalalo, prograamlu taarkika prakatanalanu kaligi untaayi mariyu prakatanala rujuvula kosam sodhinchadam dwara programme amalu cheyabadutundi.
haskell vanti swachchamaina kriyaatmaka bhaashalo, anni vidhulu dushprabhaavaalu lekunda untaayi, mariyu sthithi maarpulu sthithini marche vidhulugaa matrame suuchimchabadataayi, idhi prograamlo modati-taragati vastuvugaa spashtamgaa suuchimchabadutumdi. swachchamaina kriyaatmaka bhashalu tappanisari kaanappatikee, avi tarachugaa oka function yokka prabhavanni dasala shrenigaa vivarinchadaaniki oka sadupaayaanni andistaayi. lisp, okaaml mariyu erlang vanti itara kriyaatmaka bhashalu vidhaanaparamaina mariyu kriyaatmaka prograaming mishramaaniki maddatu istayi.
prologue vanti konni taarkika prograaming bhashalu, mariyu SQL vanti database prasna bhashalu, suutrapraayamgaa declarative ayinappatikee, prograaming yokka vidhana sailiki kooda maddatu istayi.
upaperu.
declarative prograaming anedi aneka prasiddha prograaming namuunaalanu kaligi unna oka godugu padam.
parimita prograaming.
addanki prograaming lakshya parishkaram yokka lakshanaalanu perkone addankula roopamlo chararaasula madhya sambandhaalanu perkontundi. prati chararaasiki viluva ivvadam dwara parimitula samiti parishkarinchabadutundi, tadwara parishkaram garishta sankhyalo parimitulaku anugunamgaa untundi. nirbandha prograaming tarachugaa itara namuunaalanu puurti chestundih kriyaatmaka, taarkika ledhaa atyavasara prograaming.
domine-nirdishta bhashalu.
declarative domine-nirdishta bhashalaku (dsls) prasiddha udaaharanalalo yaak parsor generator input longuage, qml, make billed specification longuage, tolubomma configuration management longuage, regular expressions mariyu sql yokka upasamiti (udaaharanaku prasnalanu enchukondi) unnaayi. dsl luu upayogakaramgaa undatam valla prayojanam undhi, ayithe turing-completega undaalsina avasaram ledhu, idhi oka bhasha puurtigaa declarativega undataanni sulabhataram chestundi.
hetch. tii. emm. ell, emm. ex. emm. ell, ex. yea. emm. ell, ex. ess. ell. tii ledhaa itara user-interfaces markup languagelu vanti aneka markup languagelu tarachugaa declarativega untaayi. udaaharanaku, web pageelo emi kanipinchaalo matrame hetch. tii. emm. ell vivaristundi-idhi paejeeni andinchadaaniki niyantrana pravahanni ledhaa viniyogadaaruto paejee yokka sambhaavya paraspara charyalanu paerkonadu.
konni software vyavasthalu saampradaaya user-interfaces markup longuages (hetch. tii. emm. ell vantivi) nuu declarative markapto militam chestaayi, idhi prakatita interfaceku maddatu ivvadaaniki byaak-end sarvar systems emi cheyaalo (conny elaa kaadu) nirvachistundi. atuvanti vyavasthalu, saadhaaranamgaa domine-nirdishta xML nemspacenu upayogistaayi, indulo SQL database vaakyanirmaanam yokka saaraamsaalu ledhaa praatinidhya sthithi badilee (migilina) mariyu sabbunu upayoginchi web sevalaku paramiti calls undavacchu.
functional prograaming.
haskell, skeem mariyu ml vanti functional prograaming languagelu function application dwara vyakteekaranalanu anchanaa vestaayi. vidhaanaparamaina prograaming yokka sambandhita conny marinta atyavasara namuunaa vale kakunda, functional prograaming spashtamaina kramabaddheekaranaku takkuva praadhaanyata istundi. udaaharanaku, pathakamlo, aneka rakaala upa-vyakteekaranala moolyaankanam kramam nirvachinchabadaledu ledhaa avyaktamgaa untundi. badulugaa, gananalu vividha rakaala punaraavruta hye-arder function application mariyu kuurpu dwara vargeekarinchabadataayi, mariyu domainlu mariyu codominela madhya mappingla samitigaa pariganinchavacchu. ml mariyu lisp kutumbaalalo chaalaa varaku sahaa aneka kriyaatmaka bhashalu puurtigaa panicheyavu, tadwara karyakramalalo sthithigatha prabhavalanu pravesapettadaaniki anumatistaayi.
hybrid bhashalu.
udaaharanaku, makefiles, dependencylanu declarative paddhatiloo paerkontaayi, conny teesukovalasina charyala yokka tappanisari jaabitaanu kooda kaligi untaayi. adevidhamgaa, yaak sandarbham laeni vyaakaranaanni prakatanaatmakamgaa perkontundi, conny atidheya bhasha nundi code snippetlanu kaligi untundi, idhi saadhaaranamgaa tappanisari (sii vantivi).
logic prograaming.
prologue sthithi mariyu prasna sambandhaalu vanti logic prograaming bhashalu. eee prasnalaku "elaa" samadhanam ivvabadutundane daani yokka pratyaekatalu amalu mariyu daani siddhaanta saameta varaku untaayi, conny saadhaaranamgaa oka vidhamaina ekikarana roopaanni teesukuntaayi. functional prograaming maadirigaane, aneka logic prograaming bhashalu dushprabhaavaalanu anumatistaayi, phalitamgaa avi khachitamgaa declarative kaavu.
modeling.
bhouthika vyavasthala namuunaalu ledhaa ganita praatinidhyaalu, declarative ayina computer kodlo amalu cheyabadavachhu. eee sankethamlo pravartanaa sambandhaalanu vivarinche ("prakatinchu") aneka sameekaranaalu untaayi, atyavasara ketaayimpulu kaadu. eee lanchanapraya paddhatiloo oka namuunaanu vyakteekarinchinappudu, oka computer parishkaram algorithamnu uttamamgaa roopondinchadaaniki beejaganita sardubaatlanu cheyagaladu. ganita kaaranatvam saadhaaranamgaa bhouthika vyavastha sarihaddula vadda vidhinchabadutundi, ayithe vyavastha yokka pravartanaa vivarana prakatanaatmaka ledhaa akousalga untundi. declarative modeling bhashalu mariyu parisaraalalo analytica, modalika mariyu simail unnaayi.
udaaharanalu.
lip.
lisp (1958) antey "list processor"."idhi jaabitaalanu proses cheyadaaniki anugunamgaa roopondinchabadindi. jaabitaala jaabitaalanu roopondinchadam dwara dayta nirmaanam erpadutundi. memarylo, idhi oka tree dayta structurenu yerparustundi. antargatamgaa, saadhaarana lisp dayta yokka vruksha nirmaanam punaraavruta vidhulatho prosessing cheyadaaniki chakkaga istundi. oka chettunu nirminchadaaniki vaakyanirmaanam anedi kundaleekaranamlo tellani sthalam-vaeru cheyabadina muulakaalanu chuttadam. krinda moodu amsaala jabita undhi. modati rendu muulakaalu okkokkati rendu muulakaala jaabitaalu
lisp muulakaalanu velikiteese mariyu punarnirminche vidhulanu kaligi untundi. function coque _ 1 (konnisaarlu coque _ 2 anie pilustaaru) jaabitaalo modati muulakaanni andistundi. function coque _ 3 (konnisaarlu coque _ 4 anie pilustaaru) modati moolakam tappa pratidee kaligi unna jaabitaanu andistundi. function cocew _ 5 modatidaaniki mundugaane ketaayinchina rendava vaadana ayina jaabitaanu andistundi. anduvalla, x anedi khaalii kaani jabita ayithe, eee krindi vyakteekarana coque _ 6 jaabitaaku moolyaankanam chestundih
code swayamgaa jabita yokka "coppy" nii tirigi istundi. functional bhaashalalo vilakshanamainadigaa, lisp looni karyakalapalu tarachugaa paatha nundi kotta daetaanu utpatti cheyamani adiginappudu daetaanu coppy chestaayi. lisp dayta yokka tree structure dheenini kooda sulabhataram chestundih mundugaa unna dayta nundi tayaaru cheyabadina kotta nirmaanam daani antargata nirmaanaanni daani puurveekulatoo saadhyamainanta varaku panchukuntundi, kotta cherpulu chettu kommaluga nilva cheyabadataayi mariyu daani asalu paerutoe unna asalu nirmaanaaniki sambandhinchina suuchanalu sarigga adhe tirigi istayi mariyu ika undadu.
aneka vidhulu goodu kattinapudu, kundaleekaranaalu gandaragolamgaa kanipinchavacchu, idhi lisp yokka oka lopam. aadhunika lip vaataavaranaalu kundaleekaranaanni saripolchadaaniki sahaayapadataayi. oka vaipu, lisp assainment statement mariyu goto loopla yokka "imperative longuage" kaaryakalaapaalaku maddatu istundi. alaage, "lisp" anedi sankalanam samayamlo muulakaala datatypetho sambandham kaligi undadu. badulugaa, idhi runtimelo dayta rakalanu ketayistundi. idhi abhivruddhi prakriya praarambhamlo prograaming lopaalu gurtinchabadakapovadaniki daariteeyavachchu. dheenini edurkovadaniki, lisp abhivruddhi saadhaaranamgaa chaalaa perugutunna paddhatiloo nirvahinchabadutundi, functionlu mariyu unnata-sthaayi functionlu abhivruddhi samayamlo nirminchabadi, pratyakshamgaa pareekshinchabadataayi. adanamgaa, dayta structurelugaa lisp prograamlapai panichese lisp functionlu ayina macrola vadakam dwara, programmer korukunna yea samayamloonainaa type checkingnu vichakshanaa rahitamgaa nirvahinchavacchu.
pedda, nammadagina mariyu chadavagalige lisp prograamlanu vraayadaaniki mundastu aalochana avasaram. sarigga pranaalika cheyabadithe, eee karyakramam samaanamaina "atyavasara bhasha" karyakramam kante chaalaa takkuvagaa undavacchu. "lisp" nuu krutrima medhassulo vistrutamgaa upayogistaaru. ayithe, dheeni upayogam "atyavasara bhasha" karyakalapalanu kaligi unnanduna matrame aamodinchabadindi, idhi analochita dushprabhaavaalanu saadhyam chestundi.
ml.
ml (1973) antey "meta longuage"."ml sthiramgaa type cheyabadindi, mariyu function argumentlu mariyu return rakalanu ullekhanam cheyavachu. 
"ml" anedi "lisp" vale brocket-centric kaadu, badulugaa pratidee vyakteekarinchadaaniki jabita kramam mariyu goodu kattadam kosam vignapti cheyadam kante, code muulakaala madhya sambandhaanni krodeekarinchadaaniki vistrutamaina vaakyanirmanaanni upayogistundi. krinda ivvabadinadi coque _ 8 yokka anuvartanam
 saarlu _ 10 2
idhi "20: int", antey, cocew _ 9, rakam cocw _ 10 viluvanu andistundi. 
lisp" laaga, "ml" jaabitaalanu proses cheyadaaniki anugunamgaa roopondinchabadindi, ayithe jaabitaaloni anni amsaalu oke rakamgaa undaali.
prastaavana.
prologue (1972) antey "logiclo prograaming"."idhi sahaja bhashalanu proses cheyadaaniki roopondinchabadindi. oka prologue programme yokka building blocks "objects" mariyu itara objects thoo vaati "sambandhaalu". "vastuvulu" vaati gurinchi nijamaina "vaastavaalanu" perkonadam dwara nirminchabadataayi.
saralikruta jeevasastra udaaharana yokka prastaavana vivarana ilaa undavachuhu
pilli (tomm). % tomm oka pilli
mouse (jerrie). % jerrie oka mouse
jantuvu (x):-pilli (x). % prati pilli oka jantuvu
jantuvu (x):-eluka (x). % prati eluka oka jantuvu
pedda (x):-pilli (x). % prati pilli peddadi
chinna (x):-mouse (x). % prati mouse chinnadi
tinandi (x, y):-eluka (x), junnu (y). % prati eluka prati junnu tintundi
tinandi (x, y):-peddadi (x), chinnadi (y). % prati pedda jeevi prati chinna jeevini tintundi
eee vaastavaalu mariyu niyamaalanu batti, udaaharanaku prasna tinavacchu (tomm, jerrie). tinadam (jerrie, tomm) vijayavantamavutundi. viphalamavutaaru. antekakunda, prasna tinestundi (x, jerrie). x = tomm anae samadhanam pratyaamnaayamtho vijayavantamavutundi.
prologue yokka vadakam lakshya-aadhaarita bhashaga vistarinchindi. lakshya-aadhaarita anuvartanamlo, upa lakshyaala jaabitaanu andinchadam dwara lakshyam nirvachinchabadutundi. appudu prati upa lakshyam daani upa lakshyaala jaabitaanu andinchadam dwara nirvachinchabadutundi. upa lakshyaala maargam parishkaram kanugonadamlo viphalamaithe, aaa upa lakshyam venukaku velli, maroka maargam kramapaddhatilo prayatninchabadutundi. aacharanaatmaka anuvartanaalalo atichinna maarga samasyanu parishkarinchadam mariyu kutumba vrukshaalanu utpatti cheyadam unnaayi.

