Поняття про мови програмування
Мова — це система знаків (символів, жестів, міміки, положень перемикача і т. д.) для представлення, обміну інформацією. Це загальне визначення включає в себе і природні, і штучні (формальні) мови. До штучних мов належать мови, створені людьми для розв’язання специфічних задач. Це мова математичних формул, нотна грамота, мови програмування тощо.
Алгоритмічна мова — це мова, призначена для представлення алгоритму у вигляді послідовності вказівок для виконання їх виконавцем алгоритму.
Алгоритмічна мова, як і кожна інша, має свій словник. Основу цього словника складають слова, що використовуються для запису команд, які входять у систему команд виконавця.
Мови програмування — це алгоритмічні мови, призначені для опису алгоритмів, що орієнтовані для виконання на комп’ютері, або система позначень для точного опису алгоритму, який треба виконати за допомогою комп’ютера.
Мова програмування, як і будь-яка інша мова, являє собою набір символів (алфавіт), систему правил складання базових конструкцій мови (синтаксис) та правила тлумачення мовних конструкцій (семантика). Ця система позначень і правил призначена для одноманітного і точного запису алгоритму. Алфавіт, синтаксис і семантика — три основні складові мов програмування.
Програма — це алгоритм, записаний мовою програмування.
Трансляція (від англ. translation — переклад) — програма, яка перетворює команди мови програмування на машинну мову. Існує два способи трансляції: інтерпретація та компіляція.
Інтерпретація (від англ. interpretation) — спосіб трансляції, при якому кожна інструкція програми перекладається в машинні коди та виконується, і тільки після виконання одного фрагмента програми процесор переходить до обробки іншого фрагмента. Це гнучка система перекладу, яка реалізовується нескладно. Вона використовується в тих випадках, коли потрібна простота трансляції (Basic), або там, де інший спосіб перекладу дуже складний або навіть неможливий (Lisp).
Компіляція (від англ. compile — збирати) — спосіб трансляції, при якому здійснюється переклад усього тексту програми, збір перед її виконанням та запис у пам’ять комп’ютера.
При перегляді програми компілятор виділяє місце в пам’яті для кожної змінної.
Класифікація мов програмування
Мови програмування високого і низького рівнів. Програми для перших ЕОМ складалися машинною мовою, вельми далекою від понять, якими оперує людина.
Алфавіт машинної мови складається тільки з двох символів {0, 1}. Для складання програм на такій мові була потрібна досить висока кваліфікація. Програмісти, зацікавлені в полегшенні своєї праці, і виробники ЕОМ зацікавлені в розширенні ринку, стали шукати вихід. Першим кроком на шляху створення мов, що містять поняття, близькі поняттям людини, стали мови, що перекладають символічні імена в машинні коди (асемблер).
До мов програмування низького рівня належать мови асемблера — машинно-залежні мови, що описують дії в термінах команд процесора. Для кожного типу процесора існує своя мова асемблера, тому для перенесення програми на асемблері на іншу апаратну платформу її потрібно майже повністю переписати.
Пізніше були створені програми, що транслюють арифметичні вирази (автокоди), і, нарешті, у 1958 році вступив у дію транслятор Фортрана — першої мови високого рівня (МВР). Мови високого рівня наближені до природних понять. Ці мови є машинно-незалежними. Із розвитком і поширенням комп’ютерів намітився двоякий процес: поява спеціальних (Пролог) та універсальних (Паскаль, Сі) мов.
Процедурні і непроцедурні мови. Програма, написана процедурною мовою, описує, як розв’язувати, використовуючи при цьому такі основні поняття, як слідування, розгалуження, цикл. Програма, написана непроцедурною мовою, описує, що робити, використовуючи такі поняття, як підстановка, галуження, рекурсія.
Системи програмування. Для зручності створення програм створюються інтегровані середовища програмування — системи, які об’єднують редактор текстів програм, транслятор, налагоджувач (наприклад Turbo Pascal, Turbo С, Turbo Basic). Отримали поширення системи візуального програмування — засоби, за допомогою яких можна швидко створювати програми шляхом візуального проектування макета в графічному вигляді (наприклад, Visual Basic, Visual С, Delphi).