It's Alive! What a Live Object Environment Changes in Software Engineering Practice
Juli\'an Grigera, Steven Costiou, Juan Cruz Gardey, St\'ephane Ducasse

TL;DR
This paper discusses the importance of live, interactive object environments in Smalltalk's Pharo, showcasing tools that enhance developer productivity and API evolution, and reflecting on their potential application in other IDEs.
Contribution
It introduces several innovative tools in Pharo that improve live object interaction, debugging, and API management, inspiring improvements in other integrated development environments.
Findings
Tools enable immediate feedback and interaction with objects.
Automated rewriting supports API evolution.
Breakpoints target specific object instances.
Abstract
Tools shape our mind. This is why it is important to have extensible and flexible tools for developers to adapt to their needs. Reasoning about programs in the abstract -- by imagining what objects should look like -- can make it harder to grasp the underlying model. In Smalltalk environments like Pharo, developers work closely with their objects, gaining immediate feedback -- not guessing how they will look like but directly interacting with them. This article presents some tools developers use in Pharo: Inspector custom views for defining specific views and navigation for objects, Microcommits for reverting changes without the need to commit and pull, Xtreme TDD that allows developers to code in the debugger, On the Fly Rewriting Deprecations that support API evolution through automated rewriting of deprecated calls, and Object-Centric Breakpoints -- when a problem cannot be…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Techniques and Practices · Usability and User Interface Design · Persona Design and Applications
