Подтекст (язык программирования)
![]() | Эта статья имеет несколько вопросов. Пожалуйста, помогите улучшить его или обсудить эти вопросы на странице разговоров . ( Узнайте, как и когда удалить эти сообщения )
|

Подтекст является умеренно визуальным языком программирования и среды для написания программного обеспечения для приложений . Это экспериментальная, исследовательская попытка разработать новую модель программирования , называемую примером, ориентированным на программирование, путем обработки копированных блоков как прототипов первого класса, для структуры программы. Он использует живой текст, аналогичный тому, что происходит в электронных таблицах , когда пользователи обновляют ячейки, для частых обратной связи. Он предназначен для того, чтобы быть достаточно разработанным, чтобы стать практическим языком для ежедневного использования. Планируется быть открытым программным обеспечением; Лицензия еще не определена.
Подтекст был создан Джонатаном Эдвардсом, который представил статью о языке в Опсла . Это было принято как часть конференции 2005 года.
Среда
[ редактировать ]

Ранние видеоролики подтекстовой среды были выпущены около 2006 года, [ 1 ] что продемонстрировало семантику подтекстовых программ и тесную интеграцию с субтекс -средой и временем выполнения.
Подтекстовые программы объявляются и манипулируют (или мутированы) путем добавления и связывания элементов различных типов с синтаксическим деревом и ввод в значения или имена по мере необходимости, в отличие от печати текстовых программ. Из -за дизайна подтекста языка и среды не существует различий между представлением программы и ее исполнением. Как и электронные таблицы, подтекстовые программы являются живыми выполнениями в среде и среде выполнения, а программирование - это прямые манипулирование этими выполнениями через графическую среду . В отличие от типичных языков функционального программирования , подтекст имеет простую семантику и легко применима к реактивным системам, которые требуют изменяемого состояния, ввода -вывода и параллелистики под моделью, известной как «реактивное программирование». [ 2 ] Вход консоли («Призывы») может использоваться с помощью потока данных в подтекстовой программе, что позволяет пользователям интерактивно манипулировать значениями.
Когерентность
[ редактировать ]Продолжение и подмножество подтекстого языка с использованием других принципов, [ 3 ] является когерентностью , экспериментальным языком и средой программирования, в которой используется новая модель вычислений, управляемой изменениями, называемыми «когерентной реакцией», для координации эффектов и побочных эффектов программ в интерактивном отношении по мере их развития. Язык специализируется для интерактивного прикладного программного обеспечения и разработан создателем подтекста Джонатаном Эдвардсом, который сообщает о своем разработке, публикуя белые документы.
Побочные эффекты являются как сущностью, так и проклятием императивного программирования. Программист должен тщательно координировать действия, чтобы управлять своими побочными эффектами друг на друга. Такая координация сложна, подвержена ошибкам и хрупкой. Когерентная реакция-это новая модель вычислений, управляемой изменениями, которая автоматически координирует эффекты. Автоматически координация действий позволяет программисту выражать то, что делать, а не когда делать это.
- Джонатан Эдвардс, Когерентная реакция , MIT CSAIL

Состояние изменяет события, называемые реакциями, которые, в свою очередь, меняют другие состояния. Когерентный порядок выполнения - это тот, в котором каждая реакция выполняется перед любыми другими, которые влияют на ее изменения. Когерентный порядок обнаруживается итеративно путем обнаружения бессмысленности по мере их возникновения и возврата их последствий. Фундаментальным строительным блоком когерентности является динамически напечатанное изменяемое дерево. Фундаментальным механизмом абстракции является виртуальное дерево, значение которого лениво вычисляется и чье поведение генерируется последовательными реакциями. [ 4 ]
Ссылки
[ редактировать ]- Пример ориентированного программирования Джонатан Эдвардс. В Опсла октябрь '04. Описание улучшений IDE с использованием расширенных методов пользовательского интерфейса для представления результатов программы во время разработки, а не программиста, интерпретирующего программный код умственно. Скриншоты из прототипа IDE с использованием Eclipse иллюстрируют методы с функциональными примерами.
- Подтекст: раскрытие простоты программирования Джонатана Эдвардса. В OOPSLA октябрь '05: Материалы 20-й ежегодной конференции ACM SIGPLAN по объектно-ориентированному программированию, системам, языкам и приложениям.
- Первый класс Copy & Paste Jonathan Edwards. MIT CSAIL DRAICK DAPT В марте 2006 года. Подробное описание и иллюстрации различных элементов функционального программирования в первой подтекстовой среде, включая поток данных, назначения, «действие», вызов, текущее и гипотетическое состояние данных, одновременные транзакции и работу консольного агента.
- Когерентная реакция Джонатан Эдвардс. В OOPSLA далее '09. Документирует начало экспериментального языка программирования, основанного на подтексте, который использует «когерентную реакцию», новую модель вычислений, управляемых изменениями, для автоматической координации эффектов и побочных эффектов программ. (отчет)
- Цитируется
- ^ Введение в подтекст, ввод -вывод и изменяемое состояние , первая подтекстовая среда видео демонстрация
- ^ Первый класс Copy & Paste , Mit Csail Draft Paper от Джонатана Эдвардса в 2006 году.
- ^ ГОВОРИТЕЛЬНА СОВЕРНОСТЬ
- ^ Dspace@mit: когерентная реакция , цифровой архив Csail, технические отчеты
Внешние ссылки
[ редактировать ]
- Subtexual.org , официальный сайт подтекста.