Interaktivno programiranje, znano tudi kot kodiranje v živo, se nanaša na kateri koli računalniški programski jezik, ki omogoča ustvarjalcu, da spremeni program, medtem ko se že izvaja. Pri tradicionalnem programiranju kodirnik najprej zapiše program in ga nato shrani. Nato zažene program na računalniku. Če pride do napake, se vrne na risalno ploščo, da vnese novo kodo in znova zažene program. Z interaktivnim programiranjem lahko oblikovalec spremeni kodo, ne da bi mu bilo treba znova zagnati program.
Druga uporaba interaktivnega programiranja je omogočiti vnos od uporabnika v tako imenovani interaktivni aplikaciji. To je lahko tako preprosto, kot da vprašate uporabnika za njeno ime in ga nato prikažete na zaslonu. Program ima interaktivni element s spreminjanjem vrednosti uporabniškega imena glede na to, kaj vnese. Ko je bil program ustvarjen, ni poznal njenega imena in vrednost je bila prazna. Ko je izvedel njeno ime, je to vrednost vstavil v program, medtem ko se je program še izvajal, in jo nato prikazal na zaslonu.
Ta vrsta interaktivnega programiranja je v nasprotju z drugim procesom programiranja, znanim kot paketna obdelava. Pri paketni obdelavi se lahko program izvaja brez potrebe po vnosu uporabnika. To ima prednost, da deluje samostojno, ne da bi potrebovali pomoč uporabnika, vendar ima eno veliko pomanjkljivost. Vse informacije, potrebne za zagon programa, morajo biti v njem kodirane od začetka. Če bi program želel prikazati uporabniško ime, bi ga moral že poznati, saj ne bi mogel zahtevati vnosa uporabnika.
Pri ustvarjanju programa gre skozi razvojne cikle. Ti cikli se začnejo z ugotavljanjem, kaj naj program naredi, pisanjem kode zanj in testiranjem programa. Oblikovalec se nato vrne in spremeni program ter ga ponovno preizkusi. Ta postopek se ponavlja, dokler ni ustvarjen uspešen program.
Ko se uporablja interaktivno programiranje, postanejo jasne meje med fazami razvojnega cikla zabrisane. Pisanje programa in izvajanje programa postaneta eno in isto. Namesto da bi program napisal in ga nato izvedel, lahko razvijalec program napiše, ga zažene in še naprej piše ali spreminja, medtem ko se izvaja. To omogoča veliko večjo prilagodljivost v programih in omogoča programerju ali uporabniku, da izvede spremembe brez ponovnega zagona programa.