Pismeno programiranje je strategija koja služi kao alternativa strukturiranom programiranju. Temeljna ideja iza ove vrste programiranja je omogućiti programerima da se više usredotoče na logiku i tijek svojih misaonih procesa prilikom pisanja programa, umjesto da zahtijevaju da programiranje bude napisano na način koji nalaže računalo za koje je softver namijenjen. za upotrebu. Ovim pristupom programer se više usredotočuje na najlogičniji način za pisanje programiranja kako bi se postigao željeni rezultat, a zatim se usredotočuje na to kako programirati računalo tako da softver radi ispravno.
Za razliku od strukturiranog programiranja, pismeno programiranje često koristi uobičajeni jezik u kombinaciji s izvornim kodom koji se smatra tradicionalnim. Ovaj pristup omogućuje programeru stvaranje makronaredbi koje su opisne i objašnjavajuće prirode, temeljene na procesima programera. Krajnji rezultat je stvaranje jezika koji ovim objašnjenjima učinkovito pokriva temeljni programski jezik. Kod pismenog programiranja, dokumentacija koda se smatra jednakom samom kodu, umjesto da je pomoćna ili pomoćna po prirodi.
Drugi aspekt koji pomaže razlikovati pismeno programiranje od strukturiranog programiranja je način na koji elementi programa međusobno djeluju. U situacijama strukturiranog programiranja interakcija je više vertikalna ili hijerarhijska u dizajnu. S pismenim pristupom zadatku programiranja, elementi se promišljaju u smislu isprepletenog mozaika u kojem su elementi manje-više jednaki jedni s drugima.
Zagovornici pismenog programiranja obično tvrde da je zbog ovog pristupa potrebno da programeri artikuliraju misaone procese koji ulaze u program. Ovo nudi prednost u mogućnosti identificiranja nedostataka u logici programera s većom preciznošću i implementacije promjena ili modifikacija koje omogućuju da programiranje radi preciznije i učinkovitije. Osim toga, sama priroda ovog pristupa pomaže u stvaranju traga dokumentacije koja olakšava rekonstrukciju logike primijenjene na zadatak od početka do kraja. U smislu prilagođavanja koda za specifične aplikacije od strane krajnjih korisnika, to olakšava praćenje toka logike za osnovni program i identificiranje točke od koje se treba odvojiti kako bi se izvršio određeni zadatak. Od tog trenutka, programer može dodati ili modificirati kod tako da osnovne funkcije ne budu narušene, a nova funkcija se lako integrira u cjelokupni proces.