Hi,
I'm trying to get familiar with Squeak. I used Smalltalk/V way back, have and read and understand the Smalltalk 80 book, so it's not completely new to me.... But Squeak is so much bigger. I'm really struggling to get an overall sense of the beast - I can't see the wood for the trees and for me, at least, the environment seems to contribute to that because of the method-by-method interface to the code seems to make it harder to get the big picture. Methods are presented in alphabetical order, without much clue as to how they relate. Similarly for classes. Are there any pointers/suggestions? I feel like I'm missing some tool I don't know about. It's great that you can see everything, but understanding for me would be aided with some sort of "gradual revelation"; a way to replace all the details of a class or bunch of classes with conceptual documentation - showing in a screen or two the overall story of that class's purpose and place in the system. And a way to dip under that to the implementation as needed. Any comments or suggestions for me? Thanks, Steve Davies |
Stephen Davies puso en su mail :
> Hi, > > I'm trying to get familiar with Squeak. I used Smalltalk/V way back, > have and read and understand the Smalltalk 80 book, so it's not > completely new to me.... > > But Squeak is so much bigger. I'm really struggling to get an overall > sense of the beast - I can't see the wood for the trees and for me, at > least, the environment seems to contribute to that because of the > method-by-method interface to the code seems to make it harder to get > the big picture. Methods are presented in alphabetical order, without > much clue as to how they relate. Similarly for classes. > > Are there any pointers/suggestions? I feel like I'm missing some tool > I don't know about. It's great that you can see everything, but > understanding for me would be aided with some sort of "gradual > revelation"; a way to replace all the details of a class or bunch of > classes with conceptual documentation - showing in a screen or two the > overall story of that class's purpose and place in the system. And a > way to dip under that to the implementation as needed. > > Any comments or suggestions for me? > > Thanks, > Steve Davies Decide a first project for learn "The Squeak Way". Try what that project was as fun and crazy one as you could, a game maybe. Load IRC and connect to Squeak channel and start to fire questions. And if size of Squeak raise havoc, I get SqueakLight in several flavours, including one with IRC ready to run. Edgar __________________________________________________ Correo Yahoo! Espacio para todos tus mensajes, antivirus y antispam ¡gratis! ¡Abrí tu cuenta ya! - http://correo.yahoo.com.ar |
In reply to this post by Stephen Davies-3
you can have a look at the videos:
http://www.iam.unibe.ch/~ducasse/Resources.html If you have ideas of things that you would like to know that you do not know yet :), please tell me I want to produce new videos. Stef On 29 avr. 06, at 13:55, Stephen Davies wrote: > Hi, > > I'm trying to get familiar with Squeak. I used Smalltalk/V way back, > have and read and understand the Smalltalk 80 book, so it's not > completely new to me.... > > But Squeak is so much bigger. I'm really struggling to get an overall > sense of the beast - I can't see the wood for the trees and for me, at > least, the environment seems to contribute to that because of the > method-by-method interface to the code seems to make it harder to get > the big picture. Methods are presented in alphabetical order, without > much clue as to how they relate. Similarly for classes. > > Are there any pointers/suggestions? I feel like I'm missing some tool > I don't know about. It's great that you can see everything, but > understanding for me would be aided with some sort of "gradual > revelation"; a way to replace all the details of a class or bunch of > classes with conceptual documentation - showing in a screen or two the > overall story of that class's purpose and place in the system. And a > way to dip under that to the implementation as needed. > > Any comments or suggestions for me? > > Thanks, > Steve Davies > > |
In reply to this post by Edgar J. De Cleene
IRC??? >:-o The best way to make people shut up is to throw TLAs at them.
(Don't you know any TLAs? Get off the line.) I googled and found: "There is an IRC (Internet Relay Chat) channel devoted to Squeak. Its name is #squeak (naturally!), and it's on irc.freenode.net (note their FAQ about IRC ... :-) Seriously, I believe Stephen hits a sore point. I've been programming Smalltalk since 1978, and most code is still unreadable. I try to pick up programs I wrote ten years ago, and what do I find? A bunch of spaghetti nicely chopped into noodles. I load some package that sounds interesting, and get what Stephen describes so well. :'( The most revolutionary part of Smalltalk is, IMO, the Stored Program Object Computer. Seen in this light, its current programming language is a language for microcode because it defines new operations on the objects, just as regular microcode defines new operations on the binary words. We need one or more languages that lets uts describe higher level constructs where a program = Data + Communication + Algorithm. I have written an exploratory example in Java that is based on strongly encapsulated components. It seems to help readability, but at the cost of a very bureaucratic object strucure. What does the FORTRAN of OO look like? Cheers --Trygve At 15:25 29.04.2006, you wrote: >Stephen Davies puso en su mail : > > > Hi, > > > > I'm trying to get familiar with Squeak. I used Smalltalk/V way back, > > have and read and understand the Smalltalk 80 book, so it's not > > completely new to me.... > > > > But Squeak is so much bigger. I'm really struggling to get an overall > > sense of the beast - I can't see the wood for the trees and for me, at > > least, the environment seems to contribute to that because of the > > method-by-method interface to the code seems to make it harder to get > > the big picture. Methods are presented in alphabetical order, without > > much clue as to how they relate. Similarly for classes. > > > > Are there any pointers/suggestions? I feel like I'm missing some tool > > I don't know about. It's great that you can see everything, but > > understanding for me would be aided with some sort of "gradual > > revelation"; a way to replace all the details of a class or bunch of > > classes with conceptual documentation - showing in a screen or two the > > overall story of that class's purpose and place in the system. And a > > way to dip under that to the implementation as needed. > > > > Any comments or suggestions for me? > > > > Thanks, > > Steve Davies >I have one. >Decide a first project for learn "The Squeak Way". >Try what that project was as fun and crazy one as you could, a game maybe. >Load IRC and connect to Squeak channel and start to fire questions. >And if size of Squeak raise havoc, I get SqueakLight in several flavours, >including one with IRC ready to run. > >Edgar > > > >__________________________________________________ >Correo Yahoo! >Espacio para todos tus mensajes, antivirus y antispam ¡gratis! >¡Abrí tu cuenta ya! - http://correo.yahoo.com.ar -- Trygve Reenskaug mailto: [hidden email] Morgedalsvn. 5A http://heim.ifi.uio.no/~trygver N-0378 Oslo Tel: (+47) 22 49 57 27 Norway |
On 29.04.2006 17:12, Trygve Reenskaug wrote:
>... > The most revolutionary part of Smalltalk is, IMO, the Stored Program Object > Computer. Seen in this light, its current programming language is a > language for microcode because it defines new operations on the objects, > just as regular microcode defines new operations on the binary words. Interesting POV! > > We need one or more languages that lets uts describe higher level > constructs where a program = Data + Communication + Algorithm. I have > written an exploratory example in Java that is based on strongly > encapsulated components. It seems to help readability, but at the cost of a > very bureaucratic object strucure. > > What does the FORTRAN of OO look like? Good question. To go into this direction evolutionarily Squeak could have 1. namespaces; 2. multiple inheritance of code (e.g. Traits) - related to the former point! -; 3. rigid conventions or tools or language extensions (not meant as xor) for answering the questions - 'outside' more or less fine granular being another class or package or ? -: 3.a) what is the 'official' interface, which *can/should* be used from outside, 3.b) which part of above interface *has* been used from the outside; 4. BlockClosures. Currently I have no opinion about package oriented code extensions (class boxes), since this could lead to difficult to grasp code variations being valid all together... (related to 1., 2., 3.). Regards, Stephan > > Cheers > --Trygve >... -- Stephan Rudlof ([hidden email]) "Genius doesn't work on an assembly line basis. You can't simply say, 'Today I will be brilliant.'" -- Kirk, "The Ultimate Computer", stardate 4731.3 |
In reply to this post by Stephen Davies-3
Hi,
If you open the Objects tool from the World menu, you get some categories which cut across packages, classes and methods . These categories are not optimal or exhaustive, but they can help one zoom in on some wood. From Object tools,select a category of interest(Graphics is a good choice), drag out an object and bring up a halo and browse the class. Yes, you're back in the browser but at least with a little context. If you do this with a few objects in the category you'll notice similarites and differences. Now the Object Explorer can help - there's nothing like working with wood! One easy thing you can do to increase bandwidth while browsing is to open the World menu and select Appearances/Preferences then browsing. Select opeionalButtons. Now when you open a new browser, you'll get a row of buttons which get you more wood. Mouse over the inheritance button and pay attention to it's color. Hopefully all this helps some. There is a deeper issue here which Americo has touched upon on the Croquet list and I'd be very interested in your take on his tutorials at: http://www.dmu.com/crb/ Other help is on the way. Regards, Laurence On 4/29/06, Stephen Davies <[hidden email]> wrote:
Hi, |
Thanks for all the various responses. Don't worry, I know what IRC is...
Stef - I didn't know about your videos, which are great - I watched all of them I think, and definitely learned some things in the process. Also came across and downloaded the Squeak CD which has some books that I will read - "Smalltalk with Style" caught my eye for one. Laurence - thanks for your practical suggestions, I will look at Americo's tutorials too. And Edgar - yes, a specific goal will definitely add needed focus. I have an idea for a project, so lets see. I was thinking a bit more as to why I feel at sea. In the traditional scene of static programs - lets say I'm looking at program.tcl, or program.mod, program.pas, program.rb etc etc - In a language that I'm not familiar with. I know what the program is supposed to do, Comments in the code or my common sense and general experience of programming will give me a framework in which I can see what's going on. The "domain space" is smaller, and the "solution space" is maybe a few thousand lines of source code. Regards, Steve |
Hi Steve,
on Sun, 30 Apr 2006 17:53:06 +0200, you wrote: > ... > I was thinking a bit more as to why I feel at sea. In the traditional > scene of static programs - lets say I'm looking at program.tcl, or > program.mod, program.pas, program.rb etc etc - In a language that I'm > not familiar with. I know what the program is supposed to do, > Comments in the code or my common sense and general experience of > programming will give me a framework in which I can see what's going > on. The "domain space" is smaller, and the "solution space" is maybe > a few thousand lines of source code. > Just out of curiosity: if you fileOut the code of a Squeak class and view/edit that file in your favorite text editor ("string" editor), would you feel less "at sea"? /Klaus |
Most Smalltalk classes build on a lot of other Smalltalk classes. So, they are hard to understand until you know the classes that they use.
In fact, you can't print out Object and completely understand it, because it has methods like "inspect" that call a lot of other classes. It is possible to build the image up from a small base, but it is not done one class at a time. Each layer is partly new classes and partly adding methods to existing classes. This is a good thing, not a bad thing, but it makes it harder to learn Smalltalk.
When an expert teaches Smalltalk, it is like getting a guided tour of a city. We show just the part of Smalltalk that a beginner is able to understand, and avoid the parts that are confusing until they have the background. You don't get that by looking at the image. For example, I tell people to ignore the GUI, the compiler, and all the tools at first. Just focus on Collection classes and numbers. We spend several weeks with just the core classes before we move on to other things. The GUI is way more cool, but I think students learn better if you ignore it at first.
Unfortunately, one of the disadvantages of Smalltalk over Java is that it is harder to learn on your own. It is not hard to learn with a guide, but newcomers don't know what to look at and what to ignore. It would help to have a beginners browser that hid most of the classes that beginners want to ignore anyway.
-Ralph Johnson
|
In reply to this post by Stephen Davies-3
Hello,
As other people mentioned, getting started with Smalltalk is the toughest part (unlike most scripting languages like php, where it is the opposite -- try to get some real work done after an initial period of wonder and everything-goes). What might help is: 1) (as was already mentions) : try to fix a goal. What do you want to learn about first ? Morphic (then build a kind of GUI application), network library (write a newsfeed client), ... 2) you might want to use tools like eCompletion or RoelTyper to figure out some dependencies between classes. 3) you might want to use the StarBrowser so that you can keep some of the classes that interest you in classifications. For me this helps sometimes to build my own structure for understanding code. Note that all of these approaches are bottom-up. I second the need for top-down information. What I planned to do some years back was to launch the StarBrowser with some beginner classifications that for example contain some of the most used collections, some Morphic classes, etc. On 29 Apr 2006, at 13:55, Stephen Davies wrote: > Hi, > > I'm trying to get familiar with Squeak. I used Smalltalk/V way back, > have and read and understand the Smalltalk 80 book, so it's not > completely new to me.... > > But Squeak is so much bigger. I'm really struggling to get an overall > sense of the beast - I can't see the wood for the trees and for me, at > least, the environment seems to contribute to that because of the > method-by-method interface to the code seems to make it harder to get > the big picture. Methods are presented in alphabetical order, without > much clue as to how they relate. Similarly for classes. > > Are there any pointers/suggestions? I feel like I'm missing some tool > I don't know about. It's great that you can see everything, but > understanding for me would be aided with some sort of "gradual > revelation"; a way to replace all the details of a class or bunch of > classes with conceptual documentation - showing in a screen or two the > overall story of that class's purpose and place in the system. And a > way to dip under that to the implementation as needed. > > Any comments or suggestions for me? > > Thanks, > Steve Davies > |
In reply to this post by Ralph Johnson
Indeed; this is one of the things I wanted to add to the
StarBrowser,but never found the time to do. But it coiuld be worth it... I would add: 1- classification: 'Basic Collections' : Set, Array, String, OrderedCollection, SortedCollection (and maybe Stream) 2- classification: 'Basic Enumeration methods' : #do:, #collect:, #select:, #detect:ifNone: 3- classification: 'Boolean' : True, False 4- classification: 'Loops and conditions' : #ifTrue:, ifFalse:, ifTrue:ifFalse, ifFalse:ifTrue, #while:do:, ... (some more) 5- classification: 'Interesting objects' : Smalltalk, ?? More suggestions ? All of these methods/classes should have a comment with some very simple examples (I guess quite a lot of these already do). On 30 Apr 2006, at 22:11, Ralph Johnson wrote: > Most Smalltalk classes build on a lot of other Smalltalk classes. > So, they are hard to understand until you know the classes that > they use. > > In fact, you can't print out Object and completely understand it, > because it has methods like "inspect" that call a lot of other > classes. It is possible to build the image up from a small base, > but it is not done one class at a time. Each layer is partly new > classes and partly adding methods to existing classes. This is a > good thing, not a bad thing, but it makes it harder to learn > Smalltalk. > > When an expert teaches Smalltalk, it is like getting a guided tour > of a city. We show just the part of Smalltalk that a beginner is > able to understand, and avoid the parts that are confusing until > they have the background. You don't get that by looking at the > image. For example, I tell people to ignore the GUI, the compiler, > and all the tools at first. Just focus on Collection classes and > numbers. We spend several weeks with just the core classes before > we move on to other things. The GUI is way more cool, but I think > students learn better if you ignore it at first. > > Unfortunately, one of the disadvantages of Smalltalk over Java is > that it is harder to learn on your own. It is not hard to learn > with a guide, but newcomers don't know what to look at and what to > ignore. It would help to have a beginners browser that hid most of > the classes that beginners want to ignore anyway. > > -Ralph Johnson > |
In reply to this post by Roel Wuyts
now that videos are easy to do, we should produce a massive amount of
"code with me that application" movie. Stef On 1 mai 06, at 09:03, Roel Wuyts wrote: > Hello, > > As other people mentioned, getting started with Smalltalk is the > toughest part (unlike most scripting languages like php, where it > is the opposite -- try to get some real work done after an initial > period of wonder and everything-goes). > > What might help is: > 1) (as was already mentions) : try to fix a goal. What do you want > to learn about first ? Morphic (then build a kind of GUI > application), network library (write a newsfeed client), ... > > 2) you might want to use tools like eCompletion or RoelTyper to > figure out some dependencies between classes. > > 3) you might want to use the StarBrowser so that you can keep some > of the classes that interest you in classifications. For me this > helps sometimes to build my own structure for understanding code. > > > Note that all of these approaches are bottom-up. I second the need > for top-down information. What I planned to do some years back was > to launch the StarBrowser with some beginner classifications that > for example contain some of the most used collections, some Morphic > classes, etc. > > On 29 Apr 2006, at 13:55, Stephen Davies wrote: > >> Hi, >> >> I'm trying to get familiar with Squeak. I used Smalltalk/V way back, >> have and read and understand the Smalltalk 80 book, so it's not >> completely new to me.... >> >> But Squeak is so much bigger. I'm really struggling to get an >> overall >> sense of the beast - I can't see the wood for the trees and for >> me, at >> least, the environment seems to contribute to that because of the >> method-by-method interface to the code seems to make it harder to get >> the big picture. Methods are presented in alphabetical order, >> without >> much clue as to how they relate. Similarly for classes. >> >> Are there any pointers/suggestions? I feel like I'm missing some >> tool >> I don't know about. It's great that you can see everything, but >> understanding for me would be aided with some sort of "gradual >> revelation"; a way to replace all the details of a class or bunch of >> classes with conceptual documentation - showing in a screen or two >> the >> overall story of that class's purpose and place in the system. And a >> way to dip under that to the implementation as needed. >> >> Any comments or suggestions for me? >> >> Thanks, >> Steve Davies >> > > |
In reply to this post by Roel Wuyts
Roel Wuyts puso en su mail :
> Hello, > > As other people mentioned, getting started with Smalltalk is the > toughest part (unlike most scripting languages like php, where it is > the opposite -- try to get some real work done after an initial > period of wonder and everything-goes). > > What might help is: > 1) (as was already mentions) : try to fix a goal. What do you want to > learn about first ? Morphic (then build a kind of GUI application), > network library (write a newsfeed client), ... > > 2) you might want to use tools like eCompletion or RoelTyper to > figure out some dependencies between classes. > > 3) you might want to use the StarBrowser so that you can keep some of > the classes that interest you in classifications. For me this helps > sometimes to build my own structure for understanding code. > > > Note that all of these approaches are bottom-up. I second the need > for top-down information. What I planned to do some years back was to > launch the StarBrowser with some beginner classifications that for > example contain some of the most used collections, some Morphic > classes, etc. What Roels say reminds me to send again this: http://www.4shared.com/file/833444/8e413b3e/MorphClassMaps.html Courtesy of Morphic Team, here you could have a .zip with some of class hierarchy in new Morphic clasification, I attach the small .jpg for you have the idea of what is in .zip This is the complete list, produced from Squeak with GraphViz module from John Pierce Morphic-Menus class hierarchy.jpg Morphic-Menus class hierarchy.dot Morphic-Pluggable Widgets class hierarchy.jpg Morphic-Pluggable Widgets class hierarchy.dot Morphic-Support class hierarchy.jpg Morphic-Support class hierarchy.dot Morphic-Text Support class hierarchy.jpg Morphic-Text Support class hierarchy.dot Morphic-Widgets class hierarchy.jpg Morphic-Widgets class hierarchy.dot Morphic-Windows class hierarchy.jpg Morphic-Windows class hierarchy.dot Movies class hierarchy.jpg Movies class hierarchy.dot Speech class hierarchy.jpg Speech class hierarchy.dot Nebraska class hierarchy.jpg Nebraska class hierarchy.dot BalloonMMFlash class hierarchy.jpg BalloonMMFlash class hierarchy.dot Possible uses is you could have a clear understanding of Morphic or amazing friends with wall size versions of jpg and hard copy of NASA job search about Squeak :=) Enjoy Morphic-Menus class hierarchy[1].jpg (38K) Download Attachment |
In reply to this post by Roel Wuyts
I would like to add the Tracing Messages Browser to this list. This browser is great for browsing the flow of code that cuts across classes in various packages. You end up with a single window showing the flow of execution instead of 57 windows.
----- Original Message ---- From: Roel Wuyts <[hidden email]> To: The general-purpose Squeak developers list <[hidden email]> Sent: Monday, May 1, 2006 2:05:09 AM Subject: Re: How does a newbie get past the feeling thay he is trying to understand an elephant whilst looking through a keyhole? Hello, As other people mentioned, getting started with Smalltalk is the toughest part (unlike most scripting languages like php, where it is the opposite -- try to get some real work done after an initial period of wonder and everything-goes). What might help is: 1) (as was already mentions) : try to fix a goal. What do you want to learn about first ? Morphic (then build a kind of GUI application), network library (write a newsfeed client), ... 2) you might want to use tools like eCompletion or RoelTyper to figure out some dependencies between classes. 3) you might want to use the StarBrowser so that you can keep some of the classes that interest you in classifications. For me this helps sometimes to build my own structure for understanding code. Note that all of these approaches are bottom-up. I second the need for top-down information. What I planned to do some years back was to launch the StarBrowser with some beginner classifications that for example contain some of the most used collections, some Morphic classes, etc. On 29 Apr 2006, at 13:55, Stephen Davies wrote: > Hi, > > I'm trying to get familiar with Squeak. I used Smalltalk/V way back, > have and read and understand the Smalltalk 80 book, so it's not > completely new to me.... > > But Squeak is so much bigger. I'm really struggling to get an overall > sense of the beast - I can't see the wood for the trees and for me, at > least, the environment seems to contribute to that because of the > method-by-method interface to the code seems to make it harder to get > the big picture. Methods are presented in alphabetical order, without > much clue as to how they relate. Similarly for classes. > > Are there any pointers/suggestions? I feel like I'm missing some tool > I don't know about. It's great that you can see everything, but > understanding for me would be aided with some sort of "gradual > revelation"; a way to replace all the details of a class or bunch of > classes with conceptual documentation - showing in a screen or two the > overall story of that class's purpose and place in the system. And a > way to dip under that to the implementation as needed. > > Any comments or suggestions for me? > > Thanks, > Steve Davies > |
On 5/1/06, Chris Muller <[hidden email]> wrote:
I would like to add the Tracing Messages Browser to this list. It can be hard for newbies to understand the value of a new tool. Making movies of them (following Stephane's suggestion) can help a lot. -Ralph
|
On 01/05/06, Ralph Johnson <[hidden email]> wrote:
> > On 5/1/06, Chris Muller <[hidden email]> wrote: > > I would like to add the Tracing Messages Browser to this list. > > It can be hard for newbies to understand the value of a new tool. Making > movies of them (following Stephane's suggestion) can help a lot. So the frustrating thing for me - I loaded the Tracing Messages Browser from Monitcello. I can see the class(es) in the browser, I have a pref for "traceMessages" in my preferences. But I can't figure out how to get a Tracing Messages Browser open, or what I'm supposed to see happen... Steve |
In reply to this post by Chris Muller
On 1 mai 06, at 17:36, Chris Muller wrote: > I would like to add the Tracing Messages Browser to this list. > This browser is great for browsing the flow of code that cuts > across classes in various packages. You end up with a single > window showing the flow of execution instead of 57 windows. Where is that browser? Stef > > > ----- Original Message ---- > From: Roel Wuyts <[hidden email]> > To: The general-purpose Squeak developers list <squeak- > [hidden email]> > Sent: Monday, May 1, 2006 2:05:09 AM > Subject: Re: How does a newbie get past the feeling thay he is > trying to understand an elephant whilst looking through a keyhole? > > Hello, > > As other people mentioned, getting started with Smalltalk is the > toughest part (unlike most scripting languages like php, where it is > the opposite -- try to get some real work done after an initial > period of wonder and everything-goes). > > What might help is: > 1) (as was already mentions) : try to fix a goal. What do you want to > learn about first ? Morphic (then build a kind of GUI application), > network library (write a newsfeed client), ... > > 2) you might want to use tools like eCompletion or RoelTyper to > figure out some dependencies between classes. > > 3) you might want to use the StarBrowser so that you can keep some of > the classes that interest you in classifications. For me this helps > sometimes to build my own structure for understanding code. > > > Note that all of these approaches are bottom-up. I second the need > for top-down information. What I planned to do some years back was to > launch the StarBrowser with some beginner classifications that for > example contain some of the most used collections, some Morphic > classes, etc. > > On 29 Apr 2006, at 13:55, Stephen Davies wrote: > >> Hi, >> >> I'm trying to get familiar with Squeak. I used Smalltalk/V way back, >> have and read and understand the Smalltalk 80 book, so it's not >> completely new to me.... >> >> But Squeak is so much bigger. I'm really struggling to get an >> overall >> sense of the beast - I can't see the wood for the trees and for >> me, at >> least, the environment seems to contribute to that because of the >> method-by-method interface to the code seems to make it harder to get >> the big picture. Methods are presented in alphabetical order, >> without >> much clue as to how they relate. Similarly for classes. >> >> Are there any pointers/suggestions? I feel like I'm missing some >> tool >> I don't know about. It's great that you can see everything, but >> understanding for me would be aided with some sort of "gradual >> revelation"; a way to replace all the details of a class or bunch of >> classes with conceptual documentation - showing in a screen or two >> the >> overall story of that class's purpose and place in the system. And a >> way to dip under that to the implementation as needed. >> >> Any comments or suggestions for me? >> >> Thanks, >> Steve Davies >> > > > > > > > |
In reply to this post by Stephen Davies-3
When you browse Squeak code, one of the browsers you will invariably use VERY frequently is a Methods browser. This browser appears whenever you browse "senders" or "implementors" of a method, or references to a class or variable, among other things. It is a two-paned browser, methods list in the upper-pane, code in the lower-pane.
So just keep exploring code normally, the next time you use senders or implementors (something any Smalltalker does about 1000 times per day) you will see the Tracing Messages Browser. These browsers look the same initially, but by having the "traceMessages" preference set, they take on enhanced behavior as you "trace" method calls. The SqueakMap entry describes it well: "I look like a standard methods browser with methods in the upper pane, code in the lower. As you browse senders and implementors, the upper pane is built into a "stack" rather than opening new method browsers, reducing window profileration. Implementors are indented below the currently selected method, senders are outdented above. You end up with a flow of the execution of methods across multiple classes all in one place. The stack is quickly customized by easy-removal of unwanted methods. First, the upper pane is multi-select, and can handle rapid, sweeping gestures of the mouse without dropping selections (shift+clicking is also supported). Once methods are selected, you can quickly remove them (just from the browser) with otherwise unused Command+f." I think this browser has saved me years of closing windows. Please let me know if you have other questions. Cheers, Chris ----- Original Message ---- From: Stephen Davies <[hidden email]> To: The general-purpose Squeak developers list <[hidden email]> Sent: Monday, May 1, 2006 4:05:15 PM Subject: Re: How does a newbie get past the feeling thay he is trying to understand an elephant whilst looking through a keyhole? On 01/05/06, Ralph Johnson <[hidden email]> wrote: > > On 5/1/06, Chris Muller <[hidden email]> wrote: > > I would like to add the Tracing Messages Browser to this list. > > It can be hard for newbies to understand the value of a new tool. Making > movies of them (following Stephane's suggestion) can help a lot. So the frustrating thing for me - I loaded the Tracing Messages Browser from Monitcello. I can see the class(es) in the browser, I have a pref for "traceMessages" in my preferences. But I can't figure out how to get a Tracing Messages Browser open, or what I'm supposed to see happen... Steve |
That was very helpful. Thanks!
|
In reply to this post by Chris Muller
On 02/05/06, Chris Muller <[hidden email]> wrote:
> When you browse Squeak code, one of the browsers you will invariably use VERY frequently is a Methods browser. This browser appears whenever you browse "senders" or "implementors" of a method, or references to a class or variable, among other things. It is a two-paned browser, methods list in the upper-pane, code in the lower-pane. > > So just keep exploring code normally, the next time you use senders or implementors (something any Smalltalker does about 1000 times per day) you will see the Tracing Messages Browser. > > These browsers look the same initially, but by having the "traceMessages" preference set, they take on enhanced behavior as you "trace" method calls. The SqueakMap entry describes it well: Ah - got it. Thanks for the explanation. Steve |
Free forum by Nabble | Edit this page |