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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]> wrote: And interesting observation from Casey Ransberger |
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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]> wrote: By "stub out stuff" do you mean "write a stub test case with self 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 |
In reply to this post by Frank Shearar-3
Inline, briefly.
On Jan 25, 2013, at 1:55 PM, Frank Shearar <[hidden email]> 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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]> wrote:
> Inline, briefly. > > On Jan 25, 2013, at 1:55 PM, Frank Shearar <[hidden email]> 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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]> 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; [hidden email]; http://www.rowledge.org/tim Fractured Idiom:- PORTE-KOCHERE - Sacramental wine |
On 6 April 2013 23:48, tim Rowledge <[hidden email]> wrote:
> > On 06-04-2013, at 3:13 PM, Frank Shearar <[hidden email]> 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 |
Free forum by Nabble | Edit this page |