Codificación en vivo

Integración de la programación como parte del programa en ejecución
A Study in Keith es una actuación musical de codificación en vivo en Impromptu 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 arte escénico 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 utiliza a menudo para crear medios digitales basados ​​en sonido e imagen , así como sistemas de iluminación, 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 la composición algorítmica . [6] Normalmente, el proceso de escritura del código fuente se hace visible proyectando la pantalla de la computadora en el espacio de la audiencia, y las formas de visualizar el código son 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 películas [8] o trabajo audiovisual para instalaciones de arte interactivo. [9] Además, la interconexión entre computadoras hace posible realizar esta práctica en red en grupo.

La figura del live coder es la de quien realiza el acto de codificar en vivo, normalmente “artistas que quieren aprender a codificar, y codificadores que quieren expresarse” [10] o en términos de Wang & Cook el “programador/intérprete/compositor”. [2]

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

Técnicas

Se han desarrollado y apropiado una variedad de técnicas para fines de codificación en vivo.

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. A través de la integración mutua de subsistemas imperativos y declarativos, el lenguaje de programación SuperCollider [12] permitió construir una biblioteca que permite especificaciones incompletas y provisionales que se pueden reescribir en tiempo de ejecución. [13]

El lenguaje ChucK introdujo un enfoque de programación "fuertemente temporizada" en 2002, incorporando temporización de precisión en el flujo de control a través de una sintaxis concisa.

"Recursión temporal" fue un término acuñado inicialmente en relación con el entorno de programación Impromptu . Los elementos técnicos dentro de un entorno de programación siguen ubicando compresores y soluciones de recursión, pero el tiempo ha sido un problema importante. Si bien la forma general de una recursión temporal, que es cualquier recursión de función asincrónica a través del tiempo, está disponible para cualquier sistema controlado por eventos, Impromptu ha puesto un énfasis especial 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 desde entonces se ha implementado en el entorno Fluxus .

Otro enfoque funcional para la representación del tiempo se muestra en el DSL de patrón de marea , [15] que representa patrones como combinadores que operan sobre funciones de tiempo, similares a las técnicas de 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 largo desarrollo del sistema Republic desarrollado y empleado por miembros de la banda en red PowerBooks Unplugged . [17] Republic está integrado en el lenguaje SuperCollider y permite a los participantes escribir de forma colaborativa código en vivo que se distribuye a través de la red de computadoras. Existen esfuerzos 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 tiempo de ejecución determinado. [19] La práctica de escribir código en grupo se puede realizar en la misma habitación a través de una red local o desde lugares remotos accediendo a un servidor común. Términos como banda portátil, orquesta portátil, codificación colaborativa en vivo o codificación colectiva en vivo se utilizan para enmarcar una práctica de codificación en vivo en red tanto de forma local como remota.

Organizaciones

TOPLAP (La 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 los 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 artistas deben proyectarse y no ocultarse. [21]

On-the-fly promueve la práctica de codificación en vivo desde 2020. Este es un proyecto cofinanciado por el programa Creative European y se lleva 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 el campo emergente en un contexto teórico más amplio ocurrieron en el proyecto de investigación Interactividad artística en redes híbridas de 2005 a 2008, financiado por la Fundación de Investigación Alemana . [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 en el que se generan música y/o elementos visuales a partir de algoritmos, generalmente codificados en vivo.
  • Demoscene : subcultura en torno a la codificación de presentaciones audiovisuales (demos)
  • Programación exploratoria : la práctica de crear software como una forma de comprender sus requisitos y estructura.
  • Programación interactiva : práctica de programación que utiliza codificación en vivo en el desarrollo de software.
  • NIME : conferencia académica y artística sobre avances en tecnología musical, que a veces incluye presentaciones de investigación y presentaciones de codificación en vivo

Referencias

  1. ^ Collins, N., McLean, A., Rohrhuber, J. y Ward, A. (2003), "Codificación en vivo en el rendimiento de computadoras portátiles", Organised Sound 8(3): 321–30. doi :10.1017/S135577180300030X
  2. ^ ab Wang G. y Cook P. (2004) "Programación sobre la marcha: 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 codificación en vivo (Seminario Dagstuhl 13382)", Dagstuhl Reports 3 (2014), n.º 9, 130–168.
  4. ^ Magnusson, T. (2013). El Threnoscope. Una obra musical para la interpretación de programación en vivo. En Live 2013. Primer taller internacional sobre programación en vivo.
  5. ^ "Tech Know: Programación, encuentro con la música". BBC News. 28 de agosto de 2009. Consultado el 25 de marzo de 2010 .
  6. ^ Collins, N. (2003) "Música generativa y performance con computadora portátil Archivado el 14 de mayo de 2014 en 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 Electronic Visualisation and the Arts, Londres, 2010.
  8. ^ Rohrhuber, Julian (2008). Artificial, natural, histórico en el arte digital transdisciplinario. Sonido, visión y la nueva pantalla (PDF) . Springer Berlin Heidelberg. págs. 60–70.
  9. ^ "Comunión de Universal Everything y Field.io: entrevista" . Consultado el 5 de febrero de 2013 .
  10. ^ Bell, Sarah. "La codificación en vivo da vida a la programación: una entrevista con Alex McLean" . 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 Cabellero, parte 2" . Consultado el 5 de febrero de 2013 .
  12. ^ James McCartney (1996), SuperCollider: un nuevo lenguaje de síntesis en tiempo real, Actas del ICMC, 1996.
  13. ^ Julian Rohrhuber, Alberto de Campo y Renate Wieser (2005), Algoritmos hoy. Notas sobre diseño de lenguajes para programación Just In Time, Actas de la Conferencia Internacional de Música por Computadora (Barcelona), ICMC, 2005, págs. 455–458.
  14. ^ Sorensen, A y Gardner, H (2010) "Programación con el tiempo: programación ciberfísica improvisada, en actas de la conferencia ACM Splash 2010"
  15. ^ McLean, Alex (2014). "Creación de lenguajes de programación para bailar: programación en vivo con Tidal". En actas del 2º Taller internacional ACM SIGPLAN sobre arte funcional, música, modelado y diseño (PDF) . Gotemburgo.{{cite book}}: Mantenimiento de CS1: falta la ubicación del editor ( enlace )
  16. ^ McLean, Alex (2 de agosto de 2013). "Página de inicio de Tidal".
  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 Conferencia de Música en la Aldea Global 2007.
  18. ^ Sorensen, A. (2010). Una memoria distribuida para la ejecución de livecoding en red. En Actas de la Conferencia Internacional de Música por Computadora de 2010.
  19. ^ Sorensen, A. (2005). Impromptu: un entorno de programación interactivo para la composición y la interpretación, en actas de la Conferencia de música por ordenador de Australasia 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) [1] --- Archivo Wayback Machine
  24. ^ "Red de codificación en vivo". Gtr.ukri.org .

Lectura adicional

  • Andrews, Robert. “Real DJs Code Live”. Wired (en línea), 7 de marzo de 2006.
  • Brown, Andrew R. “Code Jamming”. M/C Journal 9/6 (diciembre de 2006).
  • Magnusson, Thor. "Arreando gatos: observando la programación en vivo en la naturaleza". "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 de código crítico, marzo de 2010. Un cortometraje sobre codificación en vivo y el manifiesto TOPLAP.
  • Sorensen, Andrew y Henry Gardner. “Programación con 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 Codificación en Vivo”. Leeds, Reino Unido.
  • Sitio web oficial de TOPLAP
  • Simposio /*vivo*/ sobre codificación en vivo
  • Red de investigación de código en vivo
  • Conferencia internacional sobre Live Coding
Obtenido de "https://es.wikipedia.org/w/index.php?title=Codificación_en_vivo&oldid=1214642386"