How does a newbie get past the feeling of trying to understand an elephant whilst looking through a keyhole?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

How does a newbie get past the feeling of trying to understand an elephant whilst looking through a keyhole?

Stephen Davies-3
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
_______________________________________________
Seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: How does a newbie get past the feeling of trying to understand an elephant whilst looking through a keyhole?

Stephen Davies-3
On 29/04/06, Stephen Davies <[hidden email]> wrote:
> 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....

Oh sorry - this was meant to go to the squeak-dev list.

Apologies,
Steve
_______________________________________________
Seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: How does a newbie get past the feeling of trying to understand an elephant whilst looking through a keyhole?

Philippe Marschall
In reply to this post by Stephen Davies-3
2006/4/29, Stephen Davies <[hidden email]>:

> 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?

There is lots of stuff in seaside that you don't need to know about.
So there's not much point in learning it you're already struggling.
I'd recommend to start with the things that you really need:
WAComponent, WATask, WARenderCanvas and WATagBrush subclasses or
WAHTMLBuilder and perhaps WARenderedHtmlRoot or WASession. Just with
these should should get pretty far.

The same goes for Squeak, only learn what you need, when you need it.
There's just too much stuff. What you almost certainly need is the
Collection hierarchy OrderedCollection, SequeancableCollection,
Dictionary, String and maybe streams (WriteStream, ReadStream).

Now about classes and methods.
Methods should be grouped by protocol (eg rendering, actions,
accessing) to give you a better overview. This is not done for a lot
of methods in seaside which is bad. Browsing senders and implementers
can also help.
For classes there's the OmniBrowser (you can get it from SqueakMap, in
the open Menu it's called 'Image Browser') which lays out classes in
the inheritance tree. Here you can also browse references and the
hierarchy.

I hope this helps somehow

Cheers
Philippe
_______________________________________________
Seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside