Jump to content

Живое кодирование

«Этюд Кита» — это музыкальное живое программирование в «Экспромте» Эндрю Соренсена.

Живое кодирование , [1] иногда его называют оперативным программированием , [2] Программирование «точно в срок» и диалоговое программирование делают программирование неотъемлемой частью работающей программы. [3]

Он наиболее известен как форма исполнительского искусства и метод творчества, на написании исходного кода использовании интерактивного программирования и импровизированном основанный . Живое кодирование часто используется для создания цифровых медиа на основе звука и изображения , а также систем освещения, импровизированных танцев и поэзии. [4] [5] хотя особенно распространен в компьютерной музыке , обычно как импровизация, хотя ее можно сочетать с алгоритмической композицией . [6] Обычно процесс написания исходного кода становится видимым путем проецирования экрана компьютера в пространство аудитории, а способы визуализации кода являются областью активных исследований. [7] Методы живого кодирования также используются вне производительности, например, при создании звука для фильмов. [8] или аудиовизуальные произведения для интерактивных художественных инсталляций. [9] Кроме того, взаимосвязь между компьютерами позволяет реализовать эту практику в групповой сети.

Образ живого программиста — это те, кто выполняет акт живого кодирования, обычно это «художники, которые хотят научиться программировать, и программисты, которые хотят выразить себя». [10] или, с точки зрения Ванга и Кука, «программист/исполнитель/композитор». [2]

назвал его «лучшей практикой» для лекций по информатике Живое программирование также становится все более популярным методом на лекциях и презентациях на конференциях, связанных с программированием, и Марк Гуздиал . [11]

Для целей живого кодирования был разработан и адаптирован ряд методов.

Представление и манипулирование временем

[ редактировать ]

Особые возможности временных медиа и живого взаимодействия с кодом привели к ряду новых разработок и применений в разработке языков программирования. Благодаря взаимному встраиванию императивной и декларативной подсистем язык программирования SuperCollider [12] разрешено создать библиотеку, допускающую неполные и предварительные спецификации, которые можно переписать во время выполнения. [13]

В 2002 году язык ChucK представил подход к «строго синхронизированному» программированию, встраивая точную синхронизацию в поток управления посредством краткого синтаксиса.

«Временная рекурсия» — термин, первоначально придуманный в отношении среды программирования Impromptu . Технические элементы среды программирования по-прежнему определяют местонахождение компрессоров и решений рекурсии, но время было серьезной проблемой. Хотя общая форма временной рекурсии, представляющая собой рекурсию любой асинхронной функции во времени, доступна для любой системы, управляемой событиями, Impromptu уделил особое внимание этому конкретному шаблону проектирования: [14] что делает его центральным элементом архитектуры параллелизма на этой платформе. Временная рекурсия неоднократно использовалась в SuperCollider и с тех пор была реализована в среде Fluxus .

Другой функциональный подход к представлению времени показан в Tidal шаблоне DSL , [15] который представляет шаблоны как комбинаторы, работающие с функциями времени, подобно методам функционального реактивного программирования . [16]

Многопользовательское программирование и общая память

[ редактировать ]

Многопользовательское программирование развилось в контексте группового создания музыки в результате длительного развития системы Republic, разработанной и используемой членами сетевой группы PowerBooks Unplugged . [17] Republic встроена в язык SuperCollider и позволяет участникам совместно писать живой код, который распространяется по сети компьютеров. Подобные попытки предпринимаются и в других языках, например, в языке Impromptu используется распределенное пространство кортежей. [18] Кроме того, Overtone, Impromptu и Extempore поддерживают многопользовательские сеансы, в которых любое количество программистов может вмешиваться по сети в заданный процесс во время выполнения. [19] Практика написания кода в группе может осуществляться в одной комнате через локальную сеть или из удаленных мест, имеющих доступ к общему серверу. Такие термины, как группа ноутбуков, оркестр ноутбуков, совместное живое кодирование или коллективное живое кодирование, используются для обозначения практики сетевого живого кодирования как локально, так и удаленно.

Организации

[ редактировать ]

TOPLAP ((Временная|Транснациональная|Наземная|Транспространственная) Организация для (Продвижения|Распространения|Постоянства|Чистоты) живого (алгоритма|Аудио|Искусства|Художественного) программирования) — это неформальная организация, созданная в феврале 2004 года для объединения различных сообщества, которые сформировались вокруг живых сред кодирования. [20] Манифест TOPLAP устанавливает несколько требований к выступлениям, соответствующим требованиям TOPLAP, в частности, что экраны исполнителей должны проецироваться, а не скрываться. [21]

On-the-fly продвигает практику живого программирования с 2020 года. Это проект, совместно финансируемый программой Creative European и реализуемый в Ангаре, ZKM, Людмиле и Creative Code Utrecht. [22]

Исследовать

[ редактировать ]

Для изучения живого кодирования был создан ряд исследовательских проектов и исследовательских групп, часто использующих междисциплинарные подходы, соединяющие гуманитарные и естественные науки. Первые попытки как разработать системы живого кодирования, так и внедрить развивающуюся область в более широкий теоретический контекст были предприняты в рамках исследовательского проекта «Художественная интерактивность в гибридных сетях» с 2005 по 2008 год, финансируемого Немецким исследовательским фондом . [23]

Кроме того, Сеть исследований в области живого кодирования финансировалась Советом по исследованиям в области искусства и гуманитарных наук Великобритании в течение двух лет, начиная с февраля 2014 года, и поддерживала ряд мероприятий, включая симпозиумы, семинары и ежегодную международную конференцию под названием «Международная конференция по живому программированию» (ICLC). [24]

Примеры сред живого кодирования

[ редактировать ]

См. также

[ редактировать ]
  • Algorave — событие, в котором музыка и/или визуальные эффекты генерируются на основе алгоритмов, обычно закодированных в реальном времени.
  • Демосцена — субкультура вокруг кодирования аудиовизуальных презентаций (демо).
  • Исследовательское программирование — практика создания программного обеспечения как способ понять его требования и структуру.
  • Интерактивное программирование - практика программирования с использованием живого кодирования при разработке программного обеспечения.
  • NIME — академическая и художественная конференция, посвященная достижениям в области музыкальных технологий, иногда с живыми выступлениями по программированию и исследовательскими презентациями.
  1. ^ Коллинз Н., Маклин А., Рорхубер Дж. и Уорд А. (2003), « Живое кодирование в производительности ноутбука », Organized Sound 8 (3): 321–30. два : 10.1017/S135577180300030X
  2. ^ Перейти обратно: а б Ван Г. и Кук П. (2004) «Программирование на лету: использование кода как выразительного музыкального инструмента» , в материалах Международной конференции 2004 года по новым интерфейсам для музыкального выражения (NIME) (Нью-Йорк: NIME, 2004). ).
  3. ^ Алан Блэквелл, Алекс Маклин, Джеймс Ноубл, Йохен Отто и Джулиан Рорхубер, «Сотрудничество и обучение посредством живого кодирования (семинар Dagstuhl 13382)», Dagstuhl Reports 3 (2014), вып. 9, 130–168.
  4. ^ Магнуссон, Т. (2013). Треноскоп. Музыкальное произведение для живого кодирования . In Live 2013. Первый международный семинар по живому программированию.
  5. ^ «Технические знания: программирование и музыка» . Новости Би-би-си. 28 августа 2009 г. Проверено 25 марта 2010 г.
  6. ^ Коллинз, Н. (2003) « Генеративная музыка и производительность ноутбука, архивировано 14 мая 2014 г. в Wayback Machine », Contemporary Music Review 22 (4): 67–79.
  7. ^ Маклин А., Гриффитс Д., Коллинз Н. и Виггинс Г. (2010). Визуализация живого кода . В журнале «Электронная визуализация и искусство», Лондон, 2010 г.
  8. ^ Рорхубер, Джулиан (2008). Искусственное, естественное, историческое в трансдисциплинарном цифровом искусстве. Звук, изображение и новый экран (PDF) . Шпрингер Берлин Гейдельберг. стр. 60–70.
  9. ^ «Причастие Universal Everything и Field.io: интервью» . Проверено 5 февраля 2013 г.
  10. ^ Белл, Сара. «Живое программирование оживляет программирование — интервью с Алексом Маклином» . Проверено 2 марта 2016 г.
  11. ^ Гуздиал, Марк (август 2011 г.). «Что студенты ошибаются при построении моделей вычислительной физики на Python: диссертация Кабеллеро, часть 2» . Проверено 5 февраля 2013 г.
  12. ^ Джеймс Маккартни (1996), SuperCollider: новый язык синтеза в реальном времени, ICMC Proceedings, 1996.
  13. ^ Джулиан Рорхубер, Альберто де Кампо и Ренате Визер (2005), Алгоритмы сегодня - Заметки о языковом дизайне для программирования «точно в срок», Труды Международной компьютерной музыкальной конференции (Барселона), ICMC, 2005, стр. 455–458.
  14. ^ Соренсен, А. и Гарднер, Х. (2010) « Программирование со временем: импровизированное киберфизическое программирование, в материалах конференции ACM Splash Conference 2010 »
  15. ^ Маклин, Алекс (2014). «Создание языков программирования, под которые можно танцевать: живое кодирование с помощью Tidal». В материалах 2-го Международного семинара ACM SIGPLAN по функциональному искусству, музыке, моделированию и дизайну (PDF) . Гетеборг. {{cite book}}: CS1 maint: отсутствует местоположение издателя ( ссылка )
  16. ^ Маклин, Алекс (2 августа 2013 г.). «Домашняя страница Tidal» .
  17. ^ Рорхубер, Дж., А. де Кампо, Р. Визер, Ж.-К. ван Кампен, Э. Хо и Х. Хёльцль (2007). Похищенные письма и распространенные лица. Архивировано 3 марта 2016 г. в Wayback Machine . На конференции «Музыка в глобальной деревне», 2007 г.
  18. ^ Соренсен, А. (2010). Распределенная память для производительности сетевого живого кодирования . В материалах Международной компьютерной музыкальной конференции 2010.
  19. ^ Соренсен, А. (2005). Экспромт: интерактивная среда программирования для сочинения и исполнения, Материалы Австралазийской компьютерной музыкальной конференции 2005 г.
  20. ^ Уорд А., Рорхубер Дж., Олофссон Ф., Маклин А., Гриффитс Д., Коллинз Н. и Александр А. (2004). Программирование живых алгоритмов и временная организация для его продвижения . Горюнова О. и Шульгин А., редакторы, read_me - Программное искусство и культуры.
  21. ^ «Проект Манифеста» . Toplap.org .
  22. ^ «Проект на лету» . onthefly.space .
  23. ^ «Художественная интерактивность в гибридных сетях» (2016) [1] --- Архив Wayback Machine
  24. ^ «Сеть живого кодирования» . Gtr.ukri.org .

Дальнейшее чтение

[ редактировать ]
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: a75d4b5a8e72285c7f3455c1e552beea__1710906180
URL1:https://arc.ask3.ru/arc/aa/a7/ea/a75d4b5a8e72285c7f3455c1e552beea.html
Заголовок, (Title) документа по адресу, URL1:
Live coding - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)