Металингвистическая абстракция

Металингвистическая абстракция в информатике — это процесс решения сложных проблем путём создания нового языка или словарного запаса, для лучшего понимания предметной области (проблемы или проблем)[1]. Этот вопрос подробно описан в учебнике МТИ «Структура и интерпретация компьютерных программ»[2], который рекомендует использовать язык Scheme как основу для создания новых языков.

Объяснение править

Рассмотрим, например, моделирование аэропорта с помощью компьютера. В процедурных языках программирования (например, Си) программист будет создавать структуры данных для представления элементов аэропорта и функции для работы с данными этих структур. В объектно-ориентированных языках программирования (например, C++) программист может создавать объекты для представления элементов аэропорта с методами, которые представляют их поведение и функционирование. В функциональных ЯП (например Scheme) он создаст функцию, представляющую модель поведения элементов инфраструктуры аэропорта. Металингвистический же программист решит проблемы путём создания нового языка моделирования аэропорта с собственными примитивами и операциями. В данный язык можно включить любые или все из вышеперечисленных методов, в зависимости от поставленной задачи.

Поскольку создание функциональной металингвистической абстракции в нефункциональных языках может быть громоздким, а также из-за синтаксической гибкости функциональных макросов, металингвистическое программирование чаще всего осуществляется на функциональной основе[3].

См. также править

Литература править

Англоязычная править

  • Harold Abelson, Gerald Jay Sussman, Julie Sussman. Structure and Interpretation of Computer Programs. — Часть 4, 1996. — 657 с.
  • Erik De Corte, Marcia Linn, Heinz Mandl, Lieven Verschaffel. Computer-Based Learning Environments and Problem Solving. — Стр. 69-72, 2013. — 484 с.
  • George F. Luger, William A. Stubblefield. Artificial intelligence and the design of expert systems. — Раздел 16, 1989. — 660 с.
  • George F. Luger. Artificial Intelligence: Structures and Strategies for Complex Problem Solving. — 2005. — 903 с.
  • PLILP '97. Programming Languages: Implementations, Logics, and Programs:. — 1997. — 428 с.

Русская править

  • Д. П Горский. Вопросы абстракции и образование понятий. — Стр. 135-138: Изд-во Академии наук СССР, 1961. — 350 с.
  • Вопросы металингвистики. — Ленинградский государственный университет имени А.А. Жданова. Кафедра структурной и прикладной лингвистики, 1974. — 137 с.
  • Искусственный интеллект: стратегии и методы решения сложных проблем, 4-е издание. — Разделы 14, 15, 16: Вильямс, 2005. — 1060 с.

Ссылки править

Примечания править