![](/user_photo/2706_HbeT2.jpg)
- •Міністерство освіти і науки україни
- •9.12. Огляд WinDev 154
- •10. Історія операційних систем 169
- •Список літератури 187
- •Передмова
- •1. Передвісники комп’ютерної ери
- •1.1. Комп’ютерна програма–що це?
- •1.2. Доелектронна історія обчислювальної техніки
- •Логарифмічна лінійка
- •1.3. Можливості двійкового коду
- •1.4. Розвиток двійкової системи
- •1.5. Винахід перших комп’ютерів
- •Перша в історії працююча програмнокерована універсальна обчислювальна машина z-3 (1941 р.)
- •1.6. Гарвардська архітектура
- •1.7. Архітектура фон Неймана
- •1.8. Створення зрозумілих людині кодів
- •1.9. Крок на благо програмування
- •1.10. Можливості програмного управління
- •2. Нові мови програмування
- •2.1. Поневіряння пакетної обробки
- •2.2. Універсальна мова програмування
- •2.3. Усунення неоднозначності
- •2.4. Заклик до дотримання математичної строгості
- •2.5. Пошук та усунення помилок
- •2.6. Нелегке мистецтво програмування
- •2.7. Обчислювальна техніка та програмування в срср
- •3. Розквіт та хаос програмного забезпечення
- •3.1. Місце народження хакерів
- •3.2. Два чародії програмування
- •3.3. Перші промислові стандарти
- •3.4. Дружній інтерфейс
- •3.5. Прообраз сучасного «ноутбука»
- •4. Болісний шлях розвитку програмування
- •4.1. Плануюче обчислення
- •4.2. Внесок Великої Британії
- •4.3. Програмування англійською мовою
- •5. Три комерційні гіганти
- •5.1. Перша комерційна мова програмування
- •5.2. Обчислювальна техніка приходить у бізнес
- •5.3. Народження codasyl
- •5.4. Конференція в Цюріху
- •5.5. На шляху до сумісності комп’ютерів
- •5.6. Розбіжності Нового Світу
- •6. Десятиліття динамічного розвитку
- •6.1. Перші кроки непроцедурної мови
- •6.3. Алфавітне хрещення
- •6.4. Успіх та суперечки
- •6.5. Інженерний підхід
- •6.6. Структурний підхід
- •6.7. Поява мови “Ада”
- •7. Програмування приходить у наші домівки
- •7.1. Розквіт Бейсіка
- •7.2. Поява мови Модула-2
- •7.3. Музикальний француз
- •7.4.Довгожитель Lisp – інструмент функціонального програмування
- •7.5. Prolog – нездійснена мрія еом V покоління
- •7.6. Революція на ім’я Java
- •8. Історія і шляхи розвитку супер-еом
- •8.1. Усе починалося з менфреймов
- •8.2. Напрями розвитку обчислювальної техніки
- •8.3. Розвиток елементної бази. Закон Мура
- •8.4. Вдосконалення архітектури
- •Звичайна послідовн обробка
- •Конвеєрна обробка
- •9. Сучасний стан та перспективи розвитку програмування
- •9.1. Криза у програмуванні
- •9.2. Методологія процедурно-орієнтованогопрограмування
- •9.3. Методологія об’єктно-орієнтованогопрограмування
- •9.4. Методологія об’єктно-орієнтованогоаналізу та проектування
- •9.5. Технології програмування
- •9.6. Case –засоби
- •9.7. Методологія rad
- •9.11.1. Знайомство с LightSwitch
- •9.11.2. Архитектура LightSwitch
- •9.11.3. Створення проекту в Microsoft Visual Studio LightSwitch
- •9.11.4. Дванадцять основних переваг LightSwitch
- •9.12. Огляд WinDev
- •9.12.1. ПризначенняWinDev
- •9.12.2. Деякі характеристики wLanguage
- •9.13. Технологія model checking
- •9.14. NeoBook – программирование для непрограммистов
- •9.14.1. Введення для секретарок
- •9.14.3. Можливості та області застосування
- •9.15. Файлові системи найближчого майбутнього
- •9.15.1. Зетта-повінь настає
- •9.15.2. Файлова система zfs
- •9.15.3. Файлова системаBtrfs
- •9.15.4. Файлова системаHammer
- •10. Історія операційних систем
- •10.1. Послідовна обробка даних
- •10.2. Прості пакетні системи
- •10.3. Багатозадачні пакетні системи
- •10.4. Системи з режимом розподілу часу
- •10.5. Основні досягнення
- •10.6. Сучасні системи unix
- •10.7. Os/2. Битва двох гігантів
- •Список літератури
4. Болісний шлях розвитку програмування
Влітку 1985 р. у водах Північної Атлантики на глибині 3 км. просувався підводний апарат “Арго”, який досліджував гористий рельєф океанського дна. А нагорі, на поверхні океану, у рубці дослідницького судна ВМС США “Кнорр” перед відеоекраном розташувалися члени франко-американскої наукової експедиції. Після 16 днів пошуку був виявлений океанський лайнер “Титанік”, який затонув у 1912 р. і поніс в океанські глибини більше 1500 чоловік з тих 2200, що знаходились на борту.
Пошуки залишків “Титаніка” на величезній океанській глибині символізували видатні досягнення комп’ютерної технології та гнучкість сучасних засобів програмування. Апарат “Арго” керувався декількома комп’ютерами, кожен з яких був запрограмований на своїй мові. Комп’ютер підводного апарату використовував компактну, але гнучку мову Форт(FORTH, не плутати з Фортраном), яка була розроблена спочатку для керування рухом телескопів. Комп’ютер на борту судна ”Кнорр” був запрограмований на могутній, але малозрозумілій мовіС. Телеметрична система на обох кінцях коаксіального кабелю, що зв’язував підводний та надводний чрвни, використовувала ще одну мову – мову асемблера.
Кожна мова має свою граматику та синтаксис. Мови програмування, що імітують природні мови та здатні на підставі одного речення будувати кілька команд комп’ютера, прийнято вважати мовами “високого рівня”. Але у порівнянні з природними мовами, вони, як правило, більш строгі та точніші.
Зараз налічується декілька сотень таких мов, якщо ж ураховувати всі їх варіанти, так звані діалекти, то можливо, і більше тисячі. Мови програмування призначені для найрізноманітніших цілей – від розв’язку складних математичних завдань до створення музичної партитури, машинної графіки та ігор. Проте, не існує жодної машинної мови, яка б у рівній мірі була придатна для всіх випадків. Вибір мови зазвичай визначається трьома чинниками: мова повинна бути зручною для програміста, придатною для даного комп’ютера і для вирішення поставленого завдання.
4.1. Плануюче обчислення
Навесні 1945 р. світ навколо Конрада Цузе почав руйнуватись: кільце військ союзників стискалося навколо Берліна, де жив молодий німецький інженер. Ще перед війною він зайнявся розробкою серії порівняно невеликих універсальних комп’ютерів, перетворивши на лабораторію одну з кімнат своїх батьків. Зусилля Цузе – це дивовижний приклад незалежної наукової творчості одинака: він не мав ані найменшого уявлення про досягнення у цій області в інших країнах, а уряд фашистської Німеччини мало цікавився його роботою над комп’ютером. Незадовго до падіння Берліна Цузе поклав свій єдиний комп’ютер Z4, що залишився, на воза та відправився у маленьке містечко у Баварських Альпах. Щоб не потрапити у полон в останні дні війни, він приєднався до групи вчених, що розробляли ракети у гітлерівській Німеччині, які намагалися сховатися в Альпах Баварії. Але американцям все ж таки вдалося захопити цю групу у полон. Одразу ж вони запропонували роботу одному з її членів, конструктору ракет Вернеру фон Брауну (творцеві ракет Фау-2), що надалі добре попрацював на “американський космос”. На Цузе, що встиг приховати свою машину у підвалі селянського будинку, американці не звернули особливої уваги.
У важкі післявоєнні роки, не маючи ані засобів, ані можливості продовжувати роботу над комп’ютером, він спрямував усю свою енергію на розвиток теорії. Ще з 1942 року Цузе виношував ідею алгоритмічної мови програмування. Він вигадав ефектний спосіб програмування комп’ютерів, причому придатний не тільки для Z4, але і для будь-якої машини. Він вирішив, що потрібна система числових та символьних позначок, яка побудована на основі логіки, – по суті, система обрахунку кроків вирішення задачі.
Працюючи наодинці він створив систему програмування, яку назвав “Планкалкюль” (Plancalkul, плануюче обчислення). Він написав брошуру, де розповів про своє творіння та можливість його використання для вирішення різноманітних завдань, включаючи сортування чисел та виконання арифметичних дій у двійковому записі (інші комп’ютери того часу працювали у десятковій системі). Навчившись грати у шахи, Цузе написав 49 сторінок фрагментів програм на Планкалкюле, які дозволяли комп’ютеру оцінювати шахові позиції. На жаль, багато ідей систематичної мови, як і решта його робіт, залишилися невідомі цілому поколінню фахівців з комп’ютерної лінгвістики. Тільки у 1972 р. робота Цузе була опублікована. Ця публікація змусила фахівців задуматися над тим, який вплив міг би зробити Планкалкюль, будь він широко відомий раніше.
В Планкалкюль вводилось поняття об’єкту, він дозволяв працювати з підмасивами даних та підпрограмами. Цузе винайшов оператор присвоєння та визначив для нього окремий знак.