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.