Hi,
I have a hobby project that I've been planning to automatise a little and I've been struggling for some 7-8 months in my spare time to make any usable code in C++. All the time I have been fiddling a little with Smalltalk, but concentrated on C++ because of some annoying bugs in vW7.4.1., mainly some malfunctions in the debugger. However, last week I decided to transfer my project to Smalltalk, and to my great surprise I found I could produce usable results after only 3 days! And I can keep on evolving and refining the system while it's in use. The debugger makes debugging real easy, although I have missed the malfunctioning breakpoint function occasionally. (Does it work in another version?) Smalltalk is the mother of all object-oriented systems, and its coherent and logical design makes it easy to handle even rather intricate data structures. And besides it's such fun that I've been forced to restrict the time I'm spending with it each day, in order to get any other work or chores done, so to speak. Let alone relaxation and exercise... Anyway, I'm impressed! LEF |
Lars Finsen wrote:
> Hi, > I have a hobby project that I've been planning to automatise a little > and I've been struggling for some 7-8 months in my spare time to make > any usable code in C++. All the time I have been fiddling a little > with Smalltalk, but concentrated on C++ because of some annoying bugs > in vW7.4.1., mainly some malfunctions in the debugger. > > However, last week I decided to transfer my project to Smalltalk, and > to my great surprise I found I could produce usable results after only > 3 days! And I can keep on evolving and refining the system while it's > in use. The debugger makes debugging real easy, although I have missed > the malfunctioning breakpoint function occasionally. (Does it work in > another version?) > > Smalltalk is the mother of all object-oriented systems, and its > coherent and logical design makes it easy to handle even rather > intricate data structures. And besides it's such fun that I've been > forced to restrict the time I'm spending with it each day, in order to > get any other work or chores done, so to speak. Let alone relaxation > and exercise... > > Anyway, I'm impressed! > > LEF > it, the cooler it gets. There are only about two things I don't like about Smalltalk, and I can't remember what they are. |
In reply to this post by Lars Finsen
Can you explain what you mean by "malfunctioning breakpoint" ?
At 04:26 PM 7/4/2007, you wrote: >Hi, >I have a hobby project that I've been planning to automatise a little >and I've been struggling for some 7-8 months in my spare time to make >any usable code in C++. All the time I have been fiddling a little >with Smalltalk, but concentrated on C++ because of some annoying bugs >in vW7.4.1., mainly some malfunctions in the debugger. > >However, last week I decided to transfer my project to Smalltalk, and >to my great surprise I found I could produce usable results after >only 3 days! And I can keep on evolving and refining the system while >it's in use. The debugger makes debugging real easy, although I have >missed the malfunctioning breakpoint function occasionally. (Does it >work in another version?) > >Smalltalk is the mother of all object-oriented systems, and its >coherent and logical design makes it easy to handle even rather >intricate data structures. And besides it's such fun that I've been >forced to restrict the time I'm spending with it each day, in order >to get any other work or chores done, so to speak. Let alone >relaxation and exercise... > >Anyway, I'm impressed! > >LEF <Talk Small and Carry a Big Class Library> James Robertson, Product Manager, Cincom Smalltalk http://www.cincomsmalltalk.com/blog/blogView |
In reply to this post by Lars Finsen
Hi Lars,
Be careful, you can be seduced for entire life as I am :) Best regards Janko Lars Finsen wrote: > Hi, > I have a hobby project that I've been planning to automatise a little > and I've been struggling for some 7-8 months in my spare time to make > any usable code in C++. All the time I have been fiddling a little with > Smalltalk, but concentrated on C++ because of some annoying bugs in > vW7.4.1., mainly some malfunctions in the debugger. > > However, last week I decided to transfer my project to Smalltalk, and to > my great surprise I found I could produce usable results after only 3 > days! And I can keep on evolving and refining the system while it's in > use. The debugger makes debugging real easy, although I have missed the > malfunctioning breakpoint function occasionally. (Does it work in > another version?) > > Smalltalk is the mother of all object-oriented systems, and its coherent > and logical design makes it easy to handle even rather intricate data > structures. And besides it's such fun that I've been forced to restrict > the time I'm spending with it each day, in order to get any other work > or chores done, so to speak. Let alone relaxation and exercise... > > Anyway, I'm impressed! > > LEF > > -- Janko Mivšek AIDA/Web Smalltalk Web Application Server http://www.aidaweb.si |
In reply to this post by James Robertson-7
Den 4. jul. 2007 kl. 22.36 skrev James Robertson: > Can you explain what you mean by "malfunctioning breakpoint" ? When I tried to insert a breakpoint, the debugger window went blank and became impossible to close. I have two such blank debugger windows in the background now. But they don't disturb me so much (though I would like some advice on how to close them), and I find I mostly don't need breakpoints as there are other ways to make the debugger concentrate on critical code, by digging the other bits down in methods, for example. I wonder if the bug is a fault with the 7.4.1. system, or with my installation. LEF |
To close the dead windows try:
ApplicationWindow allInstances do: [: window | window controller closeAndUnschedule]. You'll get a dialog after the windows close. Select open new VisualLauncher. I'd been programming for quite some time before I discovered Smalltalk. My only regret is not starting sooner (and that was 15 years ago). Enjoy! Stewart >-----Original Message----- >From: Lars Finsen [mailto:[hidden email]] >Sent: 5 July 2007 8:50 a.m. >To: [hidden email] >Subject: Re: Wonderful Smalltalk! > > >Den 4. jul. 2007 kl. 22.36 skrev James Robertson: > >> Can you explain what you mean by "malfunctioning breakpoint" ? > >When I tried to insert a breakpoint, the debugger window went blank >and became impossible to close. I have two such blank debugger >windows in the background now. But they don't disturb me so much >(though I would like some advice on how to close them), and I find I >mostly don't need breakpoints as there are other ways to make the >debugger concentrate on critical code, by digging the other bits down >in methods, for example. > >I wonder if the bug is a fault with the 7.4.1. system, or with my >installation. > >LEF |
In reply to this post by Lars Finsen
Lars Finsen wrote: > > Den 4. jul. 2007 kl. 22.36 skrev James Robertson: > >> Can you explain what you mean by "malfunctioning breakpoint" ? > > When I tried to insert a breakpoint, the debugger window went blank > and became impossible to close. I have two such blank debugger windows > in the background now. But they don't disturb me so much (though I > would like some advice on how to close them), and I find I mostly > don't need breakpoints as there are other ways to make the debugger > concentrate on critical code, by digging the other bits down in > methods, for example. > > I wonder if the bug is a fault with the 7.4.1. system, or with my > installation. global semaphore where this can occur. The only one I am sure of right now is the one where you try and stop off the end of a block -- and the block in fact says 'someString' asSymbol this will freeze every time. This is one example of the debugger waiting on a lock that the debugged code has. In general these are not easy to come up with unless you have lots of processes that wait on things, in which case it can occur a bit. > > LEF > -- Dennis Smith +1 416.798.7948 Cherniak Software Development Corporation Fax: +1 416.798.0948 509-2001 Sheppard Avenue East [hidden email] Toronto, ON M2J 4Z8 sip:[hidden email] Canada http://www.CherniakSoftware.com Entrance off Yorkland Blvd south of Sheppard Ave east of the DVP |
In reply to this post by Stew MacLean
Stewart MacLean wrote: We have a little app which will display all windows and let you manipulate them -- its a bit dependent on some ofTo close the dead windows try: ApplicationWindow allInstances do: [: window | window controller closeAndUnschedule]. You'll get a dialog after the windows close. Select open new VisualLauncher. our base code, so not easy to make it available -- but its not difficult to create something like that. I started programming around 1968 -- Fortran/Assembler/PL1/Pascal/Snobol/Algol/C/C++/... and finally Smalltalk.I'd been programming for quite some time before I discovered Smalltalk. My only regret is not starting sooner (and that was 15 years ago). I would never go back thank you -- other than when I have to fix something :( Enjoy! Stewart-----Original Message----- From: Lars Finsen [[hidden email]] Sent: 5 July 2007 8:50 a.m. To: [hidden email] Subject: Re: Wonderful Smalltalk! Den 4. jul. 2007 kl. 22.36 skrev James Robertson:Can you explain what you mean by "malfunctioning breakpoint" ?When I tried to insert a breakpoint, the debugger window went blank and became impossible to close. I have two such blank debugger windows in the background now. But they don't disturb me so much (though I would like some advice on how to close them), and I find I mostly don't need breakpoints as there are other ways to make the debugger concentrate on critical code, by digging the other bits down in methods, for example. I wonder if the bug is a fault with the 7.4.1. system, or with my installation. LEF -- Dennis Smith +1 416.798.7948 Cherniak Software Development Corporation Fax: +1 416.798.0948 509-2001 Sheppard Avenue East [hidden email] Toronto, ON M2J 4Z8 [hidden email] Canada http://www.CherniakSoftware.com Entrance off Yorkland Blvd south of Sheppard Ave east of the DVP |
In reply to this post by jWarrior
Gee -- you see this kind of post and everyone jumps on it immediately :)
Donald MacQueen wrote: > Lars Finsen wrote: >> Hi, >> I have a hobby project that I've been planning to automatise a little >> and I've been struggling for some 7-8 months in my spare time to make >> any usable code in C++. All the time I have been fiddling a little >> with Smalltalk, but concentrated on C++ because of some annoying bugs >> in vW7.4.1., mainly some malfunctions in the debugger. >> >> However, last week I decided to transfer my project to Smalltalk, and >> to my great surprise I found I could produce usable results after >> only 3 days! And I can keep on evolving and refining the system while >> it's in use. The debugger makes debugging real easy, although I have >> missed the malfunctioning breakpoint function occasionally. (Does it >> work in another version?) >> >> Smalltalk is the mother of all object-oriented systems, and its >> coherent and logical design makes it easy to handle even rather >> intricate data structures. And besides it's such fun that I've been >> forced to restrict the time I'm spending with it each day, in order >> to get any other work or chores done, so to speak. Let alone >> relaxation and exercise... >> >> Anyway, I'm impressed! >> >> LEF >> > Welcome to the club. The excitement is just beginning. The more you > use it, the cooler it gets. There are only about two things I don't > like about Smalltalk, and I can't remember what they are. > -- Dennis Smith +1 416.798.7948 Cherniak Software Development Corporation Fax: +1 416.798.0948 509-2001 Sheppard Avenue East [hidden email] Toronto, ON M2J 4Z8 sip:[hidden email] Canada http://www.CherniakSoftware.com Entrance off Yorkland Blvd south of Sheppard Ave east of the DVP |
In reply to this post by Dennis smith-4
Den 4. jul. 2007 kl. 23.18 skrev Dennis Smith: > We have a little app which will display all windows and let you > manipulate them -- its a bit dependent on some of > our base code, so not easy to make it available -- but its not > difficult to create something like that. Okay, I might get around to learn doing this kind of stuff sooner than I'd expect as well. Meanwhile Stewart's little script seems to have cleaned up well enough, thanks for that. > I started programming around 1968 -- Fortran/Assembler/PL1/Pascal/ > Snobol/Algol/C/C++/... and finally Smalltalk. I was a professional programmer 1985-88. Mostly in Fortran, but C was being used some near the end. The UNIX operative system was what I liked about it. Have been dabbling some in Pascal since then to fill my occasional automation needs. It was only last year that I decided to computerise some of my home projects seriously and remembered having been impressed by the design of Smalltalk, which I read about in BYTE magazine in the early 80s. > Gee -- you see this kind of post and everyone jumps on it > immediately :) Way to attract attention, I guess. LEF |
In reply to this post by Lars Finsen
Lars
As breakpoints work in most situations, we need specific information about the problem you encountered, i.e. what class and method you are inserting the breakpoint into. Keep in mind, that there are system methods that you cannot put a simple breakpoint into because it will cause the system to break. However, if you feel you need to put a breakpoint in a commonly used method you can use a conditional breakpoint that is triggered only when you want it to be. Additionally, in some places I don't use breakpoints but I use watchpoints instead. You can create a watchpoint that prints the stack trace so you can determine how you got to a particular point. You can find some of this described in the documentation. Another useful tip is while you are in the debugger you can use a temp probe, meaning it will only affect the method context on the stack. Once the context exits the probe disappears. Terry =========================================================== Terry Raymond Crafted Smalltalk 80 Lazywood Ln. Tiverton, RI 02878 (401) 624-4517 [hidden email] <http://www.craftedsmalltalk.com> =========================================================== > -----Original Message----- > From: Lars Finsen [mailto:[hidden email]] > Sent: Wednesday, July 04, 2007 4:50 PM > To: [hidden email] > Subject: Re: Wonderful Smalltalk! > > > Den 4. jul. 2007 kl. 22.36 skrev James Robertson: > > > Can you explain what you mean by "malfunctioning breakpoint" ? > > When I tried to insert a breakpoint, the debugger window went blank > and became impossible to close. I have two such blank debugger > windows in the background now. But they don't disturb me so much > (though I would like some advice on how to close them), and I find I > mostly don't need breakpoints as there are other ways to make the > debugger concentrate on critical code, by digging the other bits down > in methods, for example. > > I wonder if the bug is a fault with the 7.4.1. system, or with my > installation. > > LEF |
Terry Raymond wrote: I often do things likeLars As breakpoints work in most situations, we need specific information about the problem you encountered, i.e. what class and method you are inserting the breakpoint into. Keep in mind, that there are system methods that you cannot put a simple breakpoint into because it will cause the system to break. However, if you feel you need to put a breakpoint in a commonly used method you can use a conditional breakpoint that is triggered only when you want it to be. Additionally, in some places I don't use breakpoints but I use watchpoints instead. You can create a watchpoint that prints the stack trace so you can determine how you got to a particular point. WindowSensor new ctrlDown as a break. This works if its not a deep-down system method, but can freeze if its something that the View or Controller hierarchy uses since it will break too when the debugger window opens. For such system methods, I sometimes use a first-time-only flag (using a global variable) along with some other condition. You can find some of this described in the documentation. Another useful tip is while you are in the debugger you can use a temp probe, meaning it will only affect the method context on the stack. Once the context exits the probe disappears. Terry =========================================================== Terry Raymond Crafted Smalltalk 80 Lazywood Ln. Tiverton, RI 02878 (401) 624-4517 [hidden email] <http://www.craftedsmalltalk.com> ===========================================================-----Original Message----- From: Lars Finsen [[hidden email]] Sent: Wednesday, July 04, 2007 4:50 PM To: [hidden email] Subject: Re: Wonderful Smalltalk! Den 4. jul. 2007 kl. 22.36 skrev James Robertson:Can you explain what you mean by "malfunctioning breakpoint" ?When I tried to insert a breakpoint, the debugger window went blank and became impossible to close. I have two such blank debugger windows in the background now. But they don't disturb me so much (though I would like some advice on how to close them), and I find I mostly don't need breakpoints as there are other ways to make the debugger concentrate on critical code, by digging the other bits down in methods, for example. I wonder if the bug is a fault with the 7.4.1. system, or with my installation. LEF -- Dennis Smith +1 416.798.7948 Cherniak Software Development Corporation Fax: +1 416.798.0948 509-2001 Sheppard Avenue East [hidden email] Toronto, ON M2J 4Z8 <a class="moz-txt-link-freetext" href="sip:dennis@CherniakSoftware.com">sip:dennis@... Canada http://www.CherniakSoftware.com Entrance off Yorkland Blvd south of Sheppard Ave east of the DVP |
On Jul 5, 2007, at 9:13, Dennis Smith wrote: I often do things like You can use the more direct 'InputState default ctrlDown' as well. -- Travis Griggs Objologist My Other Machine runs OSX. But then... so does this one. |
Free forum by Nabble | Edit this page |