Programowanie intencyjne lub intencjonalne PI ( Intentional programming IP) – koncepcja programowania komputerowego stanowiąca próbę ułatwienia pisania i pielęgnowania programów komputerowych. Nazwa ta jest związana ze sposobem, w jaki systemy usiłują pojąć dodatkowe znaczenia – zamysły (intencje programistów) – niezależnie od tego jak kody źródłowe prezentują te zamysły. Robiąc tak system pozwala się programiście znacznie łatwiej śledzić rozwlekły kod. Termin wprowadził Charles Simonyi, wieloletni pracownik firmy Microsoft i kierownik zespołu badawczo-rozwojowego pracującego nad systemem znanym jako IP.
W „normalnym” programowaniu operuje się pewną liczbą zbiorów tekstowych zwanych kodami źródłowymi. Kody źródłowe są przetwarzane przez programy takie jak kompilatory (lub interpretery), co można obrazowo opisać jako łączenie i przekształcenie wielu programów źródłowych do pewnej specyficznej postaci, która w wyniku innych koniecznych zmian tworzy w końcu wykonywalny program komputerowy. W sensie ogólnym kod (program) źródłowy zawiera w sobie zamiary (intencje) programisty, ale na bardzo niskim poziomie, głęboko ukryte.
Przypuśćmy na przykład, że zamierzamy napisać program wypisujący liczby od 1 do 10.