191:. Republic is built into the SuperCollider language, and allows participants to collaboratively write live code that is distributed across the network of computers. There are similar efforts in other languages, such as the distributed tuple space used in the Impromptu language. Additionally Overtone, Impromptu and Extempore support multi-user sessions, in which any number of programmers can intervene across the network in a given runtime process. The practice of writing code in group can be done in the same room through a local network or from remote places accessing a common server. Terms like laptop band, laptop orchestra, collaborative live coding or collective live coding are used to frame a networked live coding practice both in a local or remote way.
102:. Typically, the process of writing source code is made visible by projecting the computer screen in the audience space, with ways of visualising the code an area of active research. Live coding techniques are also employed outside of performance, such as in producing sound for film or audiovisual work for interactive art installations. Also, the interconnection between computers makes possible to realize this practice networked in group.
27:
211:
A number of research projects and research groups have been created to explore live coding, often taking interdisciplinary approaches bridging the humanities and sciences. First efforts to both develop live coding systems and embed the emerging field in the broader theoretical context happened in the
199:
TOPLAP (The (Temporary|Transnational|Terrestrial|Transdimensional) Organisation for the (Promotion|Proliferation|Permanence|Purity) of Live (Algorithm|Audio|Art|Artistic) Programming) is an informal organization formed in
February 2004 to bring together the various communities that had formed around
151:
programming environment. Technical elements within a programming environment continue to locate compressors and recursion solutions, but timing had been a major issue. While the general form of a temporal recursion, being any asynchronous function recursion through time, is available to any event
132:
The specific affordances of time-based media and live interaction with code has led to a number of novel developments and uses in programming language design. Through mutual embedding of imperative and declarative subsystems, the programming language
32:
31:
29:
33:
578:
Julian
Rohrhuber, Alberto de Campo, and Renate Wieser (2005), Algorithms today - Notes on Language Design for Just In Time Programming, Proceedings of International Computer Music Conference (Barcelona), ICMC, 2005, pp.
30:
152:
driven system, Impromptu has placed a special emphasis on this particular design pattern, making it the centre piece of the concurrency architecture on that platform. Temporal recursion had repeatedly been used in
109:
is who performs the act of live coding, usually "artists who want to learn to code, and coders who want to express themselves" or in terms of Wang & Cook the "programmer/performer/composer".
404:
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.
112:
Live coding is also an increasingly popular technique in programming-related lectures and conference presentations, and has been described as a "best practice" for computer science lectures by
223:
for two years from
February 2014, supporting a range of activities including symposia, workshops and an annual international conference called International Conference on Live Coding (ICLC).
200:
live coding environments. The TOPLAP manifesto asserts several requirements for a TOPLAP compliant performance, in particular that performers' screens should be projected and not hidden.
549:
28:
203:
On-the-fly promotes live coding practice since 2020. This is a project co-funded by the
Creative European program and run in Hangar, ZKM, Ljudmila and Creative Code Utrecht.
451:
685:
Impromptu : an interactive programming environment for composition and performance, In proceedings of the
Australasian Computer Music Conference 2005
527:
144:
language introduced an approach to "strongly timed" programming in 2002, embedding precision timing into control flow through a concise syntax.
622:
822:
343:—academic and artistic conference on advances in music technology, sometimes featuring live coding performances and research presentations
654:
253:
745:
448:
220:
258:
148:
41:
911:
505:
137:
permitted to build a library that allows incomplete and provisional specifications which can be rewritten at runtime.
486:
248:
157:
851:
213:
172:
590:
Programming With Time: Cyberphysical
Programming In Impromptu, In proceedings of the ACM Splash Conference 2010
283:
183:
Multi-user programming has developed in the context of group music-making, through the long development of the
901:
856:
605:
In proceedings of the 2nd ACM SIGPLAN International
Workshop on Functional Art, Music, Modelling and Design
886:
695:
Ward, A., Rohrhuber, J., Olofsson, F., McLean, A., Griffiths, D., Collins, N., and
Alexander, A. (2004).
361:
388:
603:
550:"What students get wrong when building computational physics models in Python: Cabellero thesis part 2"
171:, which represents patterns as combinators operating over functions of time, similar to techniques in
811:.” Critical Code Studies Workshop, March 2010. A short film on live coding and the TOPLAP manifesto.
168:
569:
James McCartney (1996), SuperCollider: a new real time synthesis language, ICMC Proceedings, 1996.
488:
Artificial, Natural, Historical in
Transdisciplinary Digital Art. Sound, Vision and the New Screen
896:
334:
328:
99:
79:
20:
393:
Proceedings of the 2004 International Conference on New Interfaces for Musical Expression (NIME)
801:
779:
212:
research project Artistic Interactivity in Hybrid Networks from 2005 to 2008, funded by the
124:
A range of techniques have been developed and appropriated for the purposes of live coding.
906:
876:
815:
243:
71:
8:
891:
602:
McLean, Alex (2014). "Making programming languages to dance to: Live Coding with Tidal".
589:
414:
790:
696:
651:
331:—the practice of building software as a way to understand its requirements and structure
616:
298:
164:
881:
757:
650:
Rohrhuber, J., A. de Campo, R. Wieser, J.-K. van Kampen, E. Ho, and H. Hölzl (2007).
319:—event where music and/or visuals are generated from algorithms, generally live coded
427:
671:
369:
699:. In Goriunova, O. and Shulgin, A., editors, read_me - Software Art and Cultures.
658:
455:
67:
268:
95:
833:
472:
373:
870:
293:
153:
134:
87:
83:
113:
163:
Another functional approach to the representation of time is shown in the
697:
Live algorithm programming and a temporary organisation for its promotion
75:
528:"Live coding brings programming to life - an interview with Alex McLean"
389:"On-the-fly Programming: Using Code as an Expressive Musical Instrument"
804:." "Computer Music Journal" Spring 2014, Vol. 38, No. 1, pp. 8–16.
322:
304:
278:
147:"Temporal recursion" was a term initially coined in relation to the
709:
684:
316:
288:
263:
337:—programming practice of using live coding in software development
674:. In Proceedings of International Computer Music Conference 2010.
417:. In Live 2013. First International Workshop on Live Programming.
834:
Proceedings of the First International Conference on Live Coding
816:
Programming With Time: Cyber-physical programming with Impromptu
471:
McLean, A., Griffiths, D., Collins, N., and Wiggins, G. (2010).
360:
Collins, N., McLean, A., Rohrhuber, J. & Ward, A. (2003), "
238:
219:
Further, the Live Coding Research Network was funded by the UK
86:
way. Live coding is often used to create sound and image based
273:
233:
187:
system developed and employed by members of the network band
141:
98:
usually as improvisation, although it could be combined with
91:
63:, makes programming an integral part of the running program.
808:
506:"Communion by Universal Everything and Field.io: interview"
415:
The Threnoscope. A Musical Work for Live Coding Performance
340:
325:—subculture around coding audiovisual presentations (demos)
178:
861:
727:
637:
127:
672:
A distributed memory for networked livecoding performance
475:. In Electronic Visualisation and the Arts London 2010.
226:
846:
16:
Integration of programming as part of running program
744:"Artistic Interactivity in Hybrid Networks" (2016)
661:. In Music in the Global Village Conference 2007.
868:
94:and poetry, though is particularly prevalent in
802:Herding Cats: Observing Live Coding in the Wild
494:. Springer Berlin Heidelberg. pp. 60–70.
827:Contenido. Arte, Cultura y Ciencias Sociales
809:Algorithms are Thoughts, Chainsaws are Tools
823:Live coding. Arte computacional en proceso
621:: CS1 maint: location missing publisher (
652:Purloined letters and distributed persons
484:
179:Multi-user programming and shared memory
40:is a musical live coding performance in
25:
862:International Conference on Live Coding
547:
449:Generative Music and Laptop Performance
128:Representation and manipulation of time
90:, as well as light systems, improvised
869:
635:
601:
383:
381:
156:and has since been implemented in the
814:Sorensen, Andrew and Henry Gardner. “
588:Sorensen, A & Gardner, H (2010) "
428:"Tech Know: Programming, meet music"
227:Examples of live coding environments
221:Arts and Humanities Research Council
378:
13:
772:
14:
923:
852:/*vivo*/ symposium on live coding
840:
362:Live Coding in Laptop Performance
525:
194:
750:
738:
720:
702:
689:
677:
664:
644:
629:
595:
582:
572:
563:
541:
519:
173:functional reactive programming
498:
478:
465:
441:
420:
407:
398:
354:
1:
548:Guzdial, Mark (August 2011).
387:Wang G. & Cook P. (2004)
347:
119:
829:2015, Vol. 5, pp. 5–19.
74:centred upon the writing of
7:
747:--- Wayback Machine archive
636:McLean, Alex (2013-08-02).
310:
206:
51:, sometimes referred to as
10:
928:
857:Live Code Research Network
485:Rohrhuber, Julian (2008).
473:Visualisation of live code
214:German Research Foundation
66:It is most prominent as a
61:conversational programming
18:
912:User interface techniques
460:Contemporary Music Review
374:10.1017/S135577180300030X
821:Di PrĂłspero, Carolina. "
57:just in time programming
19:Not to be confused with
847:Official TOPLAP website
786:(online), 7 March 2006.
395:(New York: NIME, 2004).
335:Interactive programming
329:Exploratory programming
100:algorithmic composition
80:interactive programming
21:Interactive programming
430:. BBC News. 2009-08-28
413:Magnusson, T. (2013).
53:on-the-fly programming
45:
818:.” 22 September 2010.
758:"Live Coding Network"
728:"On-the-flly project"
683:Sorensen, A. (2005).
670:Sorensen, A. (2010).
36:
902:Computer programming
797:9/6 (December 2006).
447:Collins, N. (2003) "
189:PowerBooks Unplugged
72:creativity technique
44:by Andrew Sorensen.
887:Experimental music
807:Ramsay, Stephen. “
800:Magnusson, Thor. "
789:Brown, Andrew R. “
780:Real DJs Code Live
778:Andrews, Robert. “
657:2016-03-03 at the
454:2014-05-14 at the
46:
34:
919:
766:
765:
754:
748:
742:
736:
735:
724:
718:
717:
710:"ManifestoDraft"
706:
700:
693:
687:
681:
675:
668:
662:
648:
642:
641:
638:"Tidal homepage"
633:
627:
626:
620:
612:
610:
599:
593:
586:
580:
576:
570:
567:
561:
560:
558:
556:
545:
539:
538:
536:
534:
523:
517:
516:
514:
512:
502:
496:
495:
493:
482:
476:
469:
463:
445:
439:
438:
436:
435:
424:
418:
411:
405:
402:
396:
385:
376:
358:
38:A Study in Keith
35:
927:
926:
922:
921:
920:
918:
917:
916:
867:
866:
843:
775:
773:Further reading
770:
769:
756:
755:
751:
743:
739:
726:
725:
721:
708:
707:
703:
694:
690:
682:
678:
669:
665:
659:Wayback Machine
649:
645:
634:
630:
614:
613:
608:
600:
596:
587:
583:
577:
573:
568:
564:
554:
552:
546:
542:
532:
530:
524:
520:
510:
508:
504:
503:
499:
491:
483:
479:
470:
466:
456:Wayback Machine
446:
442:
433:
431:
426:
425:
421:
412:
408:
403:
399:
386:
379:
366:Organised Sound
359:
355:
350:
313:
308:
229:
209:
197:
181:
130:
122:
78:and the use of
68:performing arts
26:
24:
17:
12:
11:
5:
925:
915:
914:
909:
904:
899:
897:Computer music
894:
889:
884:
879:
865:
864:
859:
854:
849:
842:
841:External links
839:
838:
837:
830:
819:
812:
805:
798:
787:
774:
771:
768:
767:
749:
737:
732:onthefly.space
719:
701:
688:
676:
663:
643:
628:
594:
581:
571:
562:
540:
518:
497:
477:
464:
440:
419:
406:
397:
377:
368:8(3): 321–30.
352:
351:
349:
346:
345:
344:
338:
332:
326:
320:
312:
309:
307:
306:
301:
296:
291:
286:
281:
276:
271:
266:
261:
256:
251:
246:
241:
236:
230:
228:
225:
208:
205:
196:
193:
180:
177:
129:
126:
121:
118:
105:The figure of
96:computer music
15:
9:
6:
4:
3:
2:
924:
913:
910:
908:
905:
903:
900:
898:
895:
893:
890:
888:
885:
883:
880:
878:
875:
874:
872:
863:
860:
858:
855:
853:
850:
848:
845:
844:
836:." Leeds, UK.
835:
831:
828:
824:
820:
817:
813:
810:
806:
803:
799:
796:
792:
788:
785:
781:
777:
776:
763:
759:
753:
746:
741:
733:
729:
723:
715:
711:
705:
698:
692:
686:
680:
673:
667:
660:
656:
653:
647:
639:
632:
624:
618:
611:. Gothenburg.
607:
606:
598:
591:
585:
575:
566:
551:
544:
529:
526:Bell, Sarah.
522:
507:
501:
490:
489:
481:
474:
468:
461:
457:
453:
450:
444:
429:
423:
416:
410:
401:
394:
390:
384:
382:
375:
371:
367:
363:
357:
353:
342:
339:
336:
333:
330:
327:
324:
321:
318:
315:
314:
305:
302:
300:
297:
295:
294:SuperCollider
292:
290:
287:
285:
282:
280:
277:
275:
272:
270:
267:
265:
262:
260:
257:
255:
252:
250:
247:
245:
242:
240:
237:
235:
232:
231:
224:
222:
217:
215:
204:
201:
195:Organizations
192:
190:
186:
176:
174:
170:
166:
161:
160:environment.
159:
155:
154:SuperCollider
150:
145:
143:
138:
136:
135:SuperCollider
125:
117:
115:
110:
108:
103:
101:
97:
93:
89:
88:digital media
85:
81:
77:
73:
69:
64:
62:
58:
54:
50:
43:
39:
22:
832:ICLC 2015. "
826:
794:
791:Code Jamming
783:
762:Gtr.ukri.org
761:
752:
740:
731:
722:
713:
704:
691:
679:
666:
646:
631:
604:
597:
584:
574:
565:
553:. Retrieved
543:
531:. Retrieved
521:
509:. Retrieved
500:
487:
480:
467:
462:22(4):67–79.
459:
443:
432:. Retrieved
422:
409:
400:
392:
365:
356:
218:
210:
202:
198:
188:
184:
182:
162:
146:
139:
131:
123:
114:Mark Guzdial
111:
106:
104:
65:
60:
56:
52:
48:
47:
37:
907:Digital art
877:Live coding
795:M/C Journal
299:TidalCycles
76:source code
70:form and a
49:Live coding
892:Live music
871:Categories
714:Toplap.org
555:5 February
511:5 February
434:2010-03-25
348:References
120:Techniques
107:live coder
84:improvised
617:cite book
323:Demoscene
279:Pure Data
259:Impromptu
244:Extempore
149:Impromptu
42:Impromptu
882:Algorave
655:Archived
579:455–458.
452:Archived
317:Algorave
311:See also
303:Sardine
289:Sonic Pi
264:ixi lang
207:Research
185:Republic
167:pattern
533:2 March
284:Scratch
254:Glicol
249:Fluxus
239:Csound
158:Fluxus
82:in an
784:Wired
609:(PDF)
492:(PDF)
391:, In
274:Pharo
234:ChucK
165:Tidal
142:ChucK
92:dance
623:link
557:2013
535:2016
513:2013
341:NIME
140:The
59:and
825:."
793:.”
782:.”
458:",
370:doi
364:",
269:Max
169:DSL
873::
760:.
730:.
712:.
619:}}
615:{{
380:^
216:.
175:.
116:.
55:,
764:.
734:.
716:.
640:.
625:)
592:"
559:.
537:.
515:.
437:.
372::
23:.
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.