- •1.2. Алгоритм
- •1.3. Предмет науки програмування
- •1.4. Застосування мов програмування
- •1.5. Стандартизація мов програмування
- •1.6. Середовище розробки
- •1.7. Тестування і верифікація програм
- •Лекція 2. Алгоритми і обчислення
- •2.1. Алгоритми
- •2.2. Обчислювальні машини
- •2.3. Основи фон-нейманівської архітектури
- •Лекція 3. Парадигми програмування
- •3.1. Базові парадигми програмування
- •Процедурне програмування
- •Абстрактна семантика процедурних програм.
- •Денотаційна семантика.
- •Операційна семантика
- •Структурність і модульність
- •3. 3. Модульне програмування
- •3.4. Об’єктно-орієнтовне програмування
- •3.5. Функціональне програмування
- •3.6. Логічне програмування
- •3.6. Алгебраїчна парадигма
- •Висновок
- •Лекція 4. Огляд основних мов програмування
- •4.1. Мова Picmkalkul Конрада Цузе
- •4.1.1. Історичні передумови
- •4.1.2. Огляд мови
- •4.2. Мінімальне програмування на апаратному рівні: псевдокоди
- •4.2.1. Мова Short Code
- •4.2.2. Система Speedcoding
- •4.2.3. Система "компіляції" univac
- •4.2.4. Суміжна робота
- •4.3. Комп'ютер ibm 704 і мова fortran
- •4.3.1. Історична ретроспектива
- •4.3.2. Процес розробки
- •4.3.3. Огляд мови fortran I
- •4.3.4. Огляд мови fortran II
- •4.3.5. Мови fortran IV, fortran 77 і fortran 90
- •4.4. Функціональне програмування: мова lisp
- •4.4.1. Витоки робіт в області штучного інтелекту та обробка списків
- •4.4.2. Процес розробки мови lisp
- •4.4.3. Огляд мови
- •4.4.5. Два нащадки мови lisp
- •4.4.6. Споріднені мови
- •4.5. Перший крок до удосконалення: мова algol 60
- •4.5.1. Історична ретроспектива
- •4.5.2. Початкова стадія розробки
- •4.5.3. Огляд мови algol 58
- •4.5.4. Прийняття звіту про мову algol 58
- •4.5.5. Процес розробки мови algol 60
- •4.5.6. Огляд мови algol 60
- •4.5.7. Оцінка мови algol 60
- •Лекція 5. Трансляція і формальні граматики
- •5.1. Транслятори
- •5.2. Процес трансляції
- •5.3. Формальні граматики. Нбф-граматика
- •Лекція 6. Java - мова ооп
- •6.2. Основні властивості програм і перші приклади
- •6.3. Арифметичні і побітові оператори мови Java
1.4. Застосування мов програмування
Наразі, мови програмування застосовуються в різних (практично всіх) сферах людської діяльності. Серед них можна виділити такі:
наукові обчислення (мови C++, FORTRAN, Java);
системне програмування ( мови C++, Java);
обробка інформації (мови C++, COBOL, Java);
штучний інтелект (LISP, Prolog);
видавнича діяльність (Postscript, TeX);
видалена обробка інформації (Perl, PHP, Java, C++);
опис документів (HTML, XML).
З часом, одні мови розвивалися, набували нових рис і залишалися потрібними, інші – втрачали свою актуальність і зараз мають тільки чисто теоретичну зацікавленість. У значній мірі це пов’язано з такими факторами, як:
наявність середовища програмування, яке підтримує розробку застосувань за допомогою конкретної мови програмування;
зручність супроводу і тестування програм;
вартість розробки з застосування конкретної мови програмування;
чіткість и ортогональність конструкцій мови;
застосування об’єктно-орієнтованого підходу.
Ортогональність мови програмування означає, що оператори управління і структури даних мови можна виразити за допомоги невеликого числа елементарних конструкцій, користуючись обмеженою кількістю способів. Назва “ортогональність” прийшла від математичного поняття ортогональних незалежних векторів. Ортогональність випливає із симетрії відношень між найпростішими елементами.
Ортогональність тісно пов’язана з простотою: більш ортогональніша конструкція має менше виключень із правил. Меньше виключень – значить мова більш системна, її легко вивчати та не йти на компроміси “виключення із правил, стверджує правило”.
На сьогодні найбільше розповсюдження отримали мови базовані на об’єктно-орієнтованій моделі. Вони, реалізуючи процедурну модель побудови мови, підтримують аплікативність конструкцій, дозволяючи представлять блок-схему виконання структурованої програми у вигляді деякого набору аплікативних функцій.
1.5. Стандартизація мов програмування
Концепція мов програмування безпосередньо зв’язана з її реалізацією. Для того, щоб компіляція однієї і тієї ж програми різними компіляторами завжди давала один і той же результат, розробляються стандарти мов програмування. Існують спеціалізовані організації для підтримки стандартизації. Серед них можна виділити Американський національний інститут стандартів ANSI (American National Standards Institute), Інститут інженерів з електротехніки та електроніки IEEE (Institute of Electrical and Electronic Engineers), Организація міжнародних стандартів ISO (International Organization for Standardization).
Як правило, при створенні мови розробник випускає свій стандарт. Якщо мова отримує широке розповсюдження, то з часом з’являються різні версії компіляторів, які не точно відповідають цьому стандарту. В більшості випадків йде розширення зафіксованих спочатку можливостей мови. Для узгодження найбільш вдалих реалізацій мови між собою розробляється погоджувальний стандарт мови. Важливим фактором тут є своєчасність появи такого стандарту. В процесі розвитку мови можуть появитися і нові стандарти. Так, мова FORTRAN спочатку була стандартизована в 1966 году ( стандарт FORTRAN 66). Потім були стандарти FORTRAN 77 і FORTRAN 90.
