Hi Michael,

Well... that actually makes good sense (maybe  the terminology is my issue). I 
think I've written C code for so long that I get too bogged down in the 
details. So, what exactly is a category vs a collection vs a package?. I seems 
like a category is just a mechanism for organizing code?. I guess a package 
would be like a Lisp module or C library? What about collections?


Thanks for your help. It really did help.
Gerry  



-----Original Message----- 
> From: "Michael Roberts" <[email protected]> 
> To: [email protected] 
> Date: 01/05/12 02:18 
> Subject: Re: [Pharo-project] Pharo by Example 
> 
> On 5 Jan 2012, at 05:50, "Gerry Weaver" <[email protected]> wrote:
> 
> > Hi,
> > 
> > Perhaps I should just take a shot at explaining what I'm having trouble 
> > understanding.
> > 
> > 
> > My current take on the environment is that an image is basically a 
> > container that holds everything in the application.
> 
> Indeed. 
> 
> > In development mode it also includes the IDE and tools.
> 
> For general Pharo images there is no "mode". They all contain some set of 
> development tools. To remove them you have to go to some effort (stripping) 
> or find a smaller seed image that does not contain them (expert).
> 
> > I assume one would typically start by defining a class that was a subclass 
> > of some system or package class.
> 
> You could start with Object. 
> 
> > I assume this process would continue until the application logic and data 
> > were defined.
> 
> Yes
> 
> > I also assume that there must be a way to indicate the class that 
> > represents the top level or entry point (main) of the application.
> 
> Not really. There is no main() as there is in C. There is an entry point for 
> the whole system and this triggers the start of the UI and other services. If 
> you want your application to start on system start you need to register it on 
> the startup list (or whatever the current abstraction is.)
> 
> For development you can register the start on a world menu or just use a 
> workspace to evaluate the starting expression. 
> 
> > That appears to be the init method. Is this anywhere close to being correct?
> > 
> > 
> > The problem is that I'm not sure how to get started. I have played around 
> > with the system browser a bit. I can see that you would create a category 
> > and be presented with what looks to be a template for a class. I'm confused 
> > about the fact that the "Pharo by Example" has me creating a package when I 
> > don't see that in the 1.3 browser.
> 
> So for PBE you have to run the exact image the book was targeted for and the 
> examples should work. 
> 
> > I also don't know how to create additional classes in that category or how 
> > to tell the environment which class is my application entry point. I figure 
> > maybe the answer to all of this is a little too much for a mailing list 
> > question, which is why I didn't start out asking this. Anyway, at least 
> > this gives you an idea of where I'm stuck. Maybe my brain just isn't wired 
> > to understand something that may be obvious to others.
> > 
> 
> So for the standard/original system browser I would do the following. In the 
> left most pane you can context click and create a new category 'example'. You 
> get shown a class template in the bottom pane that is an expression to make a 
> class. Type the name of the subclass e.g. ExampleClass into the text where it 
> says NameOfSubclass and context click accept. This makes the new class. On 
> the class side (the button class) define a method go. To do this you need the 
> method template. Normally you get this selecting one of the method protocols. 
> You can replace the method template with something like
> 
> go
>      FillInTheBlankMorph request: 'hello'
> 
> And context click accept. Now open a workspace. Evaluate 
> 
> ExampleClass go
> 
> It should pop up a dialog. That's really it. The "application" runs and then 
> stops. 
> 
> To make more classes click on the class category again. Type a new class name 
> on and accept it. The new class should appear alongside the other one and you 
> can add methods to it. 
> 
> Hope that helps. 
> Mike
> 
> 
> > 
> > Thanks,
> > Gerry
> > 
> > 
> > 
> > 
> > -----Original Message----- 
> >> From: "Serge Stinckwich" <[email protected]> 
> >> To: [email protected] 
> >> Date: 01/04/12 23:04 
> >> Subject: Re: [Pharo-project] Pharo by Example 
> >> 
> >> On Thu, Jan 5, 2012 at 11:45 AM, Gerry Weaver <[email protected]> wrote:
> >>> Hi,
> >>> 
> >>> I've been trying various downloads, but I haven't found anything that 
> >>> works. I guess I may be making it harder than it needs to be, but I 
> >>> really have no idea how to proceed. I've been trying to find some doc on 
> >>> basic things like creating a package, class, etc., but I'm not having 
> >>> much luck. I assume the docs will be updated at some point. Would anyone 
> >>> have a feel for when that might be? I'm not in a hurry at all, so I could 
> >>> wait for a couple of more versions.
> >> 
> >> Could give us more information about what is not working exactly ?
> >> Did you upload the file here:
> >> https://gforge.inria.fr/frs/download.php/27023/PBE-1.0.zip
> >> and try the exemple in the book ?
> >> 
> >> Regards,
> >> -- 
> >> Serge Stinckwich
> >> UMI UMMISCO 209 (IRD/UPMC), Hanoi, Vietnam
> >> Matsuno Laboratory, Kyoto University, Japan (until 12/2011)
> >> http://www.mechatronics.me.kyoto-u.ac.jp/
> >> Every DSL ends up being Smalltalk
> >> http://doesnotunderstand.org/
> > 
> > 
> > 
> >




Reply via email to