Proceedings of the 34th ACM SIGPLAN Conference on Programming Language Design and Implementation 2013
DOI: 10.1145/2491956.2462170
|View full text |Cite
|
Sign up to set email alerts
|

It's alive! continuous feedback in UI programming

Abstract: Live programming allows programmers to edit the code of a running program and immediately see the effect of the code changes. This tightening of the traditional edit-compile-run cycle reduces the cognitive gap between program code and execution, improving the learning experience of beginning programmers while boosting the productivity of seasoned ones. Unfortunately, live programming is difficult to realize in practice as imperative languages lack welldefined abstraction boundaries that make live programming r… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
54
0

Year Published

2013
2013
2020
2020

Publication Types

Select...
3
3
2

Relationship

1
7

Authors

Journals

citations
Cited by 55 publications
(54 citation statements)
references
References 19 publications
0
54
0
Order By: Relevance
“…The ability to rerun the layout code without affecting program state, allows our IDE to provide "live-programming", namely editing the layout code of a "running" program and seeing the changes to the UI immediately [3].…”
Section: Featuresmentioning
confidence: 99%
“…The ability to rerun the layout code without affecting program state, allows our IDE to provide "live-programming", namely editing the layout code of a "running" program and seeing the changes to the UI immediately [3].…”
Section: Featuresmentioning
confidence: 99%
“…We see none of this. Our live programming system, dubbed YinYang, aims to fix this problem by focusing on debugging, which is missing from many existing live programming systems like [5,17,24,26]. Traditional debugging techniques, like breaking and stepping with a debugger, are not compatible with continuous execution: instruction stepping interferes with continuous live feedback, while a separate debugger interface to navigate and inspect execution necessarily disrupts programmer focus on code editing.…”
Section: Making Live Programming Usefulmentioning
confidence: 99%
“…State changes performed by imperative code are final-code edits cannot change the past and time travel is impossible-while only the "present" state of the program is observed by the programmer. Work on TouchDevelop [5] formalizes this style of live programming by separating a "view," whose code is amenable to live programming, from a "model," whose initialization and mutation code is not; we can conceptualize this as: m = initial; while (true) XXClearScreen(); XXm = RenderAndHandle(m);…”
Section: Dealing With Timementioning
confidence: 99%
See 1 more Smart Citation
“…In general, live programming environments provide an infrastructure, that enables developers to immediately recognize how state and behavior of a running program are affected, when changing the underlying source code [11], [12]. Live programming occurs in several application scenarios, e.g., creating user interfaces [13], in continuous testing [14], or when using an insitu debugger [15]. Recent studies show that live programming significantly helps developers in finding and fixing bugs [16], [17].…”
Section: Introductionmentioning
confidence: 99%