
- •Тема 1 Програміст. Опис професії
- •Інструменти програміста
- •Тема 2 Особливості професії
- •Тема 3 Типи людей за профорієнтацією
- •Тема 4 Сучасні напрямки в програмуванні
- •Тема 5 Документація на програмне забезпечення
- •Тема 6 Кодування на мові Visual Basic. Форми та елементи керування
- •Тема 7 Програмна зміна властивостей і методів
Тема 4 Сучасні напрямки в програмуванні
Історія розвитку мов програмування представлена на рисунку 1.
Рисунок 1 – Історія розвитку мов програмування
Мови низького рівня передбачають програмування на рівні машинних (двійкових) кодів. Їх тому ще називають машинними або машинно-орієнтованими мовами. Таке програмування дає можливість тримати під контролем кожну команду і кожну клітинку пам'яті комп'ютера, використовувати всі можливості наявних машинних операцій. Але процес написання програми на машинній мові трудомісткий і виснажливий. Програма виходить громіздкою, її важко читати, налагоджувати і редагувати. Прикладами мови низького рівня можуть служити мова машинних кодів і асемблер.
Мови високого рівня наближені до природних мов, мають свій алфавіт і правила побудови тексту, використовують деякі слова та математичні символи. Це полегшує роботу програміста, підвищує наочність і надійність програм. Проте використання мов високого рівня вимагає додаткових коштів, які переводять програму в двійкові коди. Найбільш популярними мовами цієї групи сьогодні є Java, C + +, Pascal, Basic.
Мови програмування, на яких пишуться програми, самі по собі не містять засобів їх реалізації. Для цього служать програмні модулі, які переводять програму на машинну мову. Їх так і називають - транслятори. Вони бувають двох типів:
- Компілятори, що переводять всю програму в машинний код, що виконується потім ОС;
- Інтерпретатори, що переводять і виконують команди програми по черзі одну за одною.
Ці «перекладачі» рівнозначні за своїми можливостями, і використовуються в різних системах програмування як порізно, так і в поєднанні один з одним.
Комплект програмних модулів для створення нових програм називають системою програмування. Будь-яка сучасна система програмування включає:
- Компілятор або інтерпретатор (або і те, і інше);
- Вбудований текстовий редактор;
- Відладчик - програму, яка полегшує пошук помилок;
- Бібліотеки готових об'єктів;
- Спеціальні засоби перегляду структури програми.
На сьогоднішній день існують наступні напрямки в програмуванні:
1. алгоритмічне;
2. логічне;
3. об'єктно-орієнтоване.
Технологія алгоритмічного програмування заснована на методі покрокової деталізації рішення задач. Цей метод передбачає формулювання основного алгоритму, поділ його на блоки допоміжних алгоритмів, які, в свою чергу, також можуть складатися з окремих блоків. Основний алгоритм, таким чином, складається переважно з команд виклику допоміжних алгоритмів.
І основний, і допоміжні алгоритми будуються на базі трьох алгоритмічних структур:
- Лінійного алгоритму;
- Алгоритму розгалуження;
- Циклічного алгоритму.
Алгоритмічні структури в програмі реалізуються за допомогою операторів. Кожен оператор має свій загальний вид - формат, який включає ключові слова, константи, змінні та вирази. Допоміжні алгоритми реалізуються у вигляді підпрограм.
Алгоритмічне програмування сьогодні використовується в основному в навчальних цілях і входить складовою частиною в технологію об'єктно-орієнтованого програмування. Прикладами систем алгоритмічного програмування можуть служити Qbasic, QuickBasic, Turbo Pascal, С, створені для роботи в MS-DOS.
Технологія логічного програмування заснована на математичній логіці і алгебрі висловлювань. Вона реалізована в таких системах, як ЛИСП і ПРОЛОГ. Логічне програмування має специфічну професійну спрямованість і в шкільному курсі інформатики не вивчається.
Об'єктно-орієнтоване програмування (ООП) - це технологія, при якій основними елементами створюваних програм є об'єкти. При цьому об'єкти зберігають свою цілісність, тобто взаємозв'язок всіх своїх властивостей і дій. Крім того, об'єкти можуть бути пов'язані і між собою.
Підсумковий програмний продукт складається як з готових, так і зі створених об'єктів, подібно іграшці з дитячого конструктора. Відмітна ознака систем ООП - графічний інтерфейс стандарту Windows, що робить наочним, спрощує процес програмування, значно розширює його можливості.
Метою і результатом роботи в середовищі ООП є створення самостійних додатків для системи Windows, тому ООП сьогодні - стандарт професійного програмування. У середовищі ООП створено багато популярні сучасні програмні продукти, наприклад прикладний пакет Microsoft Office. Найбільшого поширення набули такі середовища ООП, як Visual Basic (Microsoft), Delphi (Borland), С + +. Крім того, широко відомі середовища ООП для всесвітньої мережі (World Wide Web) - Java, Perl.
Новий напрямок у розвитку мов програмування - створення єдиної оболонки (системи програмування) для різних алгоритмічних мов. Приклад - Microsoft Visual Studio.
Запис алгоритму на формальній мові називається програмою.
Написання програм - це одне із завдань програміста.
Крім того, програмісти роблять і безліч інших речей:
- Вирішують, що буде робити програма.
- Проектують користувальницький інтерфейс.
- Вирішують, яку мову програмування використовувати.
- Проектують архітектуру програми та вирішують, як частини програми будуть взаємодіяти між собою.
- Визначають стилі написання та оформлення коду програми.
- Вирішують, хто буде писати конкретні частини програми.
- Формують розклад розробки і стежать за тим, скільки часу йде на написання коду.
- Навчають інших програмістів роботі з інструментами розробки програм.
- Готують і забезпечують роботу комп'ютерів і мереж, що використовуються іншими програмістами.
- Пишуть програмний код.
- Пишуть документацію до програмного коду.
- Створюють бази даних для зберігання інформації, яка використовується програмами або створюється ними.
- Контролюють створення елементів оформлення та графіки.
- Контролюють введення даних в бази даних.
- Тестують програмний код і перевіряють правильність його роботи.
- Готують програми до установки на комп'ютери користувачів або сервери.
- Вирішують, які нові можливості додати в програму.
- Виправляють знайдені користувачами помилки.
- Навчають користувачів роботі з програмою.
- Пишуть документацію та навчальні матеріали до програми.