Otomatik programlama, programcıların soyutlanmış bir düzeyde geliştirme yapmalarını sağlamak üzere kaynak kodu üreten yaklaşıma verilen addır.
Otomatik programlama kavramının tanımı zaman içinde değişiklik göstermiş; terim 1940'larda delikli bant üzerinde insanlar tarafından yapılan işlemlerin makinelere devredilmesi anlamında kullanılırken sonraki yıllarda, geliştirilen yazılımların Fortran ve ALGOL gibi üst düzey dillere aktarılması için dile getirilmiştir.