У вузькому сенсі під програмуванням (Або кодуванням) розуміється написання програм (інструкцій для комп'ютера) на певній мові програмування по створеному алгоритму. Зазвичай, вони мають зрозумілий для людини синтаксис. Люди, які займаються програмуванням, називаються програмістами (кодировщиками або просто «кодерами»), а ті, хто створює алгоритми, алгоритмісти. У широкому сенсі під програмуванням слід розуміти весь спектр діяльності, який пов'язаний із створенням, а також підтримкою в працездатному стані програмних продуктів (ПЗ ЕОМ). Найбільш точним є сучасний термін - «інженерія програмного забезпечення» (або просто «програмна інженерія»). Фахівці даної області займаються постановками задач, проектування програм, побудовою алгоритмів, написанням тексту програми, тестуванням, налагодженням, документуванням і сопровожденіем.Любое програмування комп'ютерів засноване на використанні мов програмування. Для запуску програми на ЕОМ необхідно використовувати транслятори, які переведуть зрозумілий людині мова (написану програму) у мову машинних команд. Трансляторів існує два види - інтерпретатори і компілятори. Основна відмінність між ними полягає в тому, що перший відразу виконує програму, а другий просто переводить її в мову машинних команд, без подальшого її виконання. Для виконання програми її спочатку потрібно відкомпілювати або інтерпретувати. Раніше необхідно було писати програми, а потім окремо їх компілювати, що ускладнювало процес тестування і налагодження. В даний час існують різні інтегровані засоби розробки Integrated Development Environment. IDE включають в себе редактори для редагування і введення текстів програм і різні транслятори з різних мов. Крім цього, можуть включати різні інші підпрограми, що полегшують процес створення, тестування і супроводу програмних продуктів.