Відмінності між версіями «Ніклаус Вірт»

Матеріал з Вікі ЦДУ
Перейти до: навігація, пошук
Рядок 22: Рядок 22:
  
 
=<h4 style="color: green;">Мови програмування</h4>=
 
=<h4 style="color: green;">Мови програмування</h4>=
<h5 style="color: green;">Algol-W</h5>
+
<h5 style="color: red;">Algol-W</h5>
 
У 1963 р. Вірта запросили до Комітету стандартизації Алгола IFIP(Міжнародна федерація інформатики), котрий розробляв новий стандарт мови Алгол, згодом ним стала мова Алгол-68.
 
У 1963 р. Вірта запросили до Комітету стандартизації Алгола IFIP(Міжнародна федерація інформатики), котрий розробляв новий стандарт мови Алгол, згодом ним стала мова Алгол-68.
  
Рядок 31: Рядок 31:
 
Після закінчення роботи комітету у 1968 р. Вірт критикував Алгол-68, кажучи про те, що він недостатньо надійний і надлишковий.
 
Після закінчення роботи комітету у 1968 р. Вірт критикував Алгол-68, кажучи про те, що він недостатньо надійний і надлишковий.
  
<h5 style="color: green;">Pascal</h5>
+
<h5 style="color: red;">Pascal</h5>
 
Наприкінці 60-х рр. було висунуто декілька пропозицій щодо еволюційного розвитку Алгола. Найуспішнішим виявився Паскаль, створений у 1970 р.
 
Наприкінці 60-х рр. було висунуто декілька пропозицій щодо еволюційного розвитку Алгола. Найуспішнішим виявився Паскаль, створений у 1970 р.
 
Разом з очищенням мови від деяких непрозорих засобів Алголу, в Паскалі була додана можливість об'явлення нових структур даних, побудованих із вже існуючих, більш простих. Паскаль також підтримував динамічні структури даних, тобто такі, які можуть зростати або зменшуватись під час виконання програми.
 
Разом з очищенням мови від деяких непрозорих засобів Алголу, в Паскалі була додана можливість об'явлення нових структур даних, побудованих із вже існуючих, більш простих. Паскаль також підтримував динамічні структури даних, тобто такі, які можуть зростати або зменшуватись під час виконання програми.
Рядок 46: Рядок 46:
  
 
Зараз ідею Р-коду можна побачити у коді мови Java корпорації Sun і у аналогічному проекті .NET корпорації Microsoft.
 
Зараз ідею Р-коду можна побачити у коді мови Java корпорації Sun і у аналогічному проекті .NET корпорації Microsoft.
<h5 style="color: green;">Algol-W</h5>
+
<h5 style="color: red;">Modula-2</h5>
 +
У середині 70-х рр., Вірт розпочав проект по створенню нового комп'ютера класу робоча станція(проект Lilith). Комп'ютер повинен був програмуватися на мові високого рівня і забезпечити прямий доступ до апаратного рівня. Також, мав підтримувати колективне програмування і сучасні принципи розробки програмного забезпечення, такі як абстрактні типи даних.
 +
 
 +
Ці вимоги були реалізовані у 1979 р. у мові Модула-2(Modula 2, від MODUlar LAnguage — модульна мова). Модула-2 зберегла добре зарекомендовані засоби середи Паскаля і додала систему модулів.
 +
 
 +
Успіх Модули-2 був найбільш вагомим у задачах із високими вимогами надійності, таких як системи управлінням руху.
 +
 
 +
Як і більшість інших мов програмування, Модула піддалась еволюції, під час якої її початкову назву переробили у Модула-2.
 +
 
 +
Розвитком стала мова Модула-3, розроблена фірмами DEC i Olivetti
 +
<h5 style="color: red;">Oberon</h5>
  
 
=<h4 style="color: green;">Проекти</h4>=
 
=<h4 style="color: green;">Проекти</h4>=

Версія за 07:21, 6 жовтня 2014

Ніклаус Вірт (15.02.1934)

Закон Вірта

"Програми стають повільними швидше, ніж комп'ютери стають швидшими"

Це напівжартівливий вираз, який популяризував Н.Вірт.

Мається на увазі, що збільшення продуктивності роботи апаратної частини, не означає збільшення швидкодії програм.

Біографія

Ніклаус Вірт народився — 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.

Modula-2

У середині 70-х рр., Вірт розпочав проект по створенню нового комп'ютера класу робоча станція(проект Lilith). Комп'ютер повинен був програмуватися на мові високого рівня і забезпечити прямий доступ до апаратного рівня. Також, мав підтримувати колективне програмування і сучасні принципи розробки програмного забезпечення, такі як абстрактні типи даних.

Ці вимоги були реалізовані у 1979 р. у мові Модула-2(Modula 2, від MODUlar LAnguage — модульна мова). Модула-2 зберегла добре зарекомендовані засоби середи Паскаля і додала систему модулів.

Успіх Модули-2 був найбільш вагомим у задачах із високими вимогами надійності, таких як системи управлінням руху.

Як і більшість інших мов програмування, Модула піддалась еволюції, під час якої її початкову назву переробили у Модула-2.

Розвитком стала мова Модула-3, розроблена фірмами DEC i Olivetti

Oberon

Проекти

РікПроектКоментар
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Комп'ютер Lilith16-розрядна апаратна підтримка мови Modula-2
1986-90Комп'ютер Ceres32-розрядна апаратна підтримка мови 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