Инструмент программирования, объединяющий код и документы
Интерфейс блокнота или вычислительный блокнот — это виртуальная среда блокнота , используемая для грамотного программирования , метода написания компьютерных программ . [1] Некоторые блокноты представляют собой среды WYSIWYG , включающие исполняемые вычисления, встроенные в форматированные документы; другие разделяют вычисления и текст на отдельные разделы. Блокноты разделяют некоторые цели и функции с электронными таблицами и текстовыми процессорами , но выходят за рамки их ограниченных моделей данных.
В основе блокнота лежит идея грамотных инструментов программирования , которые «позволяют вам располагать части программы в любом порядке и извлекать документацию и код из одного и того же исходного файла». [3] , блокнот выводит этот подход на новый уровень, расширяя его некоторыми графическими функциями и фокусируясь на интерактивности . По словам Стивена Вольфрама : «Идея блокнота заключается в том, чтобы иметь интерактивный документ, который свободно смешивает код, результаты, графику, текст и все остальное». [4] , а согласно документации проекта Jupyter: «Блокнот расширяет консольный подход к интерактивным вычислениям в качественно новом направлении, предоставляя веб-приложение, подходящее для захвата всего процесса вычислений: разработки, документирования и выполнения кода, а также передачи результатов. Блокнот Jupyter объединяет два компонента». [5]
История
VisiCalc , первая электронная таблица для персональных компьютеров , была опубликована в 1979 году. Идея визуальных вычислений, заложенная в ней, широко используется и сегодня, но ограничивается документами, которые помещаются в таблицу .
Исследования математических систем WYSIWYG, поддерживающих смешанный текст и вычисления с метафорой документа, начали публиковаться в 1987 году: [6] Milo Рона Авитзура , [7] INFOR Уильяма Шелтера , Tioga [8] и CaminoReal от Xerox PARC . [9]
Самой ранней коммерческой системой, использующей метафору документа, была MathCAD , которая также вышла в 1987 году. [10] Wolfram Mathematica 1.0 появилась в 1988 году. [11] [12] [13] Позже появились Maple 5.2 (1992) [14] и Macsyma 2.0 (1995). [15]
По мере того, как популярность интерфейса блокнота росла в течение следующих двух десятилетий, были введены блокноты для различных вычислительных бэкэндов («ядер»), включая MATLAB , Python , Julia , R , Scala , Elixir , SQL и другие. [16] [17]
С тех пор разнообразие интерфейсов ноутбуков расширилось, и новые формы продолжают развиваться. [18]
Использовать
Блокноты традиционно используются в науке в качестве электронных лабораторных тетрадей для документирования исследовательских процедур, данных, расчетов и выводов. Блокноты отслеживают методологию, чтобы упростить воспроизведение результатов и расчетов с различными наборами данных. [16] [17] В образовании интерфейс блокнота обеспечивает цифровую среду обучения, особенно для обучения вычислительному мышлению . [19] [4] Их полезность для объединения текста с кодом делает их уникальными в сфере образования. Цифровые блокноты иногда используются для презентаций в качестве альтернативы PowerPoint и другому программному обеспечению для презентаций, поскольку они позволяют выполнять код внутри среды блокнота. [20] [21] Благодаря своей способности визуально отображать данные и извлекать данные из разных источников путем изменения кода, блокноты также входят в сферу программного обеспечения для бизнес-аналитики . [16] [22] [23] [24]
↑ Деннис С. Арнон, ред., «Семинар по средам для вычислительной математики (июль 1987 г.)», Computer Graphics 22 :1 (февраль 1988 г.)
↑ Ричард Дж. Фейтман, «Компьютерные системы для представления и обработки математических знаний», Заключительный отчет, август 1987 г. (DTIC AD-A193 547)
^ Батлер В. Лэмпсон, «Персональные распределенные вычисления: программное обеспечение Alto и Ethernet», История персональных рабочих станций , 1988, ISBN 0201112590 , стр. 318.
↑ Деннис Арнон, Ричард Бич, Кевин МакАйзек, «CaminoReal: интерактивная математическая тетрадь», в JC van Vliet, ed., Document Manipulation and Typography , Proceedings of the International Conference on Electronic Publishing, Document Manipulation and Typography, Nice, April 20–22, 1988, ISBN 0521362946 , p. 2.
^ Н. Кайлер, Н. Сойффер, «Обзор пользовательских интерфейсов для систем компьютерной алгебры», Журнал символических вычислений 25 :2:127-159 (февраль 1998 г.), doi :10.1006/jsco.1997.0170
^ The ReDiscovered Future (2016-04-04), Macintosh + Mathematica = Infinity - Апрель 1989 , получено 2016-11-23
^ "Запуск Wolfram Player для iOS — Wolfram". 16 ноября 2016 г. Получено 23 ноября 2016 г.
^ "Maple V Release 2 - Maple Help". www.maplesoft.com . Получено 2023-01-18 .
^ "Macsyma 2.0", Design News , 24 апреля 1995 г.
^ abcd Осипов, Мэтт (04 мая 2016 г.). «Рост ноутбуков для науки о данных». Датанами . Таборские коммуникации . Проверено 20 декабря 2016 г.
^ ab "The IPython notebook: a historic retrospective". blog.fperez.org . Получено 2016-11-23 .
^ Лау, Сэм; Дросос, Ян; Маркел, Джулия М.; Го, Филип Дж. (август 2020 г.). «Пространство проектирования вычислительных ноутбуков: анализ 60 систем в академических и промышленных кругах». Симпозиум IEEE 2020 г. по визуальным языкам и человеко-ориентированным вычислениям (VL/HCC) . стр. 1–11. doi : 10.1109/VL/HCC50065.2020.9127201. ISBN978-1-7281-6901-9. S2CID 219572399.
^ Барр, Валери; Стивенсон, Крис (2011). «Внедрение вычислительного мышления в систему K-12: что для этого нужно и какова роль сообщества преподавателей компьютерных наук?».
^ Databricks (2015-07-06), Демонстрация Spark Summit 2015: Создание сквозного конвейера данных машинного обучения с помощью Databricks , получено 2016-11-23