skip to main content
10.1145/2984380.2984381acmotherconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
research-article

How Live are Live Programming Systems?: Benchmarking the Response Times of Live Programming Environments

Published: 18 July 2016 Publication History

Abstract

The idea of live programming has been applied in various domains, including the exploration of simulations, general-purpose application development, and even live performance of music. As a result, different qualitative definitions of the term live programming exist. Often, these definitions refer to a sense of "directness" or "immediacy" regarding the responses of the system. However, most of them lack quantitative thresholds of this response time. Thus, we propose a survey of live programming environments to determine common response times the community regards as sufficient. In this paper, we discuss the design of an initial survey focusing on general-purpose live programming environments. We describe the selection process of systems and the benchmarking model to measure relevant time spans. We illustrate the potential outcomes of such a study with results from applying the benchmarking model to Squeak/Smalltalk and the Self environment. The results hint that a quick adaptation of the executable form might be a common feature of live programming environments.

References

[1]
CLisp GNU Man Page. Online at http://www.clisp.org/impnotes/clisp.html (accessed 14th of June 2016).
[2]
Elm's Time Traveling Debugger. Online at http://debug.elm-lang.org/ (accessed 14th of June 2016).
[3]
SLIME Project Page. Online at https://common-lisp.net/project/slime/#platform (accessed 14th of June 2016).
[4]
Squeak Webpage. Online at http://www.squeak.org/ (accessed 14th of June 2016).
[5]
S. Burckhardt, M. Fähndrich, P. de Halleux, S. McDirmid, M. Moskal, N. Tillmann, and J. Kato. It's alive! continuous feedback in UI programming. In Proceedings of Programming Language Design and Implementation (PLDI) 2013, pages 95--104, New York, NY, USA, 2013. ACM.
[6]
M. M. Burnett, J. W. A. Jr., and Z. T. Welch. Implementing level 4 liveness in declarative visual programming languages. In Proceedings of the Symposium on Visual Languages 1998, pages 126--133, New York, NY, USA, 1998.
[7]
Cycling74. The Max Language Documentation. Online at https://cycling74.com (accessed 14th of June 2016).
[8]
E. Czaplicki and S. Chong. Asynchronous functional reactive programming for GUIs. In Proceedings of Programming Language Design and Implementation (PLDI) 2013, pages 411--422, New York, NY, USA, 2013. ACM.
[9]
B. Freudenberg, Y. Ohshima, and S. Wallace. Etoys for one laptop per child. In Creating, Connecting and Collaborating through Computing (C5) 2009, pages 57--64. IEEE, 2009.
[10]
R. P. Gabriel. personal communication, 2016.
[11]
Google Inc. Chrome DevTools Documentation. Online at https://developer.chrome.com/devtools (accessed 14th of June 2016).
[12]
C. M. Hancock. Real-Time Programming and the Big Ideas of Computational Literacy. PhD thesis, Massachusetts Institute of Technology, Sept. 2003.
[13]
D. Ingalls, T. Kaehler, J. Maloney, S. Wallace, and A. Kay. Back to the future: The story of Squeak, a practical Smalltalk written in itself. In ACM SIGPLAN Notices, volume 32, pages 318--326. ACM, 1997.
[14]
D. Ingalls, K. Palacz, S. Uhler, A. Taivalsaari, and T. Mikkonen. The Lively Kernel: A self-supporting system on a web page. In Proceedings of the Workshop on Self-Sustaining Systems (S3) 2008, pages 31--50. Springer, 2008.
[15]
J. Johnson. Designing with the Mind in Mind. Morgan Kaufmann, San Francisco, CA, USA, 2nd edition, 2014.
[16]
H. Lieberman and C. Fry. Bridging the gulf between code and behavior in programming. In Proceedings of the conference on Human factors in computing systems (CHI) 1995, pages 480--486, New York, New York, USA, 1995. ACM Press/Addison-Wesley Publishing Co.
[17]
J. McCarthy. LISP 1.5 Programmer's Manual. MIT Press, 1965.
[18]
S. McDirmid. A Live Programming Experience. Online at http://www.thestrangeloop.com/2015/a-live-programming-experience.htmls (accessed 14th of June 2016).
[19]
S. McDirmid. Usable live programming. In Proceedings of the Symposium on New Ideas, New Paradigms, and Reflections on Programming & Software (Onward!) 2013, pages 53--62, New York, NY, USA, 2013. ACM.
[20]
D. A. Norman and S. W. Draper. User Centered System Design. Lawrence Erlbaum Associates, Inc., Publishers, 1986.
[21]
B. Shneiderman, C. Plaisant, M. Cohen, and S. Jacobs. Designing the User Interface: Strategies for Effective Human-Computer Interaction. Pearson, Upper Saddle River, New Jersey, USA, international edition of 5th revised edition, 2009.
[22]
M. Taeumel, M. Perscheid, B. Steinert, J. Lincke, and R. Hirschfeld. Interleaving of modification and use in data-driven tool development. In Proceedings of Onward! 2014, pages 185--200. ACM, 2014.
[23]
S. L. Tanimoto. VIVA: A visual language for image processing. Journal of Visual Language Computation, 1(2):127--139, 1990.
[24]
S. L. Tanimoto. A perspective on the evolution of live programming. In Proceedings of Workshop on Live Programming (LIVE) 2013, pages 31--34. IEEE, 2013.
[25]
D. Ungar, H. Lieberman, and C. Fry. Debugging and the experience of immediacy. CACM, 40(4):38--43, 1997.
[26]
D. Ungar and R. B. Smith. Self: The power of simplicity. In Proceedings of Object-Oriented Programming, Systems, Languages & Applications (OOPSLA) 1987, pages 227--242, New York, New York, USA, 1987. ACM.

Cited By

View all
  • (2023)How to Tame an Unpredictable Emergence? Design Strategies for a Live-Programming SystemDesign Thinking Research10.1007/978-3-031-36103-6_8(149-166)Online publication date: 20-Sep-2023
  • (2022)Relentless Repairability or Reckless Reuse: Whether or Not to Rebuild a Concern with Your Familiar Tools and MaterialsProceedings of the 2022 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software10.1145/3563835.3568733(185-194)Online publication date: 29-Nov-2022
  • (2022)Competitive Debugging: Toward Contests Promoting Debugging as a SkillProceedings of the 2022 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software10.1145/3563835.3567665(172-184)Online publication date: 29-Nov-2022
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
PX/16: Proceedings of the Programming Experience 2016 (PX/16) Workshop
July 2016
60 pages
ISBN:9781450347761
DOI:10.1145/2984380
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 18 July 2016

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. benchmark model
  2. empirical study
  3. live programming
  4. system response time

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Conference

PX/16

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)17
  • Downloads (Last 6 weeks)1
Reflects downloads up to 14 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2023)How to Tame an Unpredictable Emergence? Design Strategies for a Live-Programming SystemDesign Thinking Research10.1007/978-3-031-36103-6_8(149-166)Online publication date: 20-Sep-2023
  • (2022)Relentless Repairability or Reckless Reuse: Whether or Not to Rebuild a Concern with Your Familiar Tools and MaterialsProceedings of the 2022 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software10.1145/3563835.3568733(185-194)Online publication date: 29-Nov-2022
  • (2022)Competitive Debugging: Toward Contests Promoting Debugging as a SkillProceedings of the 2022 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software10.1145/3563835.3567665(172-184)Online publication date: 29-Nov-2022
  • (2021)Weaving Schematics and Code: Interactive Visual Editing for Hardware Description LanguagesThe 34th Annual ACM Symposium on User Interface Software and Technology10.1145/3472749.3474804(1039-1049)Online publication date: 10-Oct-2021
  • (2020)Example-based live programming for everyone: building language-agnostic tools for live programming with LSP and GraalVMProceedings of the 2020 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software10.1145/3426428.3426919(1-17)Online publication date: 18-Nov-2020
  • (2019)Hot Code Patching in CPythonProceedings of the 14th Workshop on Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems10.1145/3340670.3342424(1-7)Online publication date: 19-Jul-2019
  • (2019)Faster feedback through lexical test prioritizationCompanion Proceedings of the 3rd International Conference on the Art, Science, and Engineering of Programming10.1145/3328433.3328455(1-10)Online publication date: 1-Apr-2019
  • (2019)Live programming and software evolutionProceedings of the 27th International Conference on Program Comprehension10.1109/ICPC.2019.00017(30-41)Online publication date: 25-May-2019
  • (2018)Few versatile vs. many specialized collections: how to design a collection library for exploratory programming?Companion Proceedings of the 2nd International Conference on the Art, Science, and Engineering of Programming10.1145/3191697.3214334(135-143)Online publication date: 9-Apr-2018
  • (2018)The road to live programmingProceedings of the 40th International Conference on Software Engineering10.1145/3180155.3180200(1090-1101)Online publication date: 27-May-2018
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media