Live coding: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m Bot: sintassi delle note e modifiche minori |
m ortografia |
||
(16 versioni intermedie di 9 utenti non mostrate) | |||
Riga 1:
[[File:Study_in_keith.ogv|alt=Example live coding performance|miniatura|200x200px|''A Study in Keith'' è una performance musicale di live coding con il software Impromptu
Il '''
▲[[File:Study_in_keith.ogv|alt=Example live coding performance|miniatura|200x200px|''A Study in Keith'' è una performance musicale di live coding con il software Impromptu eguita da Andrew Sorensen.]]
▲'''Il live coding''',<ref>Collins, N., McLean, A., Rohrhuber, J. & Ward, A. (2003), "[http://akustik.hfbk.net/publications/LiveCodingInLaptopPerformance.pdf Live Coding in Laptop Performance]", ''Organised Sound'' 8(3): 321–30. {{Doi|10.1017/S135577180300030X}}</ref> a volte indicato anche con i termini '''on-the-fly programming''',<ref name="auto" /> '''just in time programming''' e '''conversational programming''', è una tecnica che rende l'attività di programmazione parte integrante del programma in esecuzione.<ref>Alan Blackwell, Alex McLean, James Noble, Jochen Otto, and Julian Rohrhuber, "Collaboration and learning through live coding (Dagstuhl Seminar 13382)", Dagstuhl Reports 3 (2014), no. 9, 130–168.</ref>
Il live coding è maggiormente praticato come forma d'[[Arti performative|arte performativa]] e tecnica creativa. L'attività è caratterizzata dalla scrittura del [[codice sorgente]] dal vivo e sull'uso della programmazione interattiva in modo [[Improvvisazione|improvvisato.]] Il live coding viene spesso
Il o la '''live coder''' è la persona che esegue l'atto del live coding, solitamente "artisti o artiste che vogliono imparare a programmare, e programmatori che vogliono esprimersi"<ref>{{Cita web|url=http://www.britishscienceassociation.org/blog/live-coding-brings-programming-to-life-an-interview-with-alex-mac|titolo=Copia archiviata|accesso=1 agosto 2021|dataarchivio=4 marzo 2016|urlarchivio=https://web.archive.org/web/20160304142548/http://www.britishscienceassociation.org/blog/live-coding-brings-programming-to-life-an-interview-with-alex-mac|urlmorto=sì}}</ref> o, utilizzando i termini di Wang & Cook il "programmatore/esecutore/compositore" .<ref name="auto">Wang G. & Cook P. (2004) [http://soundlab.cs.princeton.edu/publications/on-the-fly_nime2004.pdf "On-the-fly Programming: Using Code as an Expressive Musical Instrument"], In ''Proceedings of the 2004 International Conference on New Interfaces for Musical Expression (NIME)'' (New York: NIME, 2004).</ref>
Il live coding è anche una tecnica sempre più popolare nelle lezioni e nelle conferenze relative alla programmazione ed è stata descritta come una "buona pratica" per le lezioni di informatica da Mark Guzdial .<ref>{{Cita web|url=http://computinged.wordpress.com/2011/08/01/what-students-get-wrong-when-building-computational-physics-models-in-python-cabellero-thesis-part-2/}}</ref>
Line 20 ⟶ 19:
"Ricorsività temporale" era un termine coniato inizialmente in relazione all'ambiente di programmazione Impromptu. Gli elementi tecnici all'interno di un ambiente di programmazione continuano a risolvere i problemi di tempo attraverso l'uso di compressori e soluzioni basate sulla ricorsività, ma la sincronizzazione e la scansione temporale rimane comunque un problema significativo. Mentre la forma generale di una ripetizione, essendo qualsiasi ricorsività di funzione asincrona nel tempo, è disponibile per qualsiasi sistema guidato da eventi, Impromptu ha posto un'enfasi speciale su questo particolare modello di progettazione,<ref>Sorensen, A & Gardner, H (2010) "[http://eprints.qut.edu.au/55712/1/sorensen_ow_2010.pdf Programming With Time: Cyberphysical Programming In Impromptu, In proceedings of the ACM Splash Conference 2010]"</ref> rendendolo il pezzo centrale dell'architettura della concorrenza su quella piattaforma. La ricorsività temporale è stata ripetutamente utilizzata in [[SuperCollider]] e da allora è stata implementata anche nell'ambiente Fluxus .
Un altro approccio funzionale alla rappresentazione del tempo è mostrato nel caso del [[Domain-specific language|DSL]] Tidal,<ref>{{Cita libro|autore=McLean|nome=Alex|titolo=In proceedings of the 2nd ACM SIGPLAN International Workshop on Functional Art, Music, Modelling and Design|url=https://github.com/yaxu/Tidal/blob/master/doc/farm/farm.pdf?raw=true|anno=2014|città=Gothenburg|capitolo=Making programming languages to dance to: Live Coding with Tidal}}</ref> che rappresenta gli schemi temporali come combinatori che operano attraverso funzioni del tempo, simili alle tecniche di programmazione reattiva funzionale .<ref>{{Cita web|url=https://yaxu.org/tidal/|titolo=Copia archiviata|accesso=1 agosto 2021|dataarchivio=21 novembre 2015|urlarchivio=https://web.archive.org/web/20151121190435/http://yaxu.org/tidal/|urlmorto=sì}}</ref>
=== Programmazione multiutente e memoria condivisa ===
Per quanto riguarda il live coding, la programmazione multiutente si è sviluppata nel contesto della produzione musicale di gruppo, attraverso il lungo sviluppo del software ''Republic'' sviluppato e impiegato dai membri della band ''PowerBooks Unplugged'', un gruppo che si riunisce ed esibisce attraverso l'uso di una rete informatica.<ref>Rohrhuber, J., A. de Campo, R. Wieser, J.-K. van Kampen, E. Ho, and H. Hölzl (2007). [http://www.wertlos.org/articles/Purloined_letters.pdf Purloined letters and distributed persons] {{Webarchive|url=https://web.archive.org/web/20160303192832/http://www.wertlos.org/articles/Purloined_letters.pdf|data=2016-03-03}}. In Music in the Global Village Conference 2007.</ref> ''Republic'' è stato integrato all'interno del linguaggio SuperCollider e consente ai partecipanti di scrivere un codice in maniera collaborativa e dal vivo, attraverso una rete informatica. Sono stati fatti altri tentativi con linguaggi di programmazione diversi, come lo spazio di tuple distribuito utilizzato nel linguaggio Impromptu.<ref>Sorensen, A. (2010). [http://impromptu.moso.com.au/extras/icmc2010.pdf A distributed memory for networked livecoding performance] {{Webarchive|url=https://web.archive.org/web/20210226081451/http://impromptu.moso.com.au/extras/icmc2010.pdf |date=26 febbraio 2021 }}. In Proceedings of International Computer Music Conference 2010.</ref> Inoltre, i linguaggi Overtone, Impromptu ed Extempore supportano sessioni multiutente, in cui un numero qualsiasi di live coder può intervenire sul codice durante una determinata fase del processo di runtime.<ref>Sorensen, A. (2005). [http://eprints.qut.edu.au/31056/ Impromptu : an interactive programming environment for composition and performance, In proceedings of the Australasian Computer Music Conference 2005]</ref> La scrittura di codice in maniera condivisa può avvenire anche nella stessa stanza, attraverso una rete locale, oppure anche da postazioni remote accedendo, attraverso Internet, ad un server condiviso. Termini come laptop band, laptop orchestra, live coding collaborativo o live coding collettivo vengono utilizzati per inquadrare una pratica di programmazione dal vivo in rete sia attraverso un network locale sia da remoto attraverso l'uso di Internet.
== Organizzazioni collettive di live coder ==
Line 36 ⟶ 35:
== Ambienti di live coding ==
* Chuck
* Extempore
Line 51 ⟶ 49:
* Pure Data
* Scratch
* [[Sonic Pi]]
* SuperCollider
* TidalCycles
Line 57 ⟶ 55:
== Live coder internazionali ==
* Joanne Armitage
* Renick Bell
Line 74 ⟶ 71:
* Antonio Roberts
==
<references/>
== Bibliografia ==
* Andrews, Robert. " [https://www.wired.com/science/discoveries/news/2006/07/71248 Real DJs Code Live]." ''Wired'' (online), 7 marzo 2006.
* Brown, Andrew R. " [http://journal.media-culture.org.au/0612/03-brown.php Code Jamming] ". ''M/C Journal'' 9/6 (dicembre 2006).
* Magnusson, Thor. " [http://www.mitpressjournals.org/doi/pdf/10.1162/COMJ_a_00216 Herding Cats: Observing Live Coding in the Wild] ". "Computer Music Journal" Primavera 2014, vol. 38, n. 1, pp. 8-16.
* Ramsay, Stefano. “ [http://vimeo.com/9790850 Algorithms are Thoughts, Chainsaws are Tools].” Critical Code Studies Workshop, March 2010. A short film on live coding and the TOPLAP manifesto.
* Sorensen, Andrew e Henry Gardner. " [http://impromptu.moso.com.au/extras/sorensen_ow_2010.pdf Programming With Time: Cyber-physical programming with Impromptu] {{Webarchive|url=https://web.archive.org/web/20210226081448/http://impromptu.moso.com.au/extras/sorensen_ow_2010.pdf |date=26 febbraio 2021 }}.” 22 September 2010.
* Di Prospero, Carolina. " [http://www.revistacontenido.com/wp-content/uploads/2015/02/art%C3%ADculo-3-%C2%B7-Carolina-Di-Prospero.pdf Live coding.] [http://www.revistacontenido.com/wp-content/uploads/2015/02/art%C3%ADculo-3-%C2%B7-Carolina-Di-Prospero.pdf Arte computacional en proceso] ." ''Contenido. Arte, Cultura y Ciencias Sociales'' 2015, vol. 5, pagg. 5-19.
* Mori, Giovanni. [http://www.aracneeditrice.it/index.php/pubblicazione.html?item=9788825532449 Live Coding? What does it mean? An Ethnographical Survey on an Innovative Improvisational Approach] {{Webarchive|url=https://web.archive.org/web/20210801141617/http://www.aracneeditrice.it/index.php/pubblicazione.html?item=9788825532449 |date=1 agosto 2021 }}. Aracne, Rome, 2020.
* ICLC 2015. " [https://zenodo.org/collection/user-iclc2015 Proceedings of the First International Conference on Live Coding]." Leeds, UK.
==
* [[Algorave]]
* [[Demoscene]]
* [[NIME]]
* [[Programmazione esplorativa]]
* [[Programmazione interattiva]]
== Collegamenti esterni ==
* [http://toplap.org/ Sito ufficiale TOPLAP]
* [https://toplapitalia.gitlab.io/ Sito ufficiale del nodo italiano di TOPLAP]
* [https://web.archive.org/web/20130104152439/http://vivo2012.cenart.tv/index.html /*vivo*/ simposio sul live coding]
* [https://iclc.toplap.org/ Conferenza internazionale sul Live Coding]
{{Portale|informatica|musica}}
[[Categoria:Arte digitale]]
[[Categoria:Programmazione]]
|