Programowanie modularne (ang. modular programming) — paradygmat programowania zalecający stosowanie nadrzędności modułów w stosunku do procedur bloków tworzących program. Najprościej mówiąc zdecyduj jakie chcesz mieć moduły, podziel program w taki sposób, aby ukryć dane w modułach.
Moduł grupuje funkcjonalnie związane ze sobą dane oraz procedury i jest reprezentacją obiektu jednokrotnie występującego w programie.
Ten typ programowania pozwala ukryć pomocnicze funkcje i struktury danych. Możliwe jest dość precyzyjne określenie co jest udostępniane na “zewnątrz” i z czego dany moduł korzysta. Pozwala to ukryć ewentualne późniejsze modyfikacje struktur wewnętrznych.
Zaletą dzielenia programu na moduły jest fakt, że moduły mogą być kompilowane niezależnie, dzięki temu kiedy dokonamy zmian w jednym z modułów nie ma konieczności rekompilowania całości, tylko ten jeden plik.
Programowanie modularne umożliwia centralizację wszystkich danych jednego typu pod kontrolą jednego modułu będącego zarządcą danego typu.
Do tego typu programowania wykorzystywane są specjalistyczne języki programowania takie jak: np. Ada, Modula-2, Pascal.