Головні віхи в історії метавичісленій

Головні віхи в історії метавичісленій

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

Зародження методів і розуміння фундаментальної важливості завдання глибокого перетворення програм - зокрема спеціалізації. Незалежно один від одного до цих ідей прийшли Валентин Ту рчін. Андре й Єршов. Йошихіко Футамура (Yoshihi ko Futamura).

Спеціалізація програм - це породження за програмою f (x, y) при відомому x програми fx. такий, що fx (y) = f (x, y). Спеціалізатор Spec - це програма, що видає по f і x програму fx = Spec (f, x).

Турчин в 1972-77 роках розробив основи методу суперкомпіляціі. спираючись на розуміння необхідності «здійснення великомасштабного метасістемного переходу (МСП) над алгоритмами, програмами», після розробки концепції МСП, викладеної в книзі «Фено мен науки» (написана в 1970 році). Мета цього МСП він метафорично описував так: «Потрібно зробити програми таким же природним об'єктом обробки, як числа на Фортране». Турчин показав, як суперкомпіляція може вирішувати 1) зворотну задачу (дана програма і її результат, знайти аргумент), 2) автоматизувати побудову компіляторів з інтерпретаторів. Він зауважив, що подвійне самопрімененіе (тобто МСП) суперкомпілятора (як спеціалізатора) дає компілятор компіляторів (Футамура і Єршов зупинилися на одноразовому самопрімененіі).

Андрій Єршов виявив (в процесі роботи його колективу над багатомовним компілятором «Альфа»), що велике число різних на вигляд завдань зводиться до побудови так званого генеруючого розширення програм.

Генерує розширення програми f (x, y) - це програма f ge (x), яка за даним х породжує програму fx. таку, що fx (y) = f (x, y), тобто f (x, y) = f ge (x) (y).

Приклад: компілятор - це генерує розширення інтерпретатора. Єршов розробляв метод під назвою змішані обчислення з метою автоматичної генерації генеруючих розширень: Gen (f) = f ge. Зв'язок зі спеціалізацією: Gen (f) = Spec (Spec, f); тут відбувається одноразове самопрімененіе спеціалізатора.

Поява експериментальних суперкомпіляторов і спеціалізаторов. Виникнення світової наукової спільноти Partial Evaluation and Semantic-based Program Manipulation (PEPM), яке включало в себе і суперкомпіляцію.

Опрацювання деталей теорії суперкомпіляціі і рух до практики.

До початку 90-х назріла необхідність у систематизації та «наведення порядку» в підставах суперкомпіляціі. Завдяки роботам Сергія Абрамова, Роберта Глюка (Robert Glьck) і Андрія Климова суперкомпіляція була структурована так, щоб можна було використовувати ядро ​​методів для вирішення більш простих завдань і поступово додавати прийоми для більш складних завдань. Це дозволило розпочати розробку суперкомпіляторов для складних практичних мов типу Java.

Одночасно, Турчин і Андрій немитими продовжували розвивати «просунуті» (advanced) методи суперкомпіляціі в процесі реалізації нового суперкомпілятора для РЕФАН-5, який вдалося використати в деяких практичних завданнях.

«Матереніе» теорії і методів. Використання суперкомпіляторов на практиці. Зокрема, будуть завершені ведуться з кінця 90-х років роботи по метавичісленіям мови Java (і суперкомпіляція, і часткові обчислення) і почнеться їх практичне застосування.

Комп'ютерна та інформаційна революція 90-х років створила реальну потребу в глибоких методах оптимізації програм і підготувала умови і технічні засоби для використання їх на практиці. Суперкомпіляція надасть революционизирующее вплив на методи програмування, давши інструменти для подальшого розвитку «компонентного програмування», декларативного програмування, розробки різноманітних спеціалізованих мов і т. П.

А в 10-му класі у нас була чудова класна мама Ойшпіц Світлана Михайлівна. Завдяки її зусиллям ми часто бували і в Третьяковці, і в Пушкінському музеї і в інших місцях розвитку культурного рівня.

Наша класна, Кіса, Світлана Михайлівна Ойшпіц, дуже любила бити указкою по руках, примовляючи: "Бидло, на який стайні ви виховувалося?"