, то програмування стало проблемою середньої складності. Тепер же, коли ми маємо в своєму розпорядженні гігантськими комп'ютерами, то і програмування перетворюється на гігантську проблему.
Ентоні Хоар (Великобританія, Оксфордський університет). З промови при врученні премії Тьюринга (Нешвілл, США, 27 жовтня 1980 р.). p> Майже все в програмному забезпеченні може бути реалізовано, продано і навіть використано, якщо виявити достатню наполегливість. Але існує одне якість, яке не можна купити, - це надійність. Ціна надійності - гонитва за крайньою простотою. Це ціна, яку дуже багатому найважче заплатити. p> Ніклаус Вірт (Швейцарія, Швейцарський Федеральний технологічний інститут). З промови при врученні премії Тьюринга (Сан-Франциско, США, жовтень 1984 р.):
В«Ми живемо в складному світі і намагаємося вирішувати складні за своєю суттю проблеми, які найчастіше для свого вирішення потребують складних пристроїв. Однак це не означає, що ми не повинні знайти елегантні рішення, що переконують своєю ясністю і ефективністю. Прості елегантні рішення більш ефективні, але знайти їх важче, ніж складні, і для цього потрібно більше часу В».
Самим відомим досягненням професора Вірта вважається мова Паскаль (1970). Безумовно, багато хто про це мовою чули і знають його. Паскаль зіграв величезну роль в області формування світогляду кількох поколінь програмістів. Головна його перевага в простоті й елегантності: він побудований на чітких принципах структурного програмування, сформульованих Едсгер Дейкстрой, на красивій математичної базі, закладеної Ентоні Хоаром, і на блискучому архітектурному втіленні ідей Algol-W, реалізованих Ніклаус Віртом. З технологічної точки зору, Паскаль був цікавий не тільки тим, що його компілятор, створений у ETH, став однією з перших реалізацій мов високого рівня на самому собі, приблизно на два роки випередивши компілятор Сі. У ході робіт над ним в 1973 р. була придумана абстрактна Pascal-машина (P-машина), виконуюча спеціальний P-код. Щоб вирішити проблему перенесення компілятора Паскаля на різні платформи, Вірт вирішив скористатися випробуваними часом методами інтерпретації. З найбільш відомих рішень, що передували P-коду, можна назвати реалізацію мови Snobol-4 (Р. Грісуолд, 1967), де в якості коду абстрактної машини використовувалася мова SIL (System Implementation Language). p> Як відомо, введення віртуальної (абстрактної) машини Java підносилося її розробниками з Sun Labs чи що не фундаментальне відкриття в практиці мов програмування. Один з учнів Вірта, Міхаель Франц, зауважив з цього приводу наступне: "Переносимість Java заснована на наявності віртуальної машини, що дозволяє легко імітувати велике число архітектур. Ідея віртуальної машини була дуже популярна вже понад двадцять років тому, хоча згодом про неї забули. Тоді мова йшла про Pascal-P - створеної в ETH реалізації Паскаля, яка відіграла вирішальну роль у поширенні цього мови. Цікаво, що віртуальні машини для Паскаля і Java вельми схожі за архітектурe. "
Ідеї P-коду знайшли застосування не тільки в платформах Java і NET, не тільки в інших мовах і машинах баз даних, але і в реалізації апаратних засобів. Наприклад, для безпосереднього виконання P-коду в Western Digital в 1979 р. був розроблений спеціальний набір WD9000 PEngine. У Стенфордському університеті в 1980 р. був створений експериментальний процесор POMP. Розгромна в 1978 р. комерційна реалізація Паскаля - UCSD Pascal стала ще відомішою, і багато хто забув, де ж вперше виникли P-код і P-машина. Ось що говорить про це Вірт: "Після того як стало відомо про існування Паскаля, кілька людей попросили нас допомогти в його реалізації на різних машинах, підкреслюючи, що вони мають намір використовувати його для навчання і що швидкодія для них не має першорядного значення. Після цього ми вирішили створити версію компілятора, яка генерувала б код для машини нашої власної конструкції. Пізніше цей код став відомий як P-код ... Pascal-P виявився виключно вдалим мовою для розповсюдження серед великої кількості користувачів. І якби у нас вистачило мудрості передбачити масштаби такого розвитку подій, то ми доклали б більше зусиль і ретельності при розробці та документуванні P-коду ".
Мова Паскаль багатьма сприймався насамперед як мова для викладання комп'ютерних наук. Але сам Вірт не згоден з таким завідомим звуженням його потенціалу (1984): "Стверджувалося, що Паскаль був розроблений в якості мови для навчання. Хоча це твердження справедливо, але його використання при навчанні не було єдиною метою. Насправді я не вірю в успішність застосування під час навчання таких інструментів і методик, які не можна використовувати при вирішенні якихось практичних завдань. За сьогоднішніми мірками Паскаль володів явними недоліками при програмуванні великих систем, але 15 років тому він представляв собою розумний компроміс між тим, що було бажано, і тим, що було ефективно ".
Так, ця мова була далеко не ідеальний. У свій час...