Canlı kodlama olarak da bilinen etkileşimli programlama, yaratıcının programın çalışmakta olduğu sırada programda değişiklik yapmasını sağlayan herhangi bir bilgisayar programlama dilini ifade eder. Geleneksel programlamada, kodlayıcı önce programı yazar ve sonra kaydeder. Ardından programı bilgisayarda çalıştırıyor. Bir hata oluşursa, yeni kodu yazıp programı yeniden başlatmak için çizim tahtasına geri dönün. Etkileşimli programlama ile tasarımcı, programı tekrar çalıştırmak zorunda kalmadan kodda değişiklikler yapabilir.
Etkileşimli programlama için bir başka kullanım, etkileşimli uygulama olarak adlandırılan kullanıcıdan kullanıcıdan girişe izin vermektir. Bu, kullanıcıdan ismini istemek ve ardından ekranda göstermek kadar basit olabilir. Program, yazdığı neye göre kullanıcı adının değerini değiştirerek etkileşimli bir unsura sahiptir. Program oluşturulduğunda, adını bilmiyordu ve değeri boştu. Adını öğrendiğinde, program hala çalışıyorken bu değeri programa koydu ve ardından ekranda gösterdi.
Bu etkileşimli programlama türü, toplu işleme olarak bilinen başka bir programlama işleminin aksinedir. Toplu işleme işleminde, program kullanıcıdan herhangi bir girişe ihtiyaç duymadan çalışabilir. Bu, kullanıcının yardımına ihtiyaç duymadan tek başına koşma avantajına sahiptir, ancak büyük bir dezavantajı vardır. Programın çalışması için gereken tüm bilgiler baştan itibaren kodlanmalıdır. Program kullanıcının adını göstermek isterse, kullanıcının girişini isteyemediği için zaten bilmesi gerekirdi.
Bir programın oluşturulmasında, geliştirme döngülerinden geçer. Bu döngüler, programın ne yapması gerektiğini tanımlamak, kodunu yazmak ve programı test etmekle başlar. Tasarımcı daha sonra geri döner ve programda değişiklik yapar ve tekrar test eder. Bu işlem başarılı bir program oluşturulana kadar tekrar eder.
Etkileşimli programlama kullanıldığında, geliştirme döngüsünün aşamaları arasındaki belirgin çizgiler bulanıklaşır. Programın yazılması ve çalıştırılması aynı ve aynı olur. Program yazmak ve daha sonra çalıştırmak yerine, geliştirici programı yazabilir, çalıştırabilir ve çalışırken yazmaya veya değişiklik yapmaya devam edebilir. Bu, programlarda daha fazla esneklik sağlar ve programcının veya kullanıcının programı yeniden başlatmadan değişiklik yapmasını sağlar.


