HackerTube
HomeLongsLikedHistoryWatch laterCategoriesPlaylistsSettings

Live Debugging in Smalltalk

jaroberCited 3× on HN, 2012-2017
YouTube
1K views · 18 years ago · demo · evergreen

A brief demo of the Smalltalk debugger, including defining a method that doesn't exist yet while the program is stopped mid-crash.

HN cites it as a concise demo of live debugging and editing code in a running Smalltalk environment.

Testing, debugging & developer toolsGUI, HCI & interface history#smalltalk#debugger#liveprogramming#refactoring#developertools

3 comments from Hacker News

@robertkrahn012017 · in “Smalltalk’s Productivity”

Smalltalk has a meta API that is designed to allow introspection and modification of both static and dynamic code entities [1,2]. Static entities such as classes and methods (and depending on your Smalltalk implementation namespaces and object versions) can be modified at runtime, i.e. while your program is running you can make a change and get an immediate effect. This is now known as "live" programming, however, it is notably different from your typical "hot reload" implementation in that it knows how to apply changes for individual code entities. E.g. if you modify a method you don't need to reload the entire class or module or entire runtime. For me, this feature alone makes for a big productivity increase. Dynamic entities such as stack frames can also be reified by the meta interface. This allows to inspect and modify runtime processes, e.g. inside a "debugger" [3]. Note that the debugger allows to modify and create new code while your are debugging . This is a powerful feature because it means that you get access to runtime objects inside of it. Ever wondered what object gets passed into your method at a certain point, what methods it knows, what properties it has? Just try it out and see for yourself! An interesting analogy to describe this experience: [4]. For a deeper description about the ideas behind that see Design Principles Behind Smalltalk [5]. Also, most Lisp implementations provide the same kind of meta interface, and CLOS arguably provides a more flexible a

CitesView on HN
@jerf2017 · in “Saying Goodbye to Firebug”

This may have been posted in 2008, but the tech it is demoing was decades (yes, plural) old by then: ▶ this video This video is a simple demonstration of very mature tech, not a demo of something hot and new. That's a demo of a Smalltalk environment with the programmer deliberately writing some code that crashes, going into the debugger, adding the method on the fly, and then having the original method call complete despite the method not yet having existed. It isn't quite true that there is nothing new under the tech sun... but there's certainly less new than most people seem to think.

CitesView on HN
@tree_of_item2012 · in “The Essence of Dynamic Typing”

A small example of refactoring running code is at ▶ this video And a more lengthy example of writing tests first, letting the code fail, and fixing things in the debugger: link This is kind of like writing code that doesn't exist or doesn't work, and letting the type checker guide you through the things you need to fill in. The difference is that Smalltalk is actually executing your code, so you can see actual values rather than just type errors, and it will keep trying to execute your code while you change things. It might be possible to do something like that with static typing, but I think the real issue is that most advocates of static typing wouldn't really _want_ to mess around with programs in inconsistent states in the first place.

CitesView on HN
Code Bubbles: Rethinking the User Interface Paradigm of Integrated Development Environments8:19

Code Bubbles: Rethinking the User Interface Paradigm of Integrated Development Environments

AndrewBragdon
284K views • 16 years ago
Bret Victor Inventing on Principle54:20

Bret Victor Inventing on Principle

Luna Programming Language Tutorials
22K views • 8 years ago
Yesterday's Computer of Tomorrow: The Xerox Alto │Smalltalk-76 Demo16:48

Yesterday's Computer of Tomorrow: The Xerox Alto │Smalltalk-76 Demo

Computer History Museum
38K views • 8 years ago
Alto System Project: Dan Ingalls demonstrates Smalltalk2:08:02

Alto System Project: Dan Ingalls demonstrates Smalltalk

Computer History Museum
36K views • 7 years ago
Dabble DB demo6:46

Dabble DB demo

krueggen
10K views • 19 years ago
Intentional Programming demo (Part 1) - Editor9:59

Intentional Programming demo (Part 1) - Editor

dftube
14K views • 20 years ago
Tomorrow Corporation Tech Demo14:06

Tomorrow Corporation Tech Demo

retrogameinternals
107K views • 3 years ago
Bret Victor - Inventing on Principle54:20

Bret Victor - Inventing on Principle

Colin McDonnell
25K views • 11 years ago
Live ClojureScript Game Editor5:27

Live ClojureScript Game Editor

ibdknox
34K views • 14 years ago
Twenty Minutes of Reasons to Use the RemedyBG Debugger20:00

Twenty Minutes of Reasons to Use the RemedyBG Debugger

Molly Rocket
70K views • 4 years ago
"Stop Writing Dead Programs" by Jack Rusher (Strange Loop 2022)43:04

"Stop Writing Dead Programs" by Jack Rusher (Strange Loop 2022)

Strange Loop Conference
468K views • 4 years ago
Lambda World 2018 - What FP can learn from Smalltalk by Aditya Siram43:37

Lambda World 2018 - What FP can learn from Smalltalk by Aditya Siram

Lambda World
25K views • 7 years ago
7 minutes of Pharo Smalltalk for Rubyists7:15

7 minutes of Pharo Smalltalk for Rubyists

Avdi Grimm
37K views • 11 years ago
"Eve" by Chris Granger46:04

"Eve" by Chris Granger

Strange Loop Conference
27K views • 11 years ago
Bret Victor - Inventing on Principle54:20

Bret Victor - Inventing on Principle

Rui Oliveira
339K views • 14 years ago
NeXT vs Sun17:48

NeXT vs Sun

hoffman60613
116K views • 14 years ago
NeXTSTEP Release 3: A Demonstration with Steve Jobs35:07

NeXTSTEP Release 3: A Demonstration with Steve Jobs

Joseph Spiros
184K views • 6 years ago
🚀  TDD, Where Did It All Go Wrong (Ian Cooper)1:03:55

🚀 TDD, Where Did It All Go Wrong (Ian Cooper)

DevTernity Conference
619K views • 8 years ago
The Final Demonstration of the Xerox 'Star' computer2:20:15

The Final Demonstration of the Xerox 'Star' computer

Computer History Museum
22K views • 13 years ago
Google I/O 2011: Chrome Dev Tools Reloaded43:33

Google I/O 2011: Chrome Dev Tools Reloaded

Google for Developers
107K views • 15 years ago