[squeak-dev] Everyone's talking about debuggers these days

Frank Shearar frank.shearar at gmail.com
Sat Apr 6 22:13:32 UTC 2013


On 25 January 2013 22:29, Casey Ransberger <casey.obrien.r at gmail.com> wrote:
> Inline, briefly.
>
> On Jan 25, 2013, at 1:55 PM, Frank Shearar <frank.shearar at gmail.com> wrote:
>
>> By "stub out stuff" do you mean "write a stub test case with self
>> assert: false"? *raises hand*
>
> Actually, I do that when I'm feeling responsible, as in I-might-want-to-use-this-more-than-once. More often though, I'm dinking around on Project Euler and plan to throw my code away, in which case I just paste in "self break."
>
>> Annoyingly, defining a #subclassResponsibility method destroys my
>> flow: the debugger won't, obviously, prompt you for that "create
>> method" button I love so much. (Hm, could one restore that with a
>> SubclassResponsibilityException that the debugger can catch?)
>
> I'm not sure what the right way to do that would be, but I feel your pain. Try it?

So of course by now we all know this works, and pretty easily too.
(Check out a plain 4.5 image and you'll see.)

What I find interesting in Phexample, and Gilad Bracha's "debug mode
is the only mode", and Lightable, and Bret Victor's demo, is... it's
all old news!

http://www.subtextual.org/OOPSLA04.pdf - "Example Centric Programming"
by Jonathan Edwards - describe's Lightable's instarepl (*) on the
first page! And it was written nearly a decade ago!

frank

(*) It's a two-pane screen. On the left is something a lot like a
Smalltalk Workspace - you write in your Clojure forms. On the right is
a pane that evaluates those forms as you type, printing their output.
So when you have only written "(+ 3 4" nothing happens, but as soon as
you complete the form with a ")", the right pane immediately displays
"=> 7". Even for someone used to a live environment (me), that was
startlingly enjoyable.

>> frank
>>
>> On 25 January 2013 21:47, Casey Ransberger <casey.obrien.r at gmail.com> wrote:
>>> Here's a fun little survey...
>>>
>>> Who here likes to stub out stuff in the system browser and then actually
>>> implement things in the debugger?
>>>
>>> I find myself doing that sometimes, usually when I'm "on a roll" with what
>>> I'm doing. I've never done that with another programming system.
>>>
>>>
>>> On Fri, Jan 25, 2013 at 11:33 AM, H. Hirzel <hannes.hirzel at gmail.com> wrote:
>>>>
>>>> And interesting observation from
>>>>
>>>> http://worrydream.com/LearnableProgramming/
>>>>
>>>> Names matter.
>>>> ---------------------
>>>>
>>>> Below are four array methods from Apple's Cocoa framework, and the
>>>> equivalent JavaScript methods:
>>>>
>>>> Cocoa: addObject                          JavaScript: push
>>>> Cocoa: addObjectsFromArray               JavaScript: splice
>>>> Cocoa: arrayByAddingObject                  JavaScript:  concat
>>>> Cocoa: arrayByAddingObjectsFromArray     JavaScript: concat
>>>>
>>>>
>>>>
>>>> On 1/25/13, H. Hirzel <hannes.hirzel at gmail.com> wrote:
>>>>> Thank you for the links
>>>>>
>>>>> In particular interesting is
>>>>>
>>>>>    http://worrydream.com/LearnableProgramming/
>>>>>
>>>>> which is referenced from Bracha's blog entry.
>>>>>
>>>>> Interesting to see the evaluation of the Processing language and the
>>>>> talk about metaphors.
>>>>> E.g. the example of pasting the code for drawing a red flower.
>>>>>
>>>>>
>>>>> --Hannes
>>>>>
>>>>> On 1/25/13, Frank Shearar <frank.shearar at gmail.com> wrote:
>>>>>> First it was Gilad Bracha -
>>>>>> http://gbracha.blogspot.co.uk/2012/11/debug-mode-is-only-mode.html -
>>>>>> and now John Nolan -
>>>>>>
>>>>>> http://stigmergist.blogspot.co.uk/2013/01/debugger-first-vm-development.html
>>>>>>
>>>>>> I also saw a really neat demo of a framework for debugging system
>>>>>> calls. I hope to find out more about this when I quiz the implementor
>>>>>> in early February. I would be less vague if I could remember the name
>>>>>> of the framework!
>>>>>>
>>>>>> frank
>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>>
>>>
>>> --
>>> Casey Ransberger
>>>
>>>
>>>
>>
>


More information about the Squeak-dev mailing list