Search papers, labs, and topics across Lattice.
This paper explores the impact of live object environments, specifically within the Pharo Smalltalk environment, on software engineering practices. It highlights several tools and features unique to Pharo, such as Inspector custom views, Microcommits, Xtreme TDD, On the Fly Rewriting Deprecations, and Object-Centric Breakpoints, that facilitate direct interaction with and manipulation of live objects. The authors argue that these features, which provide immediate feedback and enable developers to reason about programs concretely, can significantly improve developer workflows and invite reflection on how other IDEs could adopt similar approaches.
Ditch abstract reasoning: Pharo's live object environment lets developers directly interact with objects, revealing how IDEs can reshape workflows for the better.
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 efficiently solved with a dummy trace, developers can use break points that will only halt for a given instance. By showcasing these features that evolved alongside Smalltalk, we invite reflection on how other IDEs could rethink some of their features and improve developers'workflows.