Interaktivno programiranje, također poznato kao kodiranje uživo, odnosi se na bilo koji računalni programski jezik koji omogućuje kreatoru da izvrši promjene u programu dok je već pokrenut. U tradicionalnom programiranju, koder prvo zapisuje program, a zatim ga sprema. Zatim pokreće program na računalu. Ako dođe do pogreške, vraća se na ploču za crtanje da upiše novi kod i ponovo pokrene program. Uz interaktivno programiranje, dizajner može napraviti promjene u kodu bez potrebe ponovnog pokretanja programa.
Druga upotreba za interaktivno programiranje je dopustiti unos od korisnika u ono što se naziva interaktivna aplikacija. To može biti jednostavno kao da od korisnika zatražite njezino ime i zatim ga prikažete na ekranu. Program ima interaktivni element mijenjajući vrijednost korisničkog imena na temelju onoga što ona upisuje. Kada je program stvoren, nije znao njezino ime i vrijednost je bila prazna. Nakon što je saznao njezino ime, stavio je tu vrijednost u program dok je program još uvijek bio pokrenut, a zatim je prikazao na ekranu.
Ova vrsta interaktivnog programiranja je u suprotnosti s drugim procesom programiranja poznatom kao skupna obrada. U skupnoj obradi, program se može pokrenuti bez potrebe za unosom od korisnika. Ovo ima prednost što radi samostalno bez potrebe za pomoći korisnika, ali ima jedan veliki nedostatak. Sve informacije potrebne za pokretanje programa moraju biti kodirane u njemu od početka. Ako bi program želio prikazati ime korisnika, trebao bi ga već znati, jer ne može tražiti unos korisnika.
U stvaranju programa prolazi kroz razvojne cikluse. Ovi ciklusi započinju utvrđivanjem što bi program trebao učiniti, pisanjem koda za njega i testiranjem programa. Dizajner se zatim vraća i unosi promjene u program i ponovno ga testira. Ovaj proces se ponavlja sve dok se ne stvori uspješan program.
Kada se koristi interaktivno programiranje, jasne linije između faza razvojnog ciklusa postaju nejasne. Pisanje programa i izvođenje programa postaju jedno te isto. Umjesto da napiše program i zatim ga izvrši, programer može napisati program, pokrenuti ga i nastaviti pisati ili mijenjati dok je pokrenut. To omogućuje mnogo veću fleksibilnost u programima i omogućuje programeru ili korisniku da unese promjene bez ponovnog pokretanja programa.