[Newbies] Very Basic Squeak information

Giuseppe Luigi Punzi glpunzi at gmail.com
Mon Nov 20 20:46:50 UTC 2006


I think other people with better english like mine can explain this 
better than me but I will try because I had the same doubts few months ago.

Eric Ching escribió:
> Hi, I am looking for some very (super newb) basic information about 
> squeak.  Here are my questions:
>
> - Where does the source code go?  
The code "lives" in the image. You only need to extract it if you want 
to put the code in other image or load code from other people for example.

> I used the workspace window to test the objects I created (and 
> others), but where do I put the main program logic so that I can 
> execute the program at will?  Just use workspace window like I was 
> doing? Are there other methods?

If you open a Class browser (ALT+B, or World Menu>Open>Class Browser) 
you can view all the packages installed in this image with their 
clasess/objects. The main program logic is simple the new method of an 
instance.

See how the language works, the documentation is not out there, is 
inside the image.

> - Is there such a thing as command line squeak?  Such that I can 
> create my objects, then put the basic program logic in a file and fire 
> it off from the command line?

No to comand line squeak like python for example. All may be used inside 
the image. You can, fileIn code to your image from a file.

>
> I feel as though I am missing something essential that was not made 
> obvious from the documentation (or I just plain missed it).  How do 
> you distribute a squeak program?  Do you always have to use the IDE 
> environment to run the programs you create?

You can distribute programs in repositories (like squeakmap, 
monticello). Packages thath are something like a zip file to install the 
application inside de image. But always needs an image (like Java needs 
a VM), but in squeak, all lives inside the image. Think it like is an 
OS. Inside an image of squeak there are mail clients, VNC server and 
client, HTTP server, web explorer etc...etc.....

Yes, the IDE (as you name it) is for end users too. But you can lock the 
develop facilities 
http://map.squeak.org/package/0c6d3bda-adbb-496a-ae84-8d4c145d14b5

> What is the difference between the VM and the main GUI environment 
> download?

The squeak.exe (or equivalent in other OS's) starts an image with all 
the objects (included the VM).

>
> I understand the concept of creating objects and passing messages to 
> the objects, I am just fumbling for the thing that glues this all 
> together....like a main class in Java, for example.

The problem is thath you are thinking like others languages. The cycle 
Edit, Compile, Run does'nt exists in Smalltalk. All are live Objects.

You are confused, I'm sure, because I had the same doubts and problems 
to understand all of this. Only need to read some documentation, and, 
never will go out :D

>
> If someone could point me in the direction of those answers, I'd 
> greatly appreciate it.
>
Well, my english is very very bad, and I don't know to explain to me better.

I will give you some useful links to understand all of this, you will 
need it.

Squeak on Wikipedia (must read): http://en.wikipedia.org/wiki/Squeak
Free Books (some books about smalltalk. Some are old, but in smalltalk, 
the time don't run because the important thing are the OO think), I 
recommend Smalltalk by Example, very good book.
http://www.iam.unibe.ch/~ducasse/FreeBooks.html

http://squeak.org/Documentation/

Of course, this list, and squeak-dev list.

But, think in this:
http://squeak.org/Documentation/

And think in this:
"Empty your mind, be formless. Shapeless, like water. If you put water 
into a cup, it becomes the cup. You put water into a bottle and it 
becomes the bottle. You put it in a teapot it becomes the teapot. Now, 
water can flow or it can crash. Be water my friend." Bruce Lee

Give you a try to smalltalk. It's a little dificult to understand at 
beginning because is diferent to others languages, but, since I 
discovered Smalltalk, I don't want nothing more.

-- 
Giuseppe Luigi Punzi
Linux User: #370919
Skype: glpunzi
http://www.lordzealon.com



More information about the Beginners mailing list