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