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
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@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
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@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@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
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@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@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@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
By "stub out stuff" do you mean "write a stub test case with self assert: false"? *raises hand*
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?)
frank
On 25 January 2013 21:47, Casey Ransberger casey.obrien.r@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@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@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@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
On Fri, Jan 25, 2013 at 1:55 PM, Frank Shearar frank.shearar@gmail.comwrote:
By "stub out stuff" do you mean "write a stub test case with self assert: false"? *raises hand*
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?)
Yeah, I got hit by that one just this morning. It should work like #shouldBeImplemented, but create the method on the class of the receiver, instead of the class where the method is defined.
Colin
Inline, briefly.
On Jan 25, 2013, at 1:55 PM, Frank Shearar frank.shearar@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?
frank
On 25 January 2013 21:47, Casey Ransberger casey.obrien.r@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@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@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@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
On 25 January 2013 22:29, Casey Ransberger casey.obrien.r@gmail.com wrote:
Inline, briefly.
On Jan 25, 2013, at 1:55 PM, Frank Shearar frank.shearar@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@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@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@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@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
On 06-04-2013, at 3:13 PM, Frank Shearar frank.shearar@gmail.com wrote:
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!
Some of us dinosaurs have been using the term 'debugging into existence' for thirty years and I'm not at all sure it was original then. I'm more the obsessive-compulsive sort that likes to stare into the depths of the Matmos until we have the basics - or even full scope - of the answer in our heads before rising from our meditation mats, ritually washing ourselves in the blood of java-weenies, and sinking a few lattés on the way to the keyboard-shrine.
tim -- tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim Fractured Idiom:- PORTE-KOCHERE - Sacramental wine
On 6 April 2013 23:48, tim Rowledge tim@rowledge.org wrote:
On 06-04-2013, at 3:13 PM, Frank Shearar frank.shearar@gmail.com wrote:
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!
Some of us dinosaurs have been using the term 'debugging into existence' for thirty years and I'm not at all sure it was original then. I'm more the obsessive-compulsive sort that likes to stare into the depths of the Matmos until we have the basics - or even full scope - of the answer in our heads before rising from our meditation mats, ritually washing ourselves in the blood of java-weenies, and sinking a few lattés on the way to the keyboard-shrine.
Sure. REPL/Workspace development. Or to be all new-fangled, starting with a failing test that you debug into existence. (My own preference.)
But there is still a qualitative difference between being able to evaluate the expressions in your Workspace whenever you want, and having them always evaluated automatically. (*) I didn't believe there would be, but Lightable surprised me even though I "knew" what to expect. Having said that, there isn't a Lightable mode for emacs, so I haven't discovered the effect this might have on my programming flow. (Lightable is, for the moment, only for Clojure, and I do all my Clojure work in emacs because, well, why would you use anything else?)
frank
(*) I'll ignore the obvious problems of side effects: deleting things on the file system, launching missiles and the like. In Smalltalk that's a very, very big problem to solve (because of how baked in side effects are in the standard libraries, and the code built on the standard libraries), and we don't have an type/effect system to help us identify same.
On 2013-04-07 5:00 AM, Frank Shearar wrote:
(*) I'll ignore the obvious problems of side effects: deleting things on the file system, launching missiles and the like. In Smalltalk that's a very, very big problem to solve (because of how baked in side effects are in the standard libraries, and the code built on the standard libraries), and we don't have an type/effect system to help us identify same.
Virtualizing the primitives (adapting standard CPU virtualization tricks to the Smalltalk VM) might suffice (and would permit a bunch of other really interesting stuff at the same time). Hmm, though enforcing no-shared-memory might be a bit challenging.
Tony
squeak-dev@lists.squeakfoundation.org