Якщо виконавець програми - комп'ютер, то вона називається комп'ютерною. Комп'ютер - це «механістичний, рутинний» пристрій, тому дуже важливо, аби комп'ютерна програма містила всі вказівки про те, як необхідно виконувати обчислення. А це означає, що поняття алгоритму, що лежить в основі програми, повинно мати точний, конструктивний характер. Оскільки комп'ютер що і математична машина, то для представлення алгоритму було розроблено багато математичних способів. Проте, незалежно від способу представлення, алгоритму комп'ютерній програмі властиві такі аспекти:
- повна деталізація і визначеність опису обчислень і, тим самим, закінченість;
- масовість обчислень
- орієнтація на загальні зміни змінної;
- виконавець обчислень - комп'ютер;
- форми програми - текст;
- засіб запису програми - спеціальна мова.
Державний стандарт (ДСТУ 2844-94) визначає комп'ютерну програму (computer program) як послідовність інструкцій, які може виконувати ЕОМ.
Процеси, пов'язані З написанням комп'ютерних програм, називаються програмуванням, У найзагальнішому вигляді програмування - це виконання трьох процесів:
- складання схеми програми - опис обчислень за допомогою спеціальних засобів (мови специфікацій) - псевдокоди, блок-схеми або формальні (математичні) мови;
- складання тексту програми - опис обчислень за допомогою спеціального засобу - мова програмування з використанням схеми програми;
- налагодження програми - виконання програми з використанням спеціально підібраних значень з метою пошуку і усунення дефектів, допущених у програмах при реалізації перших двох процесів,
Два ключові об'єкта беруть участь у Програмуванні - програміст і мова програмування.
Програміст - це спеціально підготовлений суб'єкт (професіонал), який знає одну або декілька мов специфікацій і програмування та вміє виконувати процеси програмування.
Мова програмування — це штучна знакова система, призначена для запису комп'ютерних програм. Як будь-яка знакова система мова програмування задається синтаксисом - множина правил, що визначають вид пропозицій (мови), і семантикою - множина правил, що визначають операційне значення (сенс) пропозицій мови. Кожна мова програмування за допомогою синтаксису і семантики описує певного носія мови, яким ця мова визначається однозначно. Носій мови входить до складу перекладачів (трансляторів), які здійснюють переклад програми з мови програмування на мову виконавця. Теоретичну основу мов програмування складають алгоритмічні мови (засоби для запису алгоритмів), при цьому набори описових засопів мов програмування перевищують мінімальні набори, необхідні для їх алгоритмічної універсальності, що викликане практичною орієнтацією МОВ програмування. За весь період розвитку програмування було розроблено значну кількість мов програмування (рис.3.1).
Рис 3.1. Мови програмування
3.2. Продукти інженерії програмного забезпечення, продукція і програмне забезпечення
Нині для комп'ютерів розроблено і продовжує розроблялися значна кількість програм. Серед них особливе місце займають програми, які називаються продуктами інженерії програмного забезпечення і продукцією.
Стандарт ISO/IEC 14598-1 визначає продукт інженерії програмного забезпечення (продукт програмного забезпечення, програмний продукт, software product) як безліч комп'ютерних програм, процедур і пов'язаних з ними документації та даних. До того ж, підкреслюється, що продукти можуть бути таких типів:
- для постачання користувачеві;
- інтегральні частини інших продуктів;
- для розробників і супроводжуючих.
Таким чином, ті, хто використовує продукт інженерії програмного забезпечення, можуть бути таких типів;
- користувач (user) - особа або організація, які використовують продукт для виконання своїх специфічних функцій;