Високорівнева мова програмування

Високорівнева мова програмування - мова програмування, розроблений для швидкості і зручності використання програмістом. Основна риса високорівневих мов - це абстракція, тобто введення смислових конструкцій, коротко описують такі структури даних і операції над ними, опису яких на машинному коді (або іншому низькорівневому мові програмування) дуже довгі і складні для розуміння.

Так, високорівневі мови прагнуть не тільки полегшити вирішення складних програмних завдань, але і спростити портування програмного забезпечення. Використання різноманітних трансляторів і інтерпретаторів забезпечує зв'язок програм, написаних за допомогою мов високого рівня, з різними операційними системами і устаткуванням, в той час як їх вихідний код залишається, в ідеалі, незмінним.

Такого роду відірваність високорівневих мов від апаратної реалізації комп'ютера крім безлічі плюсів має й мінуси. Зокрема, вона не дозволяє створювати прості і точні інструкції до використовуваному устаткуванню. Програми, написані на мовах високого рівня, простіше для розуміння програмістом, але менш ефективні, ніж їх аналоги, що створюються за допомогою низькорівневих мов. Одним з наслідків цього стало додавання підтримки тієї чи іншої мови низького рівня ( мова асемблера) в ряд сучасних професійних високорівневих мов програмування.

Приклади: C + +, C #, Java, JavaScript, Python, PHP, Ruby, Perl, Паскаль, Delphi, Лісп. Мовам високого рівня властиве уміння працювати з комплексними структурами даних. У більшості з них інтегрована підтримка строкових типів, об'єктів, операцій файлового вводу-виводу і т. п.

Першою мовою програмування високого рівня вважається комп'ютерний мову Plankalkl, розроблений німецьким інженером Конрадом Цузе ще в період 1942 - 1946 роках. Однак транслятора для нього не існувало до 2000 року. Першим у світі транслятором мови високого рівня є ПП (Программирующая Програма), він же ПП-1, успішно випробуваний в 1954 році. Транслятор ПП-2 (1955 рік, 4-й в світі транслятор) вже був оптимизирующим і містив власний завантажувач і відладчик, бібліотеку стандартних процедур, а транслятор ПП для ЕОМ Стріла-4 вже містив і компонувальник (linker) з модулів. Однак, широке застосування високорівневих мов почалося з виникненням Фортрану і створенням компілятора для цієї мови ( 1957).


Переносимість програм

Поширена думка, що програми на мовах високого рівня можна написати один раз і потім використовувати на комп'ютері будь-якого типу. У дійсності ж це вірно тільки для тих програм, які мало взаємодіють з операційною системою, наприклад, виконують які-небудь обчислення або обробку даних. Більшість же інтерактивних (а тим більше мультимедійних) програм звертаються до системним викликам, які сильно розрізняються залежно від операційної системи. Наприклад, для відображення графіки на екрані комп'ютера програми під Microsoft Windows використовують функції Windows API, які відрізняються від використовуваних в системах, що підтримують стандарт POSIX. Найчастіше для цих цілей в них використовується програмний інтерфейс X-сервера.

До теперішнього часу створений цілий ряд програмних бібліотек (наприклад, бібліотека Qt або wxWidgets), що приховують невідповідності системних викликів різних операційних систем від прикладних програм. Однак такі бібліотеки, як правило, не дозволяють повністю використовувати всі можливості конкретних операційних систем.


Нові тенденції

Новою тенденцією є поява мов програмування трохи більш високого рівня (ультра-високорівневих, не плутати з сверхвисокоуровневимі). Такого роду мови характеризуються наявністю додаткових структур та об'єктів, орієнтованих на прикладне використання. Прикладні об'єкти, в свою чергу, вимагають мінімальної налаштування у вигляді параметрів і моментально готові до використання. Використання ультра-високорівневих мов програмування знижує тимчасові витрати на розробку програмного забезпечення і підвищує якість кінцевого продукту за рахунок, знову таки, зменшення обсягу вихідних кодів.