Interaktiv programmering, även känd som live-kodning, hänvisar till alla datorprogrammeringsspråk som gör att skaparen kan göra ändringar i programmet medan det redan körs. I traditionell programmering skriver kodaren först ut programmet och sparar det sedan. Han kör sedan programmet på datorn. Om ett fel uppstår, är det tillbaka till ritbordet för att skriva ut ny kod och köra programmet igen. Med interaktiv programmering kan designern göra ändringar i koden utan att behöva köra programmet igen.
En annan användning för interaktiv programmering är att tillåta input från användaren i vad som kallas en interaktiv applikation. Detta kan vara så enkelt som att fråga användaren om hennes namn och sedan visa det på skärmen. Programmet har ett interaktivt element genom att ändra värdet på användarens namn baserat på vad hon skriver. När programmet skapades visste det inte hennes namn och värdet var tomt. När den väl lärde sig hennes namn lade den in det värdet i programmet medan programmet fortfarande körde och visade det sedan på skärmen.
Denna typ av interaktiv programmering står i motsats till en annan programmeringsprocess som kallas batchbearbetning. Vid batchbearbetning kan programmet köras utan att behöva indata från användaren. Detta har fördelen av att köra på egen hand utan att behöva användarens hjälp, men har en stor nackdel. All information som behövs för att programmet ska köras måste kodas in i det från början. Om programmet ville visa användarens namn skulle det behöva känna till det redan, eftersom det inte kunde be om användarens input.
Vid skapandet av ett program går det igenom utvecklingscykler. Dessa cykler börjar med att identifiera vad programmet ska göra, skriva koden för det och testa programmet. Designern går sedan tillbaka och gör ändringar i programmet och testar det igen. Denna process upprepas tills ett framgångsrikt program skapas.
När interaktiv programmering används blir de distinkta linjerna mellan stadierna i utvecklingscykeln suddiga. Att skriva programmet och köra programmet blir en och samma. Istället för att skriva programmet och sedan köra det, kan utvecklaren skriva programmet, köra det och fortsätta att skriva eller göra ändringar i det medan det körs. Detta möjliggör mycket mer flexibilitet i program, och låter programmeraren eller användaren göra ändringar utan att starta om programmet.