Jump to content

Подтекст (язык программирования)

Схематические таблицы. Альфа -сборка подтекстовой среды, которая иллюстрирует уникальные «полиморфные условия», присутствующие в IDE.

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

Подтекст был создан Джонатаном Эдвардсом, который представил статью о языке в Опсла . Это было принято как часть конференции 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. Документирует начало экспериментального языка программирования, основанного на подтексте, который использует «когерентную реакцию», новую модель вычислений, управляемых изменениями, для автоматической координации эффектов и побочных эффектов программ. (отчет)
Цитируется
  1. ^ Введение в подтекст, ввод -вывод и изменяемое состояние , первая подтекстовая среда видео демонстрация
  2. ^ Первый класс Copy & Paste , Mit Csail Draft Paper от Джонатана Эдвардса в 2006 году.
  3. ^ ГОВОРИТЕЛЬНА СОВЕРНОСТЬ
  4. ^ Dspace@mit: когерентная реакция , цифровой архив Csail, технические отчеты
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 29ffa59b67168d89b7182072d57b0667__1654232220
URL1:https://arc.ask3.ru/arc/aa/29/67/29ffa59b67168d89b7182072d57b0667.html
Заголовок, (Title) документа по адресу, URL1:
Subtext (programming language) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)