УНІВЕРСАЛЬНІ МОВИ ПРОГРАМУВАННЯ Що таке програмування – ремесло, наука чи мистецтво? В ньому можна знайти усі три початки, все залежить від характеру і рівня підготовки програміста: кодування заданого алгоритму – ремесло; розробка ефективних заходів і технологій – наука; пошук унікальних за ефективністю і можливостями алгоритмів – мистецтво. Час, коли людиною, яка програмує ЕОМ був інженер з електроніки минув назавжди. Вдосконалення апаратної частини ЕОМ дозволило застосувати перехідну ланку між людиною і машиною – мову програмування. Із вдосконаленням апаратної частини ЕОМ вдосконалювалися і мови програмування. Спочатку програміст був вимушений напряму оперувати машинною мовою (машинними кодами) даної ЕОМ. Згодом з’явилась фундаментальна мова програмування – Assembler. Колись Assembler був такою мовою програмування без знання якої програмувати ЕОМ було неможливо. Поступово ситуація змінювалась. З’являлися більш зручні засоби взаємодії з комп’ютером, але Assembler не “вмирав”, тому що він і не міг цього зробити. Адже мова Assembler – це символьне представлення машинних кодів. Усі процеси в комп’ютері на найбільш низькому, апаратному рівні приводяться в дію лише командами (інструкціями) машинної мови. Вирішити проблеми пов’язані з апаратною частиною ЕОМ складно, а іноді й неможливо без знання мови Assembler. Програміст може використовувати будь-які високорівневі засоби програмування, аж до програми моделювання штучного інтелекту і навіть не підозрювати про те, що комп’ютер виконує не оператори мови якою написана його програма, а їх трансформоване представлення на зовсім іншій мові – машинній. Припустимо, однак, що в такого користувача з’явилась деяка проблема, пов’язана з програмуванням апаратної частини ПК, глибинною оптимізацією програми або необхідністю використання специфічних машинних операцій процесора. Яким би не був розумним програміст (і компілятор!), на якій би мові він не писав свою програму, обійтися тут без використання Assembler неможливо. І не випадково практично всі компілятори мов високого рівня мають засоби зв’язку з модулями на мові Assembler або підтримують вихід на асемблерний рівень програмування. Звичайно час комп’ютерних універсалів вже пройшов, але є так званий фундамент, на якому базується будь-яка комп’ютерна освіта. Це знання про принципи роботи комп’ютера, його архітектуру і мова Assembler, як відображення і втілення цих знань. Пізніше з’явилися мови програмування високого рівня такі, як Cі, Cі++, Pascal, Basic. Cі – це мова програмування загального призначення, добре відома своєю ефективністю, економічністю. Вказані переваги Сі забезпечують якість розробки майже будь-якого виду програмного продукту. Використання Сі в якості інструментальної мови дозволяє отримувати швидкі та компактні програми. В багатьох випадках програми написані на Сі можна порівнювати за швидкістю з програмами написаними на Assembler. При цьому вони мають більшу наочність і їх легше реалізовувати. Сі поєднує ефективність і потужність у відносно малій за розміром мові. Хоча Сі не містить вбудованих компонентів мови, виконуючих ввод-вивод, розподіл пам’яті, маніпуляції з екраном або управління процесами, тим не менше системне оточення Сі розпоряджається бібліотекою модулів, в якій реалізовані подібні функції. Це рішення дозволяє ізолювати мовні особливості від специфіки процесора, на якому виконується результуюча програма. Суворе визначення мови робить її незалежною від будь-яких деталей операційної системи чи машини взагалі. В той же час програмісти можуть добавляти в бібліотеку специфічні системні програми, щоб більш ефективно використовувати особливості машини. Перелічимо деякі істотні особливості Сі: - Сі забезпечує повний набір операторів структурного програмування; - Сі підтримує незвичайно великий набір операцій. Багато які відповідають машинним командам, і тому допускають пряму трансляцію в машинний код. Різноманітність операцій дозволяє вибирати їх різноманітні набори для мінімізації результуючого коду; - Сі підтримує покажчики на змінні і функції. Покажчик на об’єкт програми відповідає машинній адресі цього об’єкта. За допомогою використання покажчиків можна створювати ефективно-виконувані програми, так як покажчики дозволяють посилатися на об’єкти тим самим шляхом, як це робить машина. Сі підтримує арифметику покажчиків і тим самим дозволяє виконувати безпосередній доступ і маніпуляцію з адресами пам’яті; - у своєму складі Сі містить препроцесор, який обробляє текстові файли програм перед компіляцією. Серед його найбільш корисних додатків при написанні програм на Сі являються: визначення програмних констант, заміна викликів функцій аналогічними, але більш швидкими макросами, умовна компіляція. Препроцесор не обмежується обробкою тільки висхідних текстових файлів Сі, він може бути використаний для будь-якого текстового файлу; - Сі – гнучка мова, що дозволяє приймати в конкретних ситуаціях самі різні рішення. Проте, Сі накладає незначне обмеження в таких, наприклад, діях, як перетворення типів. В багатьох випадках це являється достойністю, але програмісти повинні добре розуміти мову, щоб розуміти, як будуть виконуватися їх програми. QBasic – мова програмування написана в 1975 році Біллом Гейтсем та Паулем Аленом. Через легкість у використанні, простоту команд (чиста англійська мова) і потужні можливості QBasic – це “приємна” у використанні мова програмування. QBasic також, має просту структуру програм. Еволюція апаратної частини ПК привела до витіснення операційної системи MS-DOS значно потужнішими системами Windows, програмування для яких радикально відрізняється від програмування для MS-DOS. Розробники систем програмування і перш за все такі корпорації, як Microsoft і Borland не затримались випустить відповідні засоби: вже в 1991 році, тобто одразу після з’явлення Windows 3.1 Borland випускає Turbo Pascal for Windows, а в 1992 – вдосконалену версію цієї системи програмування – Borland Pascal with Objects 7.0. Ці перші спеціалізовані інструменти вимагали досконалого знання Windows і були складні в освоєнні. Але в 1993 році Microsoft випустила перше візуальне середовище програмування Visual Basic, і програмування для Windows стало навіть простішим, ніж для DOS. У відповідь на це Borland в 1995 році випустила першу версію Delphi, а потім з інтервалом в 1 рік – ще 4 версії: 2, 3, 4 і 5. Врешті-решт, в середині 2001 року випускають версію 6. Delphi продовжила серію паскаль-орієнтованих засобів програмування. Для програмістів які звикли до Сі – орієнтованої платформи існує Microsoft Visual C++, що є найпотужнішим засобом розробки ПЗ і залишається поза конкуренцією в теперішній час, та Borland C++ Builder – зручне та “дружнє” у використанні середовище. Таким чином, не дивлячись на різноманіття сучасних засобів розробки ПЗ, фундаментальними для них залишаються три універсальні мови програмування: Basic, Pascal і Ci.
|