Articulo de referencia

Programación en vivo

A Study in Keith es una actuación musical de programación en vivo en formato Impromptu a cargo de Andrew Sorensen. La codificación en vivo , [ 1 ] a veces denominada programació...

A Study in Keith es una actuación musical de programación en vivo en formato Impromptu a cargo de Andrew Sorensen.

La codificación en vivo , [ 1 ] a veces denominada programación sobre la marcha , [ 2 ] programación justo a tiempo y programación conversacional , hace que la programación sea una parte integral del programa en ejecución. [ 3 ]

Es más prominente como una forma de artes escénicas y una técnica de creatividad centrada en la escritura de código fuente y el uso de programación interactiva de forma improvisada . La codificación en vivo se usa a menudo para crear medios digitales basados ​​en sonido e imagen , así como sistemas de luz, danza improvisada y poesía, [ 4 ] [ 5 ] aunque es particularmente frecuente en la música por computadora , generalmente como improvisación, aunque podría combinarse con composición algorítmica . [ 6 ] Típicamente, el proceso de escribir código fuente se hace visible proyectando la pantalla de la computadora en el espacio del público, siendo las formas de visualizar el código un área de investigación activa. [ 7 ] Las técnicas de codificación en vivo también se emplean fuera de la actuación, como en la producción de sonido para cine [ 8 ] o trabajo audiovisual para instalaciones de arte interactivas. [ 9 ] Además, la interconexión entre computadoras hace posible realizar esta práctica en red en grupo.

Un programador en vivo es alguien que realiza el acto de programar en vivo, generalmente "artistas que quieren aprender a programar y programadores que quieren expresarse" [ 10 ] o, en términos de Wang y Cook, el "programador/intérprete/compositor". [ 2 ]

La codificación en vivo es también una técnica cada vez más popular en las clases y presentaciones de conferencias relacionadas con la programación, y ha sido descrita como una "mejor práctica" para las clases de ciencias de la computación por Mark Guzdial . [ 11 ]

Técnicas

Se han desarrollado y adaptado diversas técnicas para la programación en directo.

Representación y manipulación del tiempo

Las posibilidades específicas de los medios basados ​​en el tiempo y la interacción en vivo con el código han dado lugar a una serie de desarrollos y usos novedosos en el diseño de lenguajes de programación. Mediante la integración mutua de subsistemas imperativos y declarativos, el lenguaje de programación SuperCollider [ 12 ] permitió construir una biblioteca que admite especificaciones incompletas y provisionales que pueden reescribirse en tiempo de ejecución. [ 13 ]

El lenguaje ChucK introdujo en 2002 un enfoque para la programación con "tiempos estrictos", incorporando la sincronización precisa en el flujo de control a través de una sintaxis concisa.

El término «recursión temporal» se acuñó inicialmente en relación con el entorno de programación Impromptu . Si bien los elementos técnicos de un entorno de programación siguen buscando compresores y soluciones de recursión, la sincronización ha sido un problema importante. Aunque la forma general de una recursión temporal, como cualquier recursión de función asíncrona a través del tiempo, está disponible para cualquier sistema basado en eventos, Impromptu ha puesto especial énfasis en este patrón de diseño en particular, [ 14 ] convirtiéndolo en la pieza central de la arquitectura de concurrencia en esa plataforma. La recursión temporal se ha utilizado repetidamente en SuperCollider y posteriormente se implementó en el entorno Fluxus .

Otro enfoque funcional para la representación del tiempo se muestra en el DSL de patrones Tidal , [ 15 ] que representa patrones como combinadores que operan sobre funciones del tiempo, de forma similar a las técnicas de la programación reactiva funcional . [ 16 ]

Programación multiusuario y memoria compartida

La programación multiusuario se ha desarrollado en el contexto de la creación musical en grupo, a través del extenso desarrollo del sistema Republic , creado y empleado por los miembros de la banda en red PowerBooks Unplugged . [ 17 ] Republic está integrado en el lenguaje SuperCollider y permite a los participantes escribir código en vivo de forma colaborativa, el cual se distribuye a través de la red de computadoras. Existen iniciativas similares en otros lenguajes, como el espacio de tuplas distribuidas utilizado en el lenguaje Impromptu. [ 18 ] Además, Overtone, Impromptu y Extempore admiten sesiones multiusuario, en las que cualquier número de programadores puede intervenir a través de la red en un proceso de ejecución determinado. [ 19 ] La práctica de escribir código en grupo puede realizarse en la misma sala a través de una red local o desde lugares remotos accediendo a un servidor común. Términos como banda de portátiles, orquesta de portátiles, programación colaborativa en vivo o programación colectiva en vivo se utilizan para definir una práctica de programación en vivo en red, tanto de forma local como remota.

Organizaciones

TOPLAP (Organización (Temporal|Transnacional|Terrestre|Transdimensional) para la (Promoción|Proliferación|Permanencia|Pureza) de la Programación (Algoritmo|Audio|Arte|Artística) en Vivo) es una organización informal formada en febrero de 2004 para reunir a las diversas comunidades que se habían formado en torno a entornos de codificación en vivo. [ 20 ] El manifiesto de TOPLAP afirma varios requisitos para una actuación que cumpla con TOPLAP, en particular que las pantallas de los intérpretes deben proyectarse y no ocultarse. [ 21 ]

Práctica de codificación en vivo promovida sobre la marcha entre 2020 y 2022. Este fue un proyecto cofinanciado por el programa Creative European y llevado a cabo en Hangar, ZKM, Ljudmila y Creative Code Utrecht. [ 22 ]

Investigación

Se han creado varios proyectos y grupos de investigación para explorar la codificación en vivo, a menudo adoptando enfoques interdisciplinarios que unen las humanidades y las ciencias. Los primeros esfuerzos para desarrollar sistemas de codificación en vivo e integrar este campo emergente en un contexto teórico más amplio se dieron en el proyecto de investigación «Interactividad artística en redes híbridas» entre 2005 y 2008, financiado por la Fundación Alemana de Investigación . [ 23 ]

Además, la Red de Investigación de Codificación en Vivo fue financiada por el Consejo de Investigación de Artes y Humanidades del Reino Unido durante dos años a partir de febrero de 2014, apoyando una variedad de actividades que incluyen simposios, talleres y una conferencia internacional anual llamada Conferencia Internacional sobre Codificación en Vivo (ICLC). [ 24 ]

Ejemplos de entornos de codificación en vivo

Véase también

  • Algorave : evento donde la música y/o los elementos visuales se generan mediante algoritmos, generalmente programados en directo.
  • Demoscene : subcultura en torno a la programación de presentaciones audiovisuales (demos).
  • Programación exploratoria : la práctica de construir software como una forma de comprender sus requisitos y estructura.
  • Programación interactiva : práctica de programación que utiliza codificación en tiempo real en el desarrollo de software.
  • NIME : conferencia académica y artística sobre avances en tecnología musical, que en ocasiones incluye demostraciones de programación en vivo y presentaciones de investigación.
  • Programación creativa : enfoque de programación para crear algo expresivo.

Referencias

  1. Collins, N., McLean, A., Rohrhuber, J. y Ward, A. (2003), « Programación en vivo en el rendimiento de portátiles », Organised Sound 8(3): 321–30. doi : 10.1017/S135577180300030X
  2. 1 2 Wang G. y Cook P. (2004) "Programación sobre la marcha: el uso del código como un instrumento musical expresivo" , en Actas de la Conferencia Internacional de 2004 sobre Nuevas Interfaces para la Expresión Musical (NIME) (Nueva York: NIME, 2004).
  3. Alan Blackwell, Alex McLean, James Noble, Jochen Otto y Julian Rohrhuber, "Colaboración y aprendizaje a través de la codificación en vivo (Seminario Dagstuhl 13382)", Informes Dagstuhl 3 (2014), n.º 9, 130–168.
  4. Magnusson, T. (2013). El Trenoscopio. Una obra musical para la interpretación de codificación en vivo . En Live 2013. Primer taller internacional sobre programación en vivo.
  5. "Tecnología: Programación y música" . BBC News. 28 de agosto de 2009. Consultado el 25 de marzo de 2010 .
  6. Collins, N. (2003) " Generative Music and Laptop Performance Archived 2014-05-14 at the Wayback Machine ", Contemporary Music Review 22(4):67–79.
  7. McLean, A., Griffiths, D., Collins, N. y Wiggins, G. (2010). Visualización de código en vivo . En Visualización electrónica y las artes, Londres 2010.
  8. Rohrhuber, Julian (2008). Artificial, Natural, Historical in Transdisciplinary Digital Art. Sound, Vision and the New Screen (PDF) . Springer Berlin Heidelberg. pp. 60–70 . 
  9. "Comunión de Universal Everything y Field.io: entrevista" . 24 de mayo de 2011. Consultado el 5 de febrero de 2013 .
  10. Bell, Sarah. "La programación en vivo da vida a la programación: una entrevista con Alex McLean" . British Science Association . Consultado el 2 de marzo de 2016 .
  11. Guzdial, Mark (agosto de 2011). "Lo que los estudiantes hacen mal al construir modelos de física computacional en Python: tesis de Caballero, parte 2" . Recuperado el 5 de febrero de 2013 .
  12. James McCartney (1996), SuperCollider: un nuevo lenguaje de síntesis en tiempo real, Actas de ICMC, 1996.
  13. Julian Rohrhuber, Alberto de Campo y Renate Wieser (2005), Algorithms today - Notes on Language Design for Just In Time Programming, Proceedings of International Computer Music Conference (Barcelona), ICMC, 2005, pp. 455–458.
  14. Sorensen, A y Gardner, H (2010) " Programación con el tiempo: Programación ciberfísica en improvisación", En las actas de la Conferencia ACM Splash 2010 "
  15. McLean, Alex (2014). "Creando lenguajes de programación para bailar: Programación en vivo con Tidal". En las actas del 2.º Taller Internacional ACM SIGPLAN sobre Arte Funcional, Música, Modelado y Diseño (PDF) . Gotemburgo.{{cite book}}: CS1 mantenimiento: falta el editor de ubicación ( enlace )
  16. McLean, Alex (2 de agosto de 2013). "Página principal de Tidal" . Alex McLean .
  17. Rohrhuber, J., A. de Campo, R. Wieser, J.-K. van Kampen, E. Ho y H. Hölzl (2007). Cartas robadas y personas distribuidas. Archivado el 3 de marzo de 2016 en Wayback Machine . En Music in the Global Village Conference 2007.
  18. Sorensen, A. (2010). Una memoria distribuida para la interpretación de código en vivo en red . En Actas de la Conferencia Internacional de Música por Computadora 2010.
  19. Sorensen, A. (2005). Impromptu  : un entorno de programación interactivo para composición e interpretación. En las actas de la Conferencia Australasiática de Música por Computadora de 2005.
  20. Ward, A., Rohrhuber, J., Olofsson, F., McLean, A., Griffiths, D., Collins, N. y Alexander, A. (2004). Programación de algoritmos en vivo y una organización temporal para su promoción . En Goriunova, O. y Shulgin, A., editores, read_me - Software Art and Cultures.
  21. "Borrador del Manifiesto" . Toplap.org .
  22. "Proyecto sobre la marcha" . onthefly.space .
  23. "Interactividad artística en redes híbridas" (2016)--- Archivo de Wayback Machine
  24. "Red de codificación en vivo" . Gtr.ukri.org .

Lecturas adicionales

  • Andrews, Robert. “ Real DJs Code Live ”. Wired (en línea), 7 de marzo de 2006.
  • Brown, Andrew R. “ Interferencia de código ”. M/C Journal 9/6 (diciembre de 2006).
  • Magnusson, Thor. " Pastoreando gatos: Observando la programación en vivo en entornos naturales ". "Computer Music Journal", primavera de 2014, vol. 38, n.° 1, págs.  8-16.
  • Ramsay, Stephen. “ Los algoritmos son pensamientos, las motosierras son herramientas ”. Taller de Estudios Críticos de Código, marzo de 2010. Un cortometraje sobre programación en vivo y el manifiesto TOPLAP.
  • Sorensen, Andrew y Henry Gardner. “ Programación con el tiempo: programación ciberfísica con Impromptu ”. 22 de septiembre de 2010.
  • Di Próspero, Carolina. " Live coding. Arte computacional en proceso ". Contenido. Arte, Cultura y Ciencias Sociales 2015, vol. 5, págs.  5-19.
  • ICLC 2015. " Actas de la Primera Conferencia Internacional sobre Programación en Vivo ". Leeds, Reino Unido.
  • Sitio web oficial de TOPLAP
  • Simposio /*vivo*/ sobre programación en vivo
  • Red de investigación de código vivo
  • Conferencia Internacional sobre Programación en Vivo