Programowanie komputerów, polega na układaniu listy rozkazów sterujących danym komputerem w taki sposób, aby na podstawie określonego kompletu danych zmiennych i danych stałych zbiorów otrzymać pożądane wyniki. W celu ułatwienia i przyspieszenia układania listy rozkazów stosuje się automatyzacją programowania. Programista układa program w języku problemowym, często określanym jako źródłowy (source language), a następnie angażuje komputer do przetłumaczenia tego programu na program wynikowy (object program). Do procesu tłumaczenia komputer wymaga odrębnego programu tłumaczącego — translatora. Tłumaczenie z języka problemowego na język maszyny realizuje kompajler (corapiler), tzn. jeden rozkaz języka problemowego tłumaczony jest na n rozkazów języka maszyny. Natomiast tłumaczenie z języka zbliżonego do języka maszyny (autocode) realizuje interpretacyjny program tłumaczący (interpreter) lub montujący (assembler), który włącza też do programu wynikowego niezbędne podprogramy. Tłumaczenie odbywa się wtedy z jednego rozkazu autokodu na jeden rozkaz języka maszyny. Do typowych problemowych języków programowania zalicza się w systemie obliczeń numerycznych: FORTRAN, ALGOL, SAKO, MARK, PL/I, FORTRAN IV; w systemie przetwarzania danych: COBOL, PL/I; w systemie przetwarzania symboli: LISP, EOL, SOL. Do typowych języków programowania typu autokodu zalicza się: AUTOCODER (IBM), MAT (MIŃSK), JAS (Odra), SAS (ZAM), PLAN (ICT, Odra). Programowanie w języku problemowym, np. typu COBOL, w porównaniu z programowaniem w autokodzie jest pod względem czasu około 3-krotnie krótsze, podczas gdy wykorzystanie pamięci operacyjnej może być o 30% większe. Przystosowanie zadania obliczeniowo-przetwarzaniowego do zaprogramowania na komputerze poprzedza: analiza zadania, projektowanie struktury zmiennych danych wejściowych, stałych zbiorów danych i wyników przystosowanych do wymagań użytkownika i procesu przetwarzania informacji przez komputer. Faza programowania polega na: ułożeniu planu operacyjnego przetwarzania informacji w kolejnych przebiegach (run) na komputerze i zaprogramowaniu poszczególnych przebiegów. Programy najpierw układa się w postaci schematów blokowych, odzwierciedlających poszczególne funkcje przetwarzaniowe i ich związki, a następnie koduje się, czyli układa listę rozkazów. Program po zakodowaniu testuje się na komputerze, biorąc pod uwagę poprawność stosowania języka programowania oraz struktury logicznej programu, którą ocenia się na podstawie przetwarzania różnych kompletów danych. Po przetestowaniu program jako część zadania obliczeniowo-przetwarzaniowego uruchamia się w konkretnych warunkach działania użytkownika.