Яка мова програмування створила вірт. Ніклаус вірт - патріарх надійного програмування


Професор Ніклаус Вірт жива легенда у світі програмування, блискучий інженер та глибокий дослідник, удостоєний у 1984 р. премії ім. Т'юрінга серед іншого за розробку мови програмування Паскаль, з яким знайомий кожен школяр. Т'юрінгівська премія – аналог Нобелівської та найвища шана в інформатиці. Професор Ніклаус Вірт жива легенда у світі програмування, блискучий інженер та глибокий дослідник, удостоєний у 1984 р. премії ім. Т'юрінга серед іншого за розробку мови програмування Паскаль, з яким знайомий кожен школяр. Т'юрінгівська премія – аналог Нобелівської та найвища шана в інформатиці.


Біографія. Ніклаус Вірт народився 15 лютого 1934 р. у Вінтертурі. У дитинстві Ніклаус Вірт захоплювався авіамоделізмом та будівництвом ракет. У 1954 році вступив на факультет електроніки Швейцарського федерального технологічного інституту в Цюріху. Продовжив навчання у Лавальському університеті, 1960 р. отримав ступінь магістра. Потім був запрошений до університету Каліфорнії в Берклі (США), де у 1963 році, під керівництвом професора Хаскі, захистив дисертацію, темою якої стала мова програмування Euler. Ніклаус Вірт народився 15 лютого 1934 р. у Вінтертурі. У дитинстві Ніклаус Вірт захоплювався авіамоделізмом та будівництвом ракет. У 1954 році вступив на факультет електроніки Швейцарського федерального технологічного інституту в Цюріху. Продовжив навчання у Лавальському університеті, 1960 р. отримав ступінь магістра. Потім був запрошений до університету Каліфорнії в Берклі (США), де у 1963 році, під керівництвом професора Хаскі, захистив дисертацію, темою якої стала мова програмування Euler.


Ніклаус Вірт насамперед відомий як творець мови програмування PASCAL. Крім цього, на його рахунку такі чудові розробки, як MODULA-2, OBERON та багато іншого. Ніклаус Вірт насамперед відомий як творець мови програмування PASCAL. Крім цього, на його рахунку такі чудові розробки, як MODULA-2, OBERON та багато іншого.


Досягнення. Програма Паскаль (1970); Програма Паскаль (1970); MODULA-2 (1978 р); MODULA-2 (1978 р); OBERON(). OBERON().


Паскаль - мова програмування загального призначення. Паскаль був створений Ніклаусом Віртом у роках. Він був опублікований в 1970 році Віртом як невелика і ефективна мова, щоб сприяти хорошому стилю програмування, використовувати структурне програмування та структуровані дані. На думку М. Вірта, мова повинна сприяти дисциплінуванню програмування, тому, поряд із суворою типізацією, у Паскалі зведено до мінімуму можливі синтаксичні неоднозначності, а сам синтаксис автор намагався зробити інтуїтивно зрозумілою навіть за першого знайомства з мовою. Спочатку мова мала ряд обмежень: неможливість передачі функціям масивів змінної довжини, відсутність нормальних засобів роботи з динамічною пам'яттю, обмежена бібліотека введення-виведення, відсутність засобів для підключення функцій написаних іншими мовами, відсутність засобів роздільної компіляції тощо. призначення. Паскаль був створений Ніклаусом Віртом у роках. Він був опублікований в 1970 році Віртом як невелика і ефективна мова, щоб сприяти хорошому стилю програмування, використовувати структурне програмування та структуровані дані. На думку М. Вірта, мова повинна сприяти дисциплінуванню програмування, тому, поряд із суворою типізацією, у Паскалі зведено до мінімуму можливі синтаксичні неоднозначності, а сам синтаксис автор намагався зробити інтуїтивно зрозумілою навіть за першого знайомства з мовою. Спочатку мова мала ряд обмежень: неможливість передачі функцій масивів змінної довжини, відсутність нормальних засобів роботи з динамічною пам'яттю, обмежена бібліотека вводу-виводу, відсутність засобів для підключення функцій написаних іншими мовами, відсутність засобів роздільної компіляції тощо.


Модула-2 (Modula-2) - мова програмування загального призначення. Мова Модула-2 структурна, модульна мова програмування, із синтаксисом, заснованим на мові Паскаль, але помітно переробленою та покращеною. Його основні характерні риси наведені нижче: Модула-2 (Modula-2) мова програмування загального призначення. Мова Модула-2 структурна, модульна мова програмування, із синтаксисом, заснованим на мові Паскаль, але помітно переробленою та покращеною. Його основні характерні риси наведені нижче: Програма є набір модулів самостійних одиниць компіляції, які можуть компілюватися окремо. Програма є набір модулів самостійних одиниць компіляції, які можуть компілюватися окремо. Імпорт визначень, описаних у інших модулях, повністю контролюється. Імпорт визначень, описаних у інших модулях, повністю контролюється. Усі засоби введення-виведення виключені з мови. Натомість використовуються бібліотечні модулі, на які покладено завдання реалізації введення-виводу на конкретних системах. Усі засоби введення-виведення виключені з мови. Натомість використовуються бібліотечні модулі, на які покладено завдання реалізації введення-виводу на конкретних системах. У мову введено мінімум понять та примітивів для багатопотокового програмування, додано також стандартну бібліотеку, що підтримує паралельні програми. У мову введено мінімум понять та примітивів для багатопотокового програмування, додано також стандартну бібліотеку, що підтримує паралельні програми. Увімкнено засоби прямого доступу до апаратури комп'ютера, зокрема, реалізовано пряме відображення структур даних на згадку, у тому числі з прямим завданням адреси. Увімкнено засоби прямого доступу до апаратури комп'ютера, зокрема, реалізовано пряме відображення структур даних на згадку, у тому числі з прямим завданням адреси.


Оберон мова програмування високого рівня, розроблений Ніклаусом Віртом, для виконання програм на якому призначена однойменна операційна система, авторами якої є Н. Вірт та Юрг Гуткнехт. Програми, написані мовою програмування Оберон, вимагають певної підтримки під час виконання ним необхідний динамічний завантажувач і автоматично збирач сміття, що централізовано виконується, для цього програмам на мові Оберон потрібне спеціальне операційне середовище. Традиційним методом її реалізації є додавання до системи набору бібліотек, реалізують необхідні компоненти, хоча, взагалі кажучи, операційному середовищі не обов'язково потрібна окрема операційна система: вона як така може бути операційну систему. Оберон мова програмування високого рівня, розроблений Ніклаусом Віртом, для виконання програм на якому призначена однойменна операційна система, авторами якої є Н. Вірт та Юрг Гуткнехт. Програми, написані мовою програмування Оберон, вимагають певної підтримки під час виконання ним необхідний динамічний завантажувач і автоматично збирач сміття, що централізовано виконується, для цього програмам на мові Оберон потрібне спеціальне операційне середовище. Традиційним методом її реалізації є додавання до системи набору бібліотек, реалізують необхідні компоненти, хоча, взагалі кажучи, операційному середовищі не обов'язково потрібна окрема операційна система: вона як така може бути операційну систему.


Зараз доктор Вірт разом із трьома іншими колегами займається питаннями автоматизованого проектування апаратних засобів комп'ютерних систем. Зараз доктор Вірт разом із трьома іншими колегами займається питаннями автоматизованого проектування апаратних засобів комп'ютерних систем. Всі роботи доктора Вірта внесли великий внесок у комп'ютерну науку PASCAL зробив мови програмування легшими для використання та вивчення, а комп'ютери доступнішими для масового користувача" Його проекти, від EULER до OBERON, прагнули спростити та знищити бар'єри між апаратними засобами та програмним забезпеченням, зробити мови програмування легшими у використанні.Усі роботи доктора Вірта внесли великий внесок у комп'ютерну науку PASCAL зробив мови програмування легшими для використання та вивчення, а комп'ютери доступнішими для масового користувача" Його проекти, від EULER до OBERON, прагнули спростити та знищити бар'єри між апаратними засобами та програмним забезпеченням, зробити мови програмування легшими у використанні.


Ніклаус Вірт – це ім'я в Росії відомо багатьом. Три з лишком десятиліття тому професор Вірт створив у далекій Швейцарії мову програмування Паскаль. Здавалося б, одного цього було достатньо, щоб надовго вписати його ім'я до літопису комп'ютерних наук. Але в житті нерідко буває так, що визнання і популярність набувають далеко не найкращі і не досконалі твори. Ось і у випадку з Паскалем ми бачимо лише вершину айсберга, а більшість творчості Вірта досі для багатьох залишається невідомою.

Ніклаус Вірт народився 15 лютого 1934 р. у невеликому містечку Вінтертурі, у передмісті Цюріха. Народився Ніклаус у сім'ї Уолтера та Гедвіг Вірт. Він жив неподалік школи, де викладав його батько. У їхньому будинку була хороша бібліотека, де Вірт знаходив чимало цікавих книг про залізниці, турбіни та телеграф.

Невелике містечко Вінтертур має багатовікову історію та славиться своїми машинобудуванням: там випускаються локомотиви та дизельні двигуни. З дитинства Вірт захоплювався техніком, особливо авіамоделюванням. Він буквально мріяв небом. Але для запуску ракет потрібно було отримувати паливо, і тому він зайнявся хімією. Юний Вірт обладнав у підвалі школи "секретну" лабораторію. Ніщо не могло його зупинити: одного разу зроблена ним модель відхилилася від заданої траєкторії та потрапила під ноги директору школи. Проте Вірт все одно продовжував йти до наміченої мети.

Через кілька десятиліть Ніклаусу Вірту, як і Кену Томпсону, автору UNIX, довелося політати на МІГ з військового аеродрому в Кубинці, що знаходиться під Москвою. Збулася його заповітна мрія. Найкраще мотивацію професійної творчості Вірта розкрив його колега зі Стенфордського університету (США), професор Дональд Кнут: "Вірт завжди хотів створювати аероплани, і йому потрібен був найкращий інструментарій. Ось чому він проектував багато комп'ютерних мов та мікрокомп'ютерів."

Від будівництва моделей Ніклаус досить швидко перейшов до розробки їхнього дистанційного управління. Коли йому виповнилося 18 років, він із ще двома цюріхськими авіамоделістами отримали з Англії бажану радіоапаратуру. Це зумовило його подальшу долю – 1954 р. Вірт вступив на факультет електроніки до цюріхського ETH (Eidgenoessische Technische Hochschule, Швейцарський федеральний технологічний інститут). Після чотирьох років навчання Вірт отримав ступінь бакалавра у галузі електротехніки. А потім починається славне десятирічне заокеанське наукове "турне" майбутнього "батька Паскаля" та "короля компіляторів" за маршрутом Швейцарія – Канада – США – Швейцарія.

Своє навчання Вірт продовжив у Лавальському університеті м. Квебеку (Канада), де у 1960 р. отримав ступінь магістра. Потім його запросили до університету Каліфорнії в Берклі (США) – майбутню перлину Кремнієвої долини. Там під керівництвом професора Хаскі у 1963 р. Ніклаус Вірт захистив дисертацію, присвячену розвитку Алгола засобами Ліспа (мова Euler). Ця робота буквально дала йому путівку в життя: Вірта помітили метри програмування і запросили до Комітету IFIP зі стандартизації Алгола. Та школа не пройшла даремно: на все життя Вірт запам'ятав, що доводити свою правоту треба справою, особливо коли тебе не хочуть чути. У розробці мов він назавжди відмовився від абстрактно-наукового підходу на користь математично-інженерного. За його словами, краще спочатку реалізувати мову і лише потім слід про неї писати.

З 1963 по 1967 р. Вірт працював доцентом (assistant professor) у Стенфордському університеті та у 1967 р. повернувся у цьому званні до університету Цюріха. А в 1968 році він отримав в ETH звання професора комп'ютерних наук і почав зводити на батьківщині свій "швейцарський" Стенфорд. Двадцятиліття з 1969 до 1989 р.р. було, мабуть, найпліднішим періодом у житті Вірта (табл. 1). Він продовжував будувати свою школу, приділяючи чимало часу організаційній діяльності. З 1982 по 1984 роки. (а потім і з 1988 по 1990 рр.) Вірт очолював у ETH факультет комп'ютерних наук, а з 1990 р. керував Інститутом комп'ютерних систем (Institute of Computer Systems) при ETH. На пенсію професор Вірт пішов 1 квітня 1999 р. після досягнення 65-річного віку.

Три друга-однодумці: Хоар, Дейкстра та Вірт.

Романтичні 1960-ті роки започаткували дружбу трьох патріархів структурного програмування – голландця Едсгера Дейкстри, англійця Ентоні Хоара та швейцарця Ніклауса Вірта. Цих "нобелівських" лауреатів (премія Тьюринга, що присуджується асоціацією ACM, вручається раз у житті і прирівнюється до комп'ютерних наук до Нобелівської) зблизили не так абстракції комп'ютерних наук, як чітка професійна позиція.

Едсгер Дейкстра (Нідерланди, Ейндховенський технологічний університет). З промови під час вручення премії Тьюринга (Бостон, США, 14 серпня 1972 р.).

Коли комп'ютерів ще було, то програмування не становило жодної проблеми. Коли у нас з'явилося кілька малопотужних комп'ютерів, програмування стало проблемою середньої складності. Тепер же, коли ми маємо гігантські комп'ютери, то і програмування перетворюється на гігантську проблему.

Ентоні Хоар (Велика Британія, Оксфордський університет). З промови під час вручення премії Тьюринга (Нешвілл, США, 27 жовтня 1980 р.).

Майже все у програмному забезпеченні може бути реалізовано, продано і навіть використано, якщо виявити достатню наполегливість. Але існує одна якість, яку не можна купити – це надійність. Ціна надійності – гонитва за крайньою простотою. Це ціна, яку дуже багатому найважче заплатити.

Ніклаус Вірт (Швейцарія, Швейцарський Федеральний технологічний інститут). З промови під час вручення премії Тьюринга (Сан-Франциско, США, жовтень 1984 р.):

«Ми живемо у складному світі і намагаємось вирішувати складні за своєю суттю проблеми, які найчастіше для свого вирішення вимагають складних пристроїв. Однак це не означає, що ми не повинні знайти елегантних рішень, які переконують своєю ясністю та ефективністю. Прості елегантні рішення ефективніші, але знайти їх важче, ніж складні, і для цього потрібно більше часу».

Найвідомішим досягненням професора Вірта вважається мова Паскаль (1970). Безумовно, багато хто про цю мову чув і знає її. Паскаль зіграв величезну роль області формування світогляду кількох поколінь програмістів. Головна його перевага в простоті та елегантності: він побудований на чітких принципах структурного програмування, сформульованих Едсгером Дейкбуд, на красивій математичній базі, закладеній Ентоні Хоаром, і на блискучому архітектурному втіленні ідей Algol-W, реалізованих Ніклаусом Віртом. З технологічної точки зору Паскаль був цікавий не тільки тим, що його компілятор, створений в ETH, став однією з перших реалізацій мов високого рівня на самому собі, приблизно на два роки випередивши компілятор Сі. У ході робіт над ним у 1973 р. була вигадана абстрактна Pascal-машина (P-машина), що виконує спеціальний P-код. Щоб вирішити проблему перенесення компілятора Паскаля на різні платформи, Вірт вирішив скористатися випробуваними методами інтерпретації. З найбільш відомих рішень, що передували P-коду, можна назвати реалізацію мови Snobol-4 (Р. Грісуолд, 1967), де як код абстрактної машини використовувалася мова SIL (System Implementation Language).

Як відомо, введення віртуальної (абстрактної) машини Java подавали її розробники з Sun Labs навряд чи не фундаментальне відкриття в практиці мов програмування. Один із учнів Вірта, Міхаель Франц, помітив з цього приводу наступне: "Переносімість Java заснована на наявності віртуальної машини, що дозволяє легко імітувати велику кількість архітектур. Ідея віртуальної машини була дуже популярна вже понад двадцять років тому, хоча згодом про неї забули. Тоді мова йде йшлося про Pascal-P – створену в ETH реалізації Паскаля, яка відіграла вирішальну роль у поширенні цієї мови. Цікаво, що віртуальні машини для Паскаля та Java дуже схожі по архітектурі."

Ідеї ​​P-коду знайшли застосування у платформах Java і NET, як у інших мовами і машинах баз даних, а й у реалізації апаратних засобів. Наприклад, для безпосереднього виконання P-коду Western Digital в 1979 р. був розроблений спеціальний набір WD9000 PEngine. У Стенфордському університеті у 1980 р. було створено експериментальний процесор POMP. З'явилася в 1978 р. комерційна реалізація Паскаля - UCSD Pascal стала ще більш відомою, і багато хто забув, де ж вперше виникли P-код і P-машина. Ось що говорить про це Вірт: "Після того, як стало відомо про існування Паскаля, кілька людей попросили нас допомогти в його реалізації на різних машинах, наголошуючи, що вони мають намір використовувати його для навчання і що швидкодія для них не має першорядного значення. Після цього ми вирішили створити версію компілятора, яка генерувала б код для машини нашої власної конструкції.Пізніше цей код став відомий як P-код... Pascal-P виявився виключно вдалою мовою для поширення серед великої кількості користувачів. масштаби такого розвитку подій, то ми доклали б більше зусиль та ретельності при розробці та документуванні P-коду”.

Мова Паскаль багатьма сприймалася передусім мову викладання комп'ютерних наук. Але сам Вірт не згоден з таким явним звуженням його потенціалу (1984): "Стверджувалося, що Паскаль був розроблений як мова для навчання. Хоча це твердження справедливе, але його використання при навчанні не було єдиною метою. Насправді я не вірю в успішність застосування під час навчання таких інструментів і методик, які не можна використовувати при вирішенні якихось практичних завдань.За сьогоднішніми мірками Паскаль мав явні недоліки при програмуванні великих систем, але 15 років тому він був розумним компромісом між тим, що було бажано, і тим, що було ефективно.

Так, ця мова була далеко не ідеальною. Свого часу Брайан Керніган, відомий популяризатор мови Сі, співавтор класичного посібника з Сі (K&R), написав критичну статтю "Чому Паскаль не є моєю улюбленою мовою програмування". Якщо з нею уважно ознайомитися, то можна вирішити, що Ніклаус Вірт зробив з неї правильні висновки і в мові Modula-2 (1980) під впливом статті усунув багато недоліків канонічного Паскаля. Однак слід мати на увазі одну важливу обставину. Робила Кернігана, що наробила шуму, була написана 2 квітня 1981 р., тобто. через два роки після реалізації групою Вірта в ETH першого компілятора Modula-2 та через рік після випуску апаратної реалізації Modula-2 – персонального комп'ютера Lilith. У квітні 1993 р. на Конференції ACM з історії мов програмування Вірт у відповідь на запитання одного зі своїх колег поставив мові Modula-2 оцінку "6 балів" (найвища оцінка у школах Швейцарії).

Мова Modula-2 була не тільки компактною та ефективною альтернативою мови Ada, вона набагато випереджала ті реалізації ідей модульного програмування, які лише через роки і в менш продуманому вигляді знайшли своє відображення в Turbo Pascal і Delphi. Відома операційна система OS/400 для IBM AS/400 була реалізована на Modula-2. Центр системних досліджень корпорації Digital (DEC Systems Research Center) взяв цю мову як основу реалізації своїх внутрішніх проектів, створивши згодом мову Modula-3.

p align="justify"> Комп'ютерна індустрія відставала від робіт Вірта як мінімум на 5-7 років. У тому ж 1979 р. (коли з'явився перший компілятор Modula-2 на комп'ютері PDP-11 в середовищі RT-11) Lilith, що набагато поступався, легендарний комп'ютер Apple II тільки-но знайшов компілятор Apple Pascal, орієнтований на UCSD-реалізацію Паскаля. До появи першого скромного Turbo Pascal Андерса Хейльсберга залишалося чотири роки! Щодо комп'ютера Lilith, то він став першим комп'ютером у Європі, який повноцінно використав можливості лазерного друку. Згодом Вірт із сумом говорив про те, що з проектом Lilith швейцарська промисловість втратила свій унікальний шанс.

Справжньою перлиною творчості Вірта став проект Oberon (1988). Створена майже два десятиліття тому система Oberon (Oberon System, http://www.oberon.ethz.ch/) грає в наші дні приблизно ту саму роль, що на початку 1980-х років грали проекти Alto та Xerox Star знаменитого центру Xerox PARC , звідки взяли початок сучасні персональні комп'ютери та текстові редактори Для таких корпорацій, як Microsoft, IBM та Sun Microsystems, проект Oberon став джерелом плідних ідей, серед яких можна виділити документоорієнтований інтерфейс, браузери, промислові мови розробки програмного забезпечення (Java та C#), машинно-незалежний мобільний код (JVM та .NET CLR) , аплети, компонентне ПЗ, динамічну компіляцію (JIT, AOC, DAC), смарт-теги, веб-служби та ін.

Зараз це здається неймовірним, але щоб перекомпілювати операційну систему Oberon і компілятор Oberon, потрібно було всього 15 секунд! І це на устаткуванні початку 1990-х років.

Міхаель Франц у лютому 1994 р. захистив в ETH дисертацію, яка називалася "Динамічна кодогенерація – ключ до програмного забезпечення, що переноситься". У ній були чітко позначені проблеми віртуальних машин та запропоновано вкрай простий та досить незвичайний підхід до досягнення переносимості. У дисертації Франца як докладно розбирався принцип формування та зберігання проміжного уявлення, а й робився висновок у тому, що з подібного класу мов він залишається практично незмінним. Іншими словами, для мови Java цей принцип цілком підходив. До речі, поняття applet теж фігурувало у роботах Франца. Через рік після появи Java Міхаель Франц до літа 1996 р. підготував середовище під назвою Juice, виконану у вигляді модуля для браузерів Netscape і Microsoft. Модуль складався з компактного варіанта ОС Oberon і повнофункціонального компілятора Oberon, розмір яких (в Oberon-форматі) становить лише 100 Кбайт. У березні 1994 р. Міхаель Франц зробив у Sun Labs кілька доповідей, і до весни того ж року Білл Джой (віце-президент Sun та ідеолог проекту створення Java) вже мав на руках всю необхідну інформацію, включаючи дисертацію Франца. Джой став одним із перших власників ліцензії на ETH Oberon. У червні 1994 р. Біллу Джою спало на думку (а ось як це сталося, історія сором'язливо замовчує) ідея переорієнтувати мову Oak Джеймса Гослінга на інші завдання - створення компактної ОС. У пожежному порядку було зверстано проект, який отримав назву LiveOak. Все це необхідно враховувати при погляді на проблеми Java.

Світ промислового програмування сповнений надмірної складності. В результаті такі критерії, як простота (наочність вихідних текстів), надійність, компактність програм і ефективність коду, що виконується, тепер замінюються на один головний критерій - швидкість реалізації ідей. А це неминуче веде до різкого зниження впливу самої мови та зростання ролі інструментального середовища, якому часом взагалі все одно, ніж оперувати, і насамперед його можливостей візуалізації. Як точно зазначає Ніклаус Вірт, "постійна нестача часу - ось, ймовірно, найперша причина, що веде до появи громіздкого програмного забезпечення". Пріоритет часу розробки загалом зрозумілий: людські ресурси нині стоять значно вище, ніж апаратні. Але чи не втрачаємо ми дорогою те цінне, що повернути потім буде дуже важко?

Ми живемо в епоху торжества шалених технологічних перегонів та надуманої складності. Все своє життя Ніклаус Вірт присвятив боротьбі з цими згубними явищами, але його не чують чи не хочуть чути. "Крайню міру розуму, - писав Блез Паскаль, - звинувачують у божевіллям так само, як повна відсутність розуму. Добра тільки посередність".

Мови програмування, розроблені Віртом:

(1970) Паскаль

(1988) Оберон

Ніклаус Вірт в Академмістечку.

2 та 3 жовтня як гостя Інституту систем інформатики ім. А. Єршова Академмістечко відвідав знаменитий учений, автор алгоритмічних мов Паскаль, Модула та Оберон, професор Вищої технічної школи Цюріха Ніклаус Вірт. З Академмістечком у Вірта давні зв'язки. У 1965 році він познайомився з академіком Єршовим, який приїжджав до США на конгрес ІФІП (Міжнародна федерація з обробки інформації). Наукові контакти складалися як за лінією робочої групи ІФІП з мови Алгол, так і за лінією використання мови Паскаль для реалізації системи<Бета>. Свідчення дружніх стосунків двох вчених зберігає архів Єршова.

Велику роль у популяризації в нашій країні мов та систем Ніклауса Вірта відіграли роботи групи професора І. Поттосіна з ІСІ СО РАН. Ігор Васильович був науковим керівником Дмитра Кузнєцова, одного з розробників архітектури<Кроноса>(перший вітчизняний 32-розрядний комп'ютер), і саме він подав ідею повторити експеримент Ніклауса Вірта – реалізувати процесор з архітектурою, яка орієнтована на мови високого рівня.

Вранці 2 жовтня Вірт взяв участь у відкритті Потосинської олімпіади в НГУ, висловивши надію, що створені ним мови програмування – наступники Паскаля – займуть гідне місце у системі IT-освіти. О третій годині того ж дня Велика фізична аудиторія НГУ була повністю заповнена бажаючими прослухати доповідь професора Вірта про еволюцію мов і програмування, де в дуже доступній логічній формі було дано аналіз інновацій у комп'ютерних науках за останні 40 років.

На початку свого виступу він вибачився, що так і не довчив російську мову до того рівня, щоб безперервно і виразно говорити нею цілих дві години. Пропозиція прочитати доповідь німецькою аудиторія зустріла збентеженим мовчанням.<Самой серьезной ошибкой, сделанной еще в 1957 году, была ошибка: Y = X>, – зазначив професор. У залі пролунали легкі смішки. Йшлося про те, що не всі можуть сприймати цю рівність як команду привласнення. Крім вищезгаданої помилки, Вірт відзначив і цілу низку інших промахів, що ускладнюють мови настільки, що їхнє практичне використання серйозно утруднюється. У зв'язку з цим Вірт пояснив, що навмисно прийшов до використання у своїх мовах низхідного синтаксису, а також висловив подив про існуючу досі команду віртуальної переадресації, яка була потрібна лише за часів, коли пам'ять обчислювалася кіло-, а не мегабайтами.

Окремою мішенню для критики професора були популярні мови С і С++, до незручної та заплутаної структури яких учений повертався неодноразово. Так, наприклад, мова Java була ним названа Обероном, зіпсованим синтакісом мови С. Як вірний шлях Вірт запропонував почати активно використовувати Оберон при навчанні студентів програмуванню. Той факт, що на С++ пишеться сьогодні величезна кількість програм, професор назвав не основним. Якщо підприємство працює цією мовою, то його інженери-програмісти мають безліч проблем, тоді як навчальна частина в цей же час продовжує випускати спеціалістів по С і С++ через їх затребуваність на підприємствах. В результаті явище утворює собою замкнене коло, яке просто необхідно розірвати, якщо ми говоримо про розвиток мов програмування у бік функціональності та простоти. Професор не скупився на критику на адресу мов програмування з перевизначуваними синтаксичними правилами (макроси мови С і оператори, що перевантажуються).

Охочих отримати автограф знаменитого Вірта виявилося чимало – професор підписував усі запропоновані предмети близько півгодини. Найсерйозніші студенти гордо принесли із собою книги самого Ніклауса Вірта<Алгоритмы и структуры данных>, <Системное программирование>і<Модула-2>. Інші обмежилися розчерком генія у заліковці чи на студентському квитку. Поки вчений роздавав автографи, на ганку НГУ зібралася пара сотень людей, щоб зафіксувати урочистий момент історії.

Програму перебування Ніклауса Вірта в Академмістечку завершив<круглый стол>з викладачами програмування різних вузів та шкіл, де були розглянуті питання, що хвилюють сучасних педагогів. Недбало посварюючи вічно затребуваний С++, учасники дійшли єдиної думки про те, що Оберон або Компонентний Паскаль є загальним найбільш зручним дільником цілого ряду сучасних мов програмування і цілком може грати роль есперанто в курсі студентів-програмістів.

За великий внесок в інформатику доктор Ніклаус Вірт отримав численні нагороди та почесті. Американська Рада Магістрів надала йому звання член-кореспондента; Комп'ютерне Товариство Інституту Інженерів з електроніки та радіотехніки – звання комп'ютерного піонера; він отримав приз IBM європейської науки та техніки; став членом Швейцарської Академії Інженерії та іноземним партнером Американської Академії Інженерії, а також отримав орден "Pur le merte" та премію Тьюринга. Вірт отримав почесні докторські ступені від багатьох університетів: університет Лавап, Квебек (Канада), університет Каліфорнії, Берклі, університет Йорк (Англія), університет Ліні Йоганна Кеплера (Австрія), університет Новосибірська (Росія), Відкритий університет Англії, університет Преторії (Південна Африка).


Богатирьов – керівник «Студії програмних технологій 1024» при видавництві «Відкриті системи». E-mail: [email protected]З біографії Н. Вірта Професор Ніклаус Вірт (Niklaus K. Wirth), автор мови Паскаль, закінчив Швейцарський федеральний технологічний інститут ETH (Eidgenoessische Technische Hochschule) у рідному Цюріху (1958). У Лавальському університеті в Квебеку (Канада) він отримав...


Опис програмного продукту. 3.1 Робота з електронним посібником Цей електронний ресурс призначений для студентів ВНЗ, з метою підготовки до лекційних, практичних та лабораторних занять. Електронний посібник виконано серед AutoPlay Media Studio 7.0. Для початку роботи з програмним продуктом необхідно запустити файл .exe. Титульний лист даного посібника представлено на рис. ...

Ніклаус Вірт (нім. Niklaus Wirth, нар. 15 лютого 1934) - швейцарський учений, спеціаліст у галузі інформатики, один з найвідоміших теоретиків у галузі розробки мов програмування. Ведучий розробник мов Паскаль, Модула-2, Оберон, професор комп'ютерних наук (ETH), Лауреат премії Тюрінга 1984 року.

Ніклаус Вірт народився 15 лютого 1934 року у Вінтертурі, у передмісті Цюріха (Швейцарія). Батьки - Уолтер та Хедвіг Вірт. Батько Ніклауса був шкільним учителем.

Ніколи програми не містять так мало помилок, як за відсутності будь-яких засобів налагодження.

Вірт Ніклаус

У дитинстві Ніклаус Вірт захоплювався авіамоделізмом та будівництвом ракет, захоплення електронікою та системами програмного управління почалося з розробки пристроїв дистанційного керування для моделей. В 1954 вступив на факультет електроніки Швейцарського федерального технологічного інституту (ETH) в Цюріху, де за чотири роки отримав ступінь бакалавра з електротехніки.

Продовжив навчання у Лавальському університеті (Квебек, Канада), 1960 року отримав ступінь магістра. Потім був запрошений до Каліфорнії в Берклі (США), де в 1963 році, під керівництвом професора Хаскі, захистив дисертацію, темою якої стала мова програмування Ейлер (Euler) - розширення Алгола засобами мови Лісп.

Дисертація Вірта була помічена спільнотою розробників мов програмування, і в тому ж 1963 він був запрошений до Комітету зі стандартизації Алгола IFIP (Міжнародної федерації інформатики), який розробляв новий стандарт мови Алгол, згодом став Алголом-68.

Разом із Чарльзом Хоаром Вірт відстоював у комітеті лінію на розробку помірковано модифікованої версії Алгола, вільної від недоліків вихідної мови та доповненої мінімумом справді необхідних коштів. Вірт і Хоар представили комітету мову Algol-W (W - від Wirth), яка була саме такою переробкою Алгола, але підтримки не зустріли.

По завершенні роботи комітету 1968 року Вірт увійшов до тих, хто критикував Алгол-68, говорячи про його недостатню надійність і надзвичайну надмірність. Паралельно, з 1963 по 1967 роки, Вірт працював асистентом у Стенфордському університеті, США.

Разом з Джимом Уельсом розробив і реалізував мову PL/360, призначену для програмування на платформі IBM/360 - алголоподібну мову, в яку було введено ряд системно-залежних можливостей, пов'язаних з архітектурою IBM/360.

В 1967 повернувся в званні доцента в університет Цюріха, в 1968 отримав в ETH звання професора комп'ютерних наук. Протягом 31 року працював у ETH. Багато займався організаційною діяльністю, удосконалюючи систему навчання свого університету.

В 1970 створив мову програмування Паскаль. У 1970-х роках розробив, разом із Ч. Хоаром та Е. Дейкбуд технологію структурного програмування. Стаття Вірта «Розробка програми методом покрокового уточнення», що вийшла в 1971 році, описала і обґрунтувала класичну методологію розробки програмного забезпечення «зверху вниз», що стала згодом.

Для перенесення Паскаль-системи на різні обчислювальні платформи в 1973 році за участю Вірта було розроблено прототип віртуальної машини, що виконує на будь-якій платформі проміжний «пі-код», який передбачалося компілювати всі програми.

У 1975 році розробив мову Модула, в якій реалізував ідеї розробки модульних програм з добре визначеними міжмодульними інтерфейсами та паралельним програмуванням. Крім того, в Модулі був змінений синтаксис мови - Вірт позбувся успадкованої ще Алгола-60 необхідності застосовувати складові оператори в конструкціях розгалуження і циклах.

Модула була широко відома і мала лише одну експериментальну реалізацію, та її доопрацьована версія - Модула-2, розробка якої розпочалася 1977 року і закінчилася 1980 року, призначена реалізації системного ПЗ розроблюваної в ETH системи Lilith - 16-разрядного персонального комп'ютера, стала відома і досить популярна, хоч і не перевершила за популярністю Паскаль, особливо його комерційні реалізації.

Система Lilith обігнала тенденції комп'ютерної індустрії на кілька років, пізніше Вірт із жалем говорив, що, не реалізувавши потенціал цієї системи, швейцарська комп'ютерна індустрія втратила свій історичний шанс. Розвитком Модули-2 стала мова Модула-3, розроблена спільно фірмами DEC та Olivetti; у його створенні Вірт участі не брав.

У другій половині 1970-х Вірт брав участь у конкурсі міністерства оборони США на розробку нової мови для програмування вбудованих систем, у результаті якої було створено мову Ада. Повторилася історія з Алголом-68 – проект групи, в якій працювали Вірт та Хоар, не був схвалений комітетом з мови. У результаті конкурс виграв проект, заснований на Паскалі, але набагато складніший та об'ємніший.

З 1982 по 1984 та з 1988 по 1990 роки Вірт очолював факультет комп'ютерних наук ETH, з 1990 року – Інститут комп'ютерних систем при ETH.

У 1988 році у співдружності з Юргом Гуткнехтом (Jurg Gutknecht) Вірт розробив мову програмування Оберон. Метою розробки було створення мови для реалізації системного програмного забезпечення нової робочої станції. Основою для Оберона стала Модула-2, яку спростили, але при цьому доповнили новими можливостями.

У 1992 році Вірт і Месенбек випустили повідомлення про нову мову програмування - Оберон-2, - мінімально розширену версію Оберона. У цьому ж році була створена дочірня компанія ETH – Oberon microsystems, яка зайнялася розробкою систем Оберон. Вірт став одним із членів її ради директорів.

У 1999 році ця компанія випустила наступну версію Оберона – Component Pascal, більш пристосовану для компонентного програмування. У 1996 році Вірт розробив ще одну оригінальну мову програмування - Lola, призначений для розробки електронних схем, що настроюються.

1 квітня 1999 року Вірт вийшов на пенсію, досягнувши граничного для державного службовця у Швейцарії віку 65 років (ETH - державний ВНЗ, його працівники є держслужбовцями та їхня робота підпорядковується відповідному законодавству).

Член національних академій: Swiss Academy of Engineering (Швейцарія), США Academy of Engineering (США), Berlin-Brandenburg Academy (Німеччина).

Академічна респектабельність Вірта довгий час заважала визнати той факт, що він є одним із перших справжніх гіків в історії інформаційних технологій. Справедливість перемогла лише через десять років після його виходу на пенсію.

Премії та нагороди

IEEE Emanuel Piore Award (1983)
ACM Turing Award (Премія Тюрінга) (1984)
ACM Award for Outstanding Contributions to Computer Science Education (1987, 1989)
IEEE Computer Pioneer (1988)
Prix ​​Max Petitpierre (1989)
IBM Europe Science and Technology Prize (1989)
Marcel Benoit Prize (1990)
Orden Pour le Merite (1996)
Leonardo da Vinci Medal (1999)
ACM Outstanding Research Award in Software Engineering (1999).

Досягнення

Вірт розробив чи брав участь у розробці мов програмування: Euler, Algol-W, PL/360, Pascal, Modula, Modula-2, Oberon, Oberon-2, Component Pascal. Найбільш відома його розробка, безумовно - мова програмування Паскаль, який вплинув кілька поколінь програмістів і став базою до створення великої кількості мов програмування.

Ще одна фундаментальна робота, учасником якої став Вірт – розробка технології структурного програмування, що стала у програмуванні, безумовно, найсильнішою формалізацією як мінімум 1970-х – 1980-х років. Ця технологія розроблена, обґрунтована та впроваджена в життя всього трьома видатними людьми – Віртом, Дейкбудом та Хоаром.

Коментатори неодноразово зазначали, що ідеї Вірта найчастіше випереджали розвиток комп'ютерної промисловості на роки, іноді - на десятиліття.

Розроблена на початку 1970-х система Pascal-P, що передбачає компіляцію програм на Паскалі в універсальний «пі-код» та реалізацію на будь-якій платформі інтерпретатора пі-коду (одна з відомих її реалізацій – UCSD-Pascal Університету Сан-Дієго), яка дозволяла з мінімальними витратами переносити Паскаль-системи на нові апаратні платформи, більш ніж два десятиліття випередила ідеї інтерпретатора проміжного коду, реалізовані в системах, підтримують виконання програм мовою Java й у платформі. NET.

Ідея суміщення системи програмування зі збирачем сміття, що звільняє програміста від необхідності відстежувати час життя об'єктів, динамічно розміщених у пам'яті, була реалізована в 1988 році в мові та операційній системі Оберон. Обидві ці ідеї були використані розробниками Java та. NET у другій половині 1990-х років.

Наукові засади

Можливо, одним із найточніших виразів принципів, яких дотримується Вірт у розробці всіх своїх проектів, є фраза Ейнштейна, винесена в епіграф до «Повідомлення про мову Оберон»: «Роби просто, наскільки можливо, але не простіше за це».

У всіх його роботах простежується початкова орієнтованість на реалізацію найефективнішого вирішення конкретної інженерної задачі на основі гарантовано працюючого, математично обґрунтованого інструментарію. Вірт твердо стоїть на тому, що програмування має бути нормальною інженерною дисципліною, яка гарантує достатній рівень надійності своїх розробок.

Досягнення ж надійності можливе, за Віртом, лише одним способом: максимально можливим спрощенням і самих систем, і інструментів, які використовуються для їх створення. Відповідно до цього принципу мови та системи програмування, що розробляються Віртом, завжди були взірцем «розумної достатності», навіть свого роду аскетичності – у них передбачалося лише те, без чого не можна обійтися.

Навіть розширення існуючих мов та систем завжди супроводжувалося спрощенням.

За підрахунками, опублікованими у статті Сергія Свердлова «Арифметика синтаксису», «лінія Вірта», як він її назвав – лінійка мов, що включає Паскаль, Модулу-2, Оберон та Оберон2 – це єдиний приклад «генетичної лінії» мов-нащадків Алгола-60 , у якій складність мови, визначена як кількість лексем у його описі, стабільно знижувалася і в даний час виявляється нижчою, ніж у загального «прабатька» - Алгола-60.

Всі мови «лінії Вірта» простіші за Алгола-60, і кожна наступна мова в цій лінії простіше попереднього. У той самий час Ада більш ніж удвічі складніше свого попередника - Паскаля, C++ приблизно 1,7 разу складніше Сі, а лінійці Паскаль - Турбо Паскаль різних версій - Object Pascal складність експоненційно зростає від версії до версії.

Вірт часто критикує «американський підхід» до розробки засобів програмування, в якому маркетингові міркування переважають вимогами математичної стрункості та гарантованої надійності, і кожна нова модна пошесть супроводжується некритичним внесенням у мови програмування нових синтаксичних елементів.

Це призводить до неправильної оцінки ролі деяких ідей і, зрештою, до неправильної розстановці пріоритетів у створенні ПЗ. Зокрема, говорячи про ОВП, Вірт неодноразово зазначав, що воно є досить тривіальним розширенням того ж структурного підходу, присмаченим новою термінологією, і навряд чи може претендувати на звання «революційної методології програмування».

Відомо єхидне зауваження Вірта з приводу звички американців до антропоцентризму в термінології: «Вони називають розширення типу „спадкуванням“, але, взагалі, спадщина зазвичай переходить до нащадка тільки тоді, коли предок помирає».

Ще один принцип, яким завжди керувався Вірт, можна сформулювати так: Інструмент повинен відповідати задачі. Якщо інструмент не відповідає задачі, потрібно придумати новий, який би їй відповідав, а не намагатися пристосувати наявний». Він вітає розробку «мов, універсальних взагалі».

Кожна розроблена Віртом система мала чітко сформульоване призначення, область застосування, і він без вагань виключав із розробки все, що не було потрібно для даного конкретного призначення.

Тут, однак, потрібно уточнити: до «конкретного призначення», наприклад, Оберона входить забезпечення гранично легкої та безпечної розширюваності системи, тому, не будучи мовою «універсальною взагалі», тобто не включаючи всіх можливих засобів для всіх уявних застосувань, Оберон все-таки є універсальним – «універсальним через розширюваність».

Видані російською мовою:
Систематичне програмування. Вступ. М: Мир, 1977;
Паскаль. Посібник користувача та опис мови. М.: Фінанси та статистика, 1982 (у співавторстві з К. Єнсен);
Алгоритми + структури даних = програми. М: Мир, 1985;
Програмування мовою Модула-2. М: Мир, 1987;
Алгоритми та структури даних. М.: Мир, 1989. ISBN 5-03-001045-9 (версія книги мовою Модула-2)
Алгоритми та структури даних. СПб: Невський діалект. 2001.

Книга Вірта «Алгоритми + структури даних = програми» видавалася російською кілька разів у різних варіантах і вважається першим із трьох класичних підручників із структурного програмування.

Ніклаус Вірт - фото

Ніклаус Вірт - цитати

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

Ніколи програми не містять так мало помилок, як за відсутності будь-яких засобів налагодження.

Дехто вважає, що сучасний світ майже не знає Ніклауса Вірта і навіть не здогадується про його величезний внесок у світову комп'ютерну науку. Хтось вважає його «батьком Паскаля». Вірта згадують не лише педагоги у ВНЗ, коли викладають студентам Turbo Pascal, а й комерційні розробники, які пишуть на Delphi.

Насправді, Ніклаус Вірт є інженером з великої літери, його внесок у розвиток мов програмування не обмежується Паскалем, лише починається з нього. Крім того, Вірт – педагог, громадський діяч і, можна сказати, філософ. Спробуємо оцінити реальний масштаб його особистості та внесок у ІТ-індустрію.

Дитинство, освіта, захоплення

Ніклаус Вірт народився 15 лютого 1934 року у невеликому містечку Вінтертурі, у передмісті Цюріха. Його батьки - Уолтер і Гедвіг Вірт. Батько Ніклауса був шкільним учителем. Він жив неподалік школи, де викладав його батько. У їхньому будинку була хороша бібліотека, де Вірт знаходив чимало цікавих книг про залізниці, турбіни та телеграф.

Вінтертур має багатовікову історію і славиться своїми машинобудуванням: там випускаються локомотиви та дизельні двигуни. З дитинства Вірт захоплювався технікою, особливо авіамоделюванням. Для запуску ракет потрібно було отримувати паливо, і тому він зайнявся хімією. Юний Вірт обладнав у підвалі школи «секретну» лабораторію. Ніщо не могло його зупинити: одного разу зроблена ним модель відхилилася від заданої траєкторії та потрапила під ноги директору школи. Проте Вірт все одно продовжував йти до наміченої мети.

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

Коли йому виповнилося 18 років, він із ще двома цюріхськими авіамоделістами виписали з Англії бажану радіоапаратуру. Це зумовило його подальшу долю – 1954 року Вірт вступив на факультет електроніки до цюріхського ETH (Eidgenoessische Technische Hochschule – Швейцарський федеральний технологічний інститут). Після чотирьох років навчання Вірт отримав ступінь бакалавра у галузі електротехніки. А потім починається славне десятирічне заокеанське наукове «турне» майбутнього «батька Паскаля» та «короля компіляторів» за маршрутом Швейцарія – Канада – США – Швейцарія.

Своє навчання Вірт продовжив у Лавальському університеті міста Квебек (Канада), де 1960 року отримав ступінь магістра. Потім його запросили до університету Каліфорнії в Берклі (США) – майбутню перлину Кремнієвої долини. Там під керівництвом професора Хаскі в 1963 Ніклаус Вірт захистив дисертацію, присвячену розвитку Алгола засобами Ліспа (Euler).

Путівка у життя

Ця робота буквально дала йому путівку в життя: Вірта помітили метри програмування і запросили до Комітету IFIP зі стандартизації Алгола.

Міністерство поставило завдання розробити єдину мову програмування для систем управління автоматизованими комплексами, що функціонують у реальному часі. На увазі, насамперед, бортові системи управління військовими об'єктами. Мова названа на честь математика Ади Лавлейс.

Повторилася історія з Алголом-68 – проект групи, в якій працювали Вірт та Хоар, не був схвалений комітетом з мови. Чарльз Хоар та Ніклаус Вірт вибули з конкурсу після першого етапу. У конкурсі переміг проект, заснований на Паскалі, але набагато складніший та об'ємніший.

Хоар висловив своє жаль тим, що «брязкальця і ​​брязкальця взяли гору над фундаментальними вимогами надійності та безпеки» і застеріг від «армади ракет, що не туди летять через не виявлену вчасно помилку в компіляторі Ada».

Ніклаус Вірт висловився стриманіше, але теж негативно. Він сказав: «Надто багато вивалюється на програміста. Я не думаю, що вивчивши третину Ada, можна нормально працювати. Якщо ви не освоїте всіх деталей мови, то надалі можете спіткнутися на них і це призведе до неприємних наслідків».

Жан Ішбіа, керівник групи розробників Ada, висловивши свою «повагу та захоплення» Віртом, не погодився з ним, сказавши: «Вірт вірить у прості вирішення складних проблем. Я не вірю в такі чудеса. Складні проблеми потребують складних рішень».

Оберон

У 1988 році у співдружності з Юргом Гуткнехтом Вірт розробив мову програмування Оберон. Метою розробки було створення мови для реалізації системного програмного забезпечення нової робочої станції. Основою для Оберона стала Модула-2, яку спростили, але при цьому доповнили новими можливостями.


Юрг Гуткнехт

Ніклаус Вірт з колегами розробили першу версію системи «Оберон», машину, компілятор мови Оберон та операційну систему System Oberon, яка мала графічний інтерфейс користувача, розширені концепції використання тексту в інтерфейсі та в цілому являла собою матеріальний доказ застосування концепцій Вірта.

Як вже писали на «Хабрі», в Обероні модуль – це не лише засіб структурування алгоритмів та структур даних, а й одиниця компіляції, завантаження та розповсюдження. Тобто, модуль є мінімальною сутністю, яку може скомпілювати компілятор. Залежно від одного модуля від інших модулів обчислюються автоматично, але не призводять до включення коду з одного модуля в інший. Включаються тільки ідентифікатори сутностей, що імпортуються, і хешкод залежності, для контролю версії коду.

Модуль є одиницею завантаження, тобто, крім особливих випадків, код модуля є закінченою програмою, в якій є точка входу, і який може виконуватися необмежено довго. Тобто повноцінна програма. Навіть ядро ​​ОС це лише перший завантажений у пам'ять модуль. Також модуль припускає, що його будуть поширювати не тільки у вигляді вихідного коду, але і у вигляді бінарника, а також у вигляді інтерфейсної частини, і для його запуску знадобиться лише певна платформа або кілька платформ. У цілому нині, ці поняття входять у концепцію модульності в Обероні і є модульно-орієнтоване програмування.

У 1992 році Вірт і Месенбек випустили повідомлення про нову мову програмування - Оберон-2, - мінімально розширену версію Оберона. У цьому ж році була створена дочірня компанія ETH – Oberon microsystems, яка зайнялася розробкою систем Оберон. Вірт став одним із членів її ради директорів. У 1999 році ця компанія випустила наступну версію Оберона – Компонентний Паскаль, більш пристосовану для компонентного програмування.

Оберон послужив прямим предком мови паралельного програмування (Active Oberon), різних модифікацій мови Оберон під інші середовища виконання (Component Pascal, Zonnon), був реалізований на кількох платформах (JVM, CLR, JS), послужив прообразом мови Java. Сама система Оберон стала прообразом для проекту Microsoft Singularity.

Як відомо, поява віртуальної (абстрактної) машини Java подавалася її розробниками з Sun Labs навряд чи не фундаментальне відкриття у практиці мов програмування.

Один із учнів Вірта, Міхаель Франц, помітив із цього приводу таке: «Переносімість Java заснована на наявності віртуальної машини, що дозволяє легко імітувати велику кількість архітектур. Ідея віртуальної машини була дуже популярна вже понад двадцять років тому, хоча згодом про неї забули. Тоді йшлося про Pascal-P – створену в ETH реалізації Паскаля, яка відіграла вирішальну роль у поширенні цієї мови. Цікаво, що віртуальні машини для Паскаля та Java дуже схожі з архітектури».

На порозі 2000-х

«А тепер обговоримо характеристики «найсучаснішої, найоб'єктно-орієнтованої і дуже простої» мови Java», писав Сергій Свердлов.
Java не тільки не може вважатися простим, але є однією з найскладніших мов, складнішим, ніж Сі++, і вдвічі складнішим, ніж Оберон.

Але, можливо, зіставлення з тим самим Обероном некоректне? Адже, напевно, Java все ж таки багатша мова, ніж цей ваш Оберон? Нічого подібного! Java має лише дві істотні речі, яких немає в Обероні: вбудована багатопоточність і обробка винятків. Доцільність включення засобів паралельного програмування безпосередньо до мови піддається сумніву багатьма фахівцями. Це могло б вирішуватися лише на рівні бібліотек. До того ж той механізм, який реалізований в Java, – рішення аж ніяк не найвдаліше.



Порівняння обсягу синтаксису мов
Загальне число лексем в описі синтаксису мови може бути узагальненою характеристикою розміру цього опису.

Натомість у маленькому Обероні є і повноцінні записи (об'єкти), і нормальні багатовимірні масиви, а не лише вказівники на них. Є в Обероні і звичні рядки з нулем на кінці, які є просто масивами символів, а не об'єктами, а значить, не вимагають спеціальних засобів для маніпуляцій.
Всупереч пропаганді Java містить мало чогось дійсно нового. Та ж концепція віртуальної машини - перше, що спадає на думку, якщо задуматися про багатоплатформність. Років двадцять п'ять тому це було вдалим та свіжим рішенням.


Така думка була висловлена ​​понад 15 років тому, коли такі суперечки були актуальними. Питання про те, наскільки тепер Java став кращим або гіршим у цьому плані, залишимо відкритим.

Педагогічна та громадська діяльність

З 1963 по 1967 роки Вірт працював доцентом (assistant professor) в Стенфордському університеті і в 1967 повернувся в цьому званні до університету Цюріха. А 1968 року він отримав в ETH звання професора комп'ютерних наук і почав зводити на батьківщині свій «швейцарський» Стенфорд.

Двадцятиліття з 1969 по 1989 було, мабуть, найпліднішим періодом у житті Вірта. Він продовжував будувати свою школу, приділяючи чимало часу організаційній діяльності.

Мова має бути очевидним і природним відображенням фундаментальних та найважливіших концепцій алгоритмів.

Ніклаус Вірт

Ніклаус Вірт

Ніклаус Вірт насамперед відомий як творець мови програмування PASCAL. Крім цього, на його рахунку такі чудові розробки, як MODULA-2, OBERON та багато іншого.

Народився Ніклаус 15 лютого 1934 року у Вінтерхурі (Швейцарія). Батьки Ніклауса - Уолтер і Гедвіг (Келер) Вірт. Він одружився з Нані Такер, у них троє дітей: дочки Керолін та Тіна, син Християн. Вірт приємний у спілкуванні і добродушна людина, яка виглядає молодшою ​​за свої роки. Весь вільний від роботи час він проводить з сім'єю, часто здійснюючи піші походи горбистими височинами північної Швейцарії.

У сферу інформатики Вірт поринув у 1960 році, коли їй не приділялося належної уваги ні в комерційній рекламі, ні в академічних навчальних планах. Ніклаус розповідає: "…Під час мого навчання у Швейцарському державному технологічному інституті єдина згадка про комп'ютери, яку я почув, прозвучала у факультативному курсі, що читався Амброзом Спайзером, що став пізніше президентом IFIP. Розроблений ним комп'ютер ERMETH був малодоступний звичайним студентам, в інформатику виявилося відкладеним до того моменту, як я прослухав курс чисельного аналізу в Лавальському університеті в Канаді, тоді мені стало очевидно, що програмування майбутніх комп'ютерів мало бути ефективнішим, тому я навчався насамперед не проектувати апаратну частину, а правильно та елегантно. її використовувати".

Вірт приєднався до групи, що брала участь у розробці - або, швидше, у доопрацюванні - компілятора та мови для комп'ютера IBM-704. Ця мова була названа NELIAC і була діалектом мови ALGOL-58.

З цього моменту і почалися пригоди Ніклауса у сфері мов програмування. Перший експеримент привів до дисертації і до мови EULER, яка виявилася академічно елегантною, але мала практичну цінність - вона була майже антитезою пізніших мов з типами даних та структурним програмуванням. Але ця мова заклала фундамент систематичної розробки компіляторів, що дозволяли без втрати ясності розширювати їх, щоб увімкнути нові можливості.

Визначний етап у кар'єрі Вірта розпочався в Стенфордському університеті, де він працював як ад'юнкт-професора інформатики новоствореного факультету обчислювальної техніки з 1963 по 1967 рік. Мова EULER привернула увагу робочої групи Міжнародної федерації з обробки інформації (IFIP), яка брала участь у складанні планів щодо майбутнього ALGOL.

Зараз можна сказати, що робота Вірта над мовою PASCAL почалася саме тоді, в 1965 році, коли IFIP запросила його взяти участь у розробці нової мови, яка мала стати наступником ALGOL-60. Розробники розділилися на два напрямки, і Вірт опинився в тому з них, який пішов шляхом розширення ALGOL. У 1966 році у Стенфордському університеті була створена мова під назвою ALGOL-W.

З осені 1967 по 1968 рік, коли Вірт повернувся до Швейцарії і служив як ад'юнкт-професора в університеті Цюріха, звільнившись від зобов'язань перед IFIP, він розробив мову, яка стала наступником ALGOL-W. Вірт назвав цю мову PASCAL, на честь французького математика і фізика XVII століття Блеза Паскаля, який в 1642 сконструював обчислювальну машину, щоб допомогти своєму батькові в роботі зі збору податків. "Крім того, слово "PASCAL" звучить досить мелодійно", - каже Вірт. Мова PASCAL спочатку розроблялася як мова для навчання, але цим її функції не обмежилися. В 1972 PASCAL почав використовуватися на заняттях з програмування в Швейцарському державному технологічному інституті. Свою роботу над мовою Ніклаус закінчив в 1974, створивши високоякісний компілятор, а справжнє визнання PASCAL отримав після розробки Кеном Боулесом P-коду для мікрокомп'ютерів, який дозволив використовувати PASCAL на нових машинах різної конфігурації.

Після цього він переключив свою увагу на вивчення мультипрограмування, внаслідок чого з'явилася мова MODULA, призначена головним чином для програмування спеціалізованих систем, у тому числі і мінікомп'ютерів. Основою для нової мови послужив "Паралельний PASCAL", у якому було застосовано принцип модульної організації комплексів програм, що дозволяє програмісту "ховати" певні частини програм. Початковий варіант MODULA-1 "ніколи не розглядався як повноправна мова програмування", наголошує Вірт. Мовою модульного програмування став MODULA-2, орієнтований персональні комп'ютери.

У ці роки робота Вірта була пов'язана з конструюванням персонального комп'ютера "Ліліт" та використанням мови MODULA-2.

OBERON - ще одна мова програмування, створена доктором Віртом у 1987 році та названа на честь супутника Урану - OBERON, відкритого "Вояджером" у 1977 році.

При створенні всіх своїх мов програмування Вірт дотримувався принципу: "Сутності не слід множити без необхідності", який одержав назву "бритва Оккама" У мові OBERON цей принцип реалізований особливо явно. OBERON став продовженням лінії мов ALGOL-60, PASCAL, MODULA-2. OBERON створено на основі мови MODULA-2, однак, на відміну від PASCAL та MODULA-2, це комбінація мови програмування та операційної системи "для окремого користувача персональної робочої станції". Напрочуд простий і навіть аскетичний, OBERON є, мабуть, мінімальною мовою високого рівня.

Робота тривала там же в Цюріху, де Вірт знаходився вже як професор інформатики з 1968 по 1975 рік. Одночасно, починаючи з 1968 року, доктор Ніклаус Вірт став професором інформатики у Федеральному Інституті технологій Цюріха у Швейцарії, де й працює в цьому званні й досі продовжує активне дослідження в галузі мов програмування.

Талант Вірта як розробника мов програмування доповнюється письменницьким даром. У квітневому номері 1971 року журналу "Communications of the ASM" Вірт опублікував основну статтю за "низхідним" методом проектування програм ("Розробка програми методом поетапного удосконалення"), в якій сформульовані принципи низхідної побудови програми (з послідовним уточненням її фрагмент). Отриманий у результаті елегантний та потужний метод проектування не втратив своєї значущості і сьогодні. Дві інші його статті "Про дисципліну програмування у реальному часі" та "Що ми можемо зробити з необов'язковою різноманітністю позначень", опубліковані в тому ж журналі, присвячені проблемам пошуку адекватного мовного формалізму.

Вірт написав кілька книг з програмістської тематики: "Алгоритми та структури даних", "Програмування на OBERON", "PASCAL - посібник користувача та довідник" та "Проект цифрових операцій".

Зараз доктор Вірт разом із трьома іншими колегами займається питаннями автоматизованого проектування апаратних засобів комп'ютерних систем.

Усі роботи доктора Вірта зробили великий внесок у комп'ютерну науку. PASCAL зробив мови програмування більш легкими для використання та вивчення, а комп'ютери доступнішими для масового користувача. Його проекти, від EULER до OBERON, прагнули спростити та знищити бар'єри між апаратними засобами та програмним забезпеченням, зробити мови програмування легшими у використанні.

Звичайно, відомо багато інших комп'ютерних мов програмування, крім PASCAL, OBERON або MODULA-2, але вклад Вірта у створення та розвиток мов програмування дуже значний.

За великий внесок в інформатику доктор Ніклаус Вірт отримав численні нагороди та почесті. Американська Рада Магістрів надала йому звання член-кореспондента; Комп'ютерне Товариство Інституту Інженерів з електроніки та радіотехніки – звання комп'ютерного піонера; він отримав приз IBM європейської науки та техніки; став членом Швейцарської Академії Інженерії та іноземним партнером Американської Академії Інженерії, а також отримав орден "Pur le merte" та премію Тьюринга. Вірт отримав почесні докторські ступені від багатьох університетів: університет Лаваль, Квебек (Канада), університет Каліфорнії, Берклі, університет Йорк (Англія), університет Ліні Йоганна Кеплера (Австрія), університет Новосибірська (Росія), Відкритий університет Англії, університет Преторії (Південна) Африка).

З книги Середньовічна Франція автора Поло де Больє Марі-Анн

З книги Повсякденне життя Європи у 1000 році автора Поньйон Едмон

Освіта «вульгарних мов» Після того як латинська мова ще в античну епоху витіснила різноманітні італійські діалекти, вона стала впроваджуватися також у завойовані Галію та Іспанію. Звичайно, це не була мова Цицерона, Тита Лівія та Сенекі. Мовою, яку ми знаходимо у

Із книги Молотов. Напівдержавний володар автора Чуєв Фелікс Іванович

Знання мов Молотов каже, що знає іноземних мов. Проте, читає Мопассана по-французьки, Каутського - німецькою ... Я пам'ятаю з дитинства, що в газетах писали, як він в ООН поправив перекладача, який неточно переклав з англійської. Сказав, що мови вчив у

З книги Тюремні зошити [Обране] автора Грамші Антоніо

ВЗАЄМОПЕРЕКЛАДНІСТЬ НАУКОВИХ І ФІЛОСОФСЬКИХ МОВ У 1921 році з приводу організаційних питань Вілічі писав або говорив (приблизно) так: ми не зуміли «перекласти» нашу мову на європейські мови. Необхідно вирішити наступне питання: чи є взаємоперекладність різних

Із книги Таємниці Білоруської Історії. автора Деружинський Вадим Володимирович

Про зміну мов. Як мені здається, сьогодні самі носії стародавньої спадщини предків плутають - йдеться про ятвяги або пруси. Плюс тут ще й лаборська мова, яка цілком може виявитися прусською мовою. Хоча недавно в одній телепередачі про лабори було висловлено думку, що,

З книги Нова теорія походження людини та її виродження автора Мошков Валентин Олександрович

30. ПОХОДЖЕННЯ МОВ Псування звуків від недоліків органів мови. Різноманітність мов походить від різноманітності способів розселення та її різночасності. Арійці азіатські порівняно недавно виселилися з Європи. Походження тієї безлічі мов, які ми

З книги Від таємниці до знання автора Кондратов Олександр Михайлович

Де була колиска мов? Малайсько-індонезійська, або австронезійська, сім'я мов не має спорідненості з іншими сім'ями світу. Правда останнім часом здобуті факти, що говорять про те, що в давнину, приблизно 9 тисяч років тому, ця сім'я утворювала разом з

З книги Історія російської літератури ХІХ століття. Частина 2. 1840-1860 роки автора Прокоф'єва Наталія Миколаївна

автора

З книги Слов'янська енциклопедія автора Артемов Владислав Володимирович

З книги Дорогами тисячоліть автора Драчук Віктор Семенович

Острів різних мов У третьому та другому тисячоліттях до нашої ери на островах Егейського моря, на заході Малої Азії, у Греції та на острові Кріт існувала яскрава, високорозвинена культура. Її численні сліди знаходять і досі. Найбільші археологічні

З книги Коротка історія слов'ян автора Таєвський Д А

Ієрархія слов'янських мов Іллірійська мова Албанська мова Гегійські говори o Тоскський діалект Латинь (Романська група мов) Балкано-романська підгрупа (romana comuna)o Арумінська (аромунська) мова? Північна зона Фаршеротський діалект Москопольський діалект

Із книги Вагрія. Варяги Русі Яра: нарис деполітизованої історіографії автора Чудінов Валерій Олексійович

БЛИЗЬКІСТЬ МОВ «Зуби», або Початок ланцюга дивних збігів Першим на наявність «дивацтв» звернула мою увагу викладач англійської мови Російського університету дружби народів, козашка за національністю Улданай Бахтикиреєва, яка дуже здивувалася

З книги Архітектори комп'ютерного світу автора Частин Аркадій

Олексій Андрійович Ляпунов Автор перших нотацій мов програмування Є ряд способів опису будови алгоритмів: машини Т'юрінга, продукція Посту, нормальні алгоритми Маркова, рекурсії тощо. Однак для інтересів кібернетики ці способи незручні. Загальне

З книги Повне зібрання творів. Том 8. Вересень 1903 — вересень 1904 автора Ленін Володимир Ілліч

д) Інцидент з рівноправністю мов Повернемося до порядку засідань з'їзду.

З книги Всесвітня історія у висловах та цитатах автора Душенко Костянтин Васильович