Interested Article - Интерактивный блокнот

Интерактивный блокнот — подход к построению пользовательского интерфейса интерактивной вычислительной среды, объединяющий в одном окне работу с кодом (в том числе редактор с подсветкой синтаксиса), исходными данными и результатом вычислений и сформированной графикой — в едином редактируемом документе, называемом блокнотом англ. notebook . Среди систем, использующих интерактивный блокнот в качестве основного интерфейса — многие системы компьютерной алгебры (в том числе Mathematica , Sage , Mathcad ), iPython , Jupyter , RStudio , Apache Zeppelin . Известны также реализации в виде плагинов к интерактивным средам разработки (например Kotlin Notebook для IntelliJ IDEA ).

В отличие от интегрированных сред разработки , нацеленных, прежде всего, на работу с кодом и отчуждаемый от неё результат (отлаженный код и исполняемую программу), интерактивный блокнот предполагает последовательное создание документа, сочетающего код и результаты его выполнения, в этом смысле такой подход сочетается с концепцией грамотного программирования , предполагающей единую среду для программирования и документирования. От инструментов анализа данных, работающих для формирования запросов к данным из внешних источников, обработки и визуализации результатов, блокноты отличает ориентированность в первую очередь на работу с кодом, и алгоритм фактически является частью результата (а не только отчёт о выборке или визуализация). При этом существует тенденция к сближению подходов, например, Apache Zeppelin , обладающий обширными средствами доступа к базам данных, позиционируется и как BI-инструмент , а Jupyter активно применяется как средство интерактивной отладки для разработки на нескольких языках программирования, которые поддерживают его расчётные ядра.

Интерфейс системы Jupyter
Интерфейс системы Sage

Функции

Типичные функции интерактивного блокнота:

  • работа с кодом в режиме REPL — но не в режиме командной строки, а в едином интерфейсе, в том числе веб;
  • интерактивная визуализация данных (в том числе расчётных);
  • доступ и обработка данных из внешних источников (в том числе в СУБД);
  • реализация математических вычислений;
  • оформление документации, включающей текст (например в форматах markdown или Latex ), форматированные формулы, исходный код и используемые данные.

Использование записанных сеансов в форматах интерактивных блокнотов получило определённое распространение как средство технической коммуникации; например, хостинг исходного кода GitHub поддерживает рендер формата файлов Jupyter — результат вычисления блокнота отображается сразу при просмотре его исходного кода на платформе.

Примечания

  1. Introducing Kotlin Notebook

Ссылки

Источник —

Same as Интерактивный блокнот