Відмінності між версіями «Ніклаус Вірт»
(→Мови програмування) |
|||
Рядок 3: | Рядок 3: | ||
<b>"Програми стають повільними швидше, ніж комп'ютери стають швидшими"</b> | <b>"Програми стають повільними швидше, ніж комп'ютери стають швидшими"</b> | ||
− | Це напівжартівливий вираз, | + | Це напівжартівливий вираз, який популяризував Н.Вірт. |
Мається на увазі, що збільшення продуктивності роботи апаратної частини, не означає збільшення швидкодії програм. | Мається на увазі, що збільшення продуктивності роботи апаратної частини, не означає збільшення швидкодії програм. | ||
Рядок 32: | Рядок 32: | ||
<h5 style="color: green;">Pascal</h5> | <h5 style="color: green;">Pascal</h5> | ||
+ | Наприкінці 60-х рр. було висунуто декілька пропозицій щодо еволюційного розвитку Алгола. Найуспішнішим виявився Паскаль, створений у 1970 р. | ||
+ | Разом з очищенням мови від деяких непрозорих засобів Алголу, в Паскалі була додана можливість об'явлення нових структур даних, побудованих із вже існуючих, більш простих. Паскаль також підтримував динамічні структури даних, тобто такі, які можуть зростати або зменшуватись під час виконання програми. | ||
+ | Мова Паскаль вимагає від програміста опису всіх змінних у спеціальному розділі на початку програми. Існування такого розділу обмежує свободу програміста, але водночас Паскаль вимагає строгого стилю програмування, що сприяє зменшенню кількості помилок. Як і будь-який наступник, Паскаль має багато схожих рис із попередником; наприклад, Паскаль, як і Алгол-60, передбачає блочну структуру програм (операторні дужки). | ||
+ | |||
+ | Структура програми на Паскалі дозволяє навіть спеціалісту, який не є автором програми, знаходити і виправляти зроблені помилки під час розробки. Саме тому вважається, що Паскаль один із кращих мов для ознайомлення і вивчення програмування.(Це була одна із цілей Вірта, під час створення Паскаля) | ||
+ | |||
+ | Успіх Паскаля перевершив очікування. Можливо, головною причиною такої популярності мови було те, що він сприяв розвитку напряму за "структурне програмування" | ||
+ | |||
+ | Паскаль сильно вплинув на дизайн та еволюцію багатьох інших мов, від Ади до Visual Basic. | ||
+ | |||
+ | Сильним імпульсом для розповсюдження Паскаля стало створення компілятора, який створював простий проміжний код для віртуальної машини(Р-код), а не для конкретного процесора. Це значно спростило перенос Паскаля на інші процесорні архітектури, так як для цього потрібно було лише написати інтерпретатор для Р-коду, а не для всього нового компілятора. | ||
+ | |||
+ | Зараз ідею Р-коду можна побачити у коді мови Java корпорації Sun і у аналогічному проекті .NET корпорації Microsoft. | ||
<h5 style="color: green;">Algol-W</h5> | <h5 style="color: green;">Algol-W</h5> | ||
Версія за 07:05, 6 жовтня 2014
Закон Вірта
"Програми стають повільними швидше, ніж комп'ютери стають швидшими"
Це напівжартівливий вираз, який популяризував Н.Вірт.
Мається на увазі, що збільшення продуктивності роботи апаратної частини, не означає збільшення швидкодії програм.
Біографія
Ніклаус Вірт народився — 15 лютого 1934 р. в невеличкому місті Вінтертурі, біля Цюриха, у сімї Волтера і Гедвіги Вірт. Жив біля школи, в якій викладав його батько. В їхньому домі була хороша бібліотека, де Вірт знаходив багато цікавих книг про залізниці, турбіни і телеграф.
У 1954 р. Вірт вступив на факультет електроніки в цюрихський ЕТН (Швейцарський Федеральний Технологічний Інститут). Після чотирьох років навчання, отримав ступінь бакалавра в області електротехніки.
Своє навчання Вірт продовжив у Лавальскому Університеті (місто Квебек, Канада), де у 1960 р. отримав ступінь магістра.
Найвідомішим досягненням професора Вірта вважається мова Паскаль (1970).
У 1984 р. став лауреатом "Премії Тюринга" (присуджується асоціацією АСМ, вручається один раз у житті і прирівнюється в комп'ютерних науках до Нобелівської)
Вклад Вірта у розвиток комп'ютерних наук можна виразити за допомогою афоризма Альберта Ейнштейна, котрий Вірт розмістив на початку опису мови Оберон(розробник Н.Вірт): «Make it as simple as possible, but not simpler» («Роби все максимально просто, а не лише спрощуй»).
Мови програмування
Algol-W
У 1963 р. Вірта запросили до Комітету стандартизації Алгола IFIP(Міжнародна федерація інформатики), котрий розробляв новий стандарт мови Алгол, згодом ним стала мова Алгол-68.
Разом з Чарльзом Хоаром Вірт відстоював у комітеті напрям на розробку помірно модифікованої версії Алголу, вільної від недоліків вихідної мови і доповненої мінімум необхідних засобів.
Вірт і Хоар представили комітету мову Algol-W(W від Wirth), яка була саме такою модифікацією Алголу, але не зустріли підтримки.
Після закінчення роботи комітету у 1968 р. Вірт критикував Алгол-68, кажучи про те, що він недостатньо надійний і надлишковий.
Pascal
Наприкінці 60-х рр. було висунуто декілька пропозицій щодо еволюційного розвитку Алгола. Найуспішнішим виявився Паскаль, створений у 1970 р. Разом з очищенням мови від деяких непрозорих засобів Алголу, в Паскалі була додана можливість об'явлення нових структур даних, побудованих із вже існуючих, більш простих. Паскаль також підтримував динамічні структури даних, тобто такі, які можуть зростати або зменшуватись під час виконання програми.
Мова Паскаль вимагає від програміста опису всіх змінних у спеціальному розділі на початку програми. Існування такого розділу обмежує свободу програміста, але водночас Паскаль вимагає строгого стилю програмування, що сприяє зменшенню кількості помилок. Як і будь-який наступник, Паскаль має багато схожих рис із попередником; наприклад, Паскаль, як і Алгол-60, передбачає блочну структуру програм (операторні дужки).
Структура програми на Паскалі дозволяє навіть спеціалісту, який не є автором програми, знаходити і виправляти зроблені помилки під час розробки. Саме тому вважається, що Паскаль один із кращих мов для ознайомлення і вивчення програмування.(Це була одна із цілей Вірта, під час створення Паскаля)
Успіх Паскаля перевершив очікування. Можливо, головною причиною такої популярності мови було те, що він сприяв розвитку напряму за "структурне програмування"
Паскаль сильно вплинув на дизайн та еволюцію багатьох інших мов, від Ади до Visual Basic.
Сильним імпульсом для розповсюдження Паскаля стало створення компілятора, який створював простий проміжний код для віртуальної машини(Р-код), а не для конкретного процесора. Це значно спростило перенос Паскаля на інші процесорні архітектури, так як для цього потрібно було лише написати інтерпретатор для Р-коду, а не для всього нового компілятора.
Зараз ідею Р-коду можна побачити у коді мови Java корпорації Sun і у аналогічному проекті .NET корпорації Microsoft.
Algol-W
Проекти
Рік | Проект | Коментар |
1963 | Мова Euler | Дисертація Вірта, діалект Алгола, реалізація прообразу Р-коду |
1966 | Мова Algol-W | Ревізія мови Algol-60; реалізован у Стенфорді на ІВМ/360 |
1970 | Система Venus | Операційна система розділу часу для CDC Cyber |
1970 | Мова Паскаль | Концепції структурного програмування |
1973 | Система Pascal-P | Інструментальна система, віртуальна машина, переносний Р-код |
1976 | Мова Modula | Реалізації концепції моніторів Хоара, мультипрограмування |
1976 | Система Hexapus | Програмне забезпечення для локальної мережі в ЕТН |
1979 | Мова Modula-2 | Концепція модуля, переносний М-код, ідеї мови Mesa(Xerox PARC) |
1980 | Комп'ютер Lilith | 16-розрядна апаратна підтримка мови Modula-2 |
1986-90 | Комп'ютер Ceres | 32-розрядна апаратна підтримка мови Oberon(станції Ceres-1, Ceres-2, Ceres-3) |
1988 | Мова Oberon | Концепція розширення типу, альтернатива ООП, ідея мови Cedar(Xerox PARC). Мова названа на честь супутника Урана, котрий був відкритий апаратом "Вояджер" |
1988 | Система Oberon System | Концепція активного документа, прообраз браузера(з Ю.Гуткнехтом) |
1995 | Мова Oberon-2 | Типизовані процедури-методи(з Х.Мессенбоком) |
1996 | Мова Lola | Мова для специфікації програмних пристроїв(FPGA) |
1998 | Система Olga | Система управління бортовим ПЗ для гелікоптера, апаратне забезпечення на основі StrongARM, FPGA i PLD. Використовується у легких безпілотних літаючих апаратах фірми weControl |
1998 | Мова Oberon-SA | Підмножина мови Oberon для програмування систем реального часу і з орієнтацією на процесор StrongARM |