smalltalk and squeak

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

smalltalk and squeak

James O'Brien-3

I don't get the connection between smalltalk and squeak. For example, I can code a counter with smalltalk in the workspace. When I do it a functioning counter appears. When I close the workspace the calculator still works, but what happens to the code? Where is it? If I open a viewer of one of the buttons and change the button's color, what happens to the code I started with? Where is it? How do I view it again?

 

I can also build a calculator with squeak as described at http://wiki.squeak.org/squeak/1827. But, again, where is the smalltalk code?


_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners
Reply | Threaded
Open this post in threaded view
|

Re: smalltalk and squeak

Casey Ransberger-2
Squeak is the original Smalltalk system. It was rebranded at Apple, because no one there wanted to hear anything else about Smalltalk. 

I wonder: are you wondering what the difference between the environment and the language is?

The environment is implemented by the language. 

The best single text is the "Blue Book" which is called Smalltalk: the Language and its Environment. 

That the language implements the environment is insanely powerful. This will eventually start to make sense if you stick with it. 

You should look for the Class Browser.  One way to reach it is to highlight a class name (try Object) and do either command-b or control-b (on Windows, possibly Linux too, but I don't use these so it might be alt, not control.)

You put your code into the browser when you want to keep it. Smalltalk is a kind of object database. Your code lives in this object database. 

If this doesn't answer your question, feel free to reframe it, but look for that browser. 

Hope this helps!

Casey

On Nov 17, 2011, at 9:25 PM, James O'Brien <[hidden email]> wrote:

I don't get the connection between smalltalk and squeak. For example, I can code a counter with smalltalk in the workspace. When I do it a functioning counter appears. When I close the workspace the calculator still works, but what happens to the code? Where is it? If I open a viewer of one of the buttons and change the button's color, what happens to the code I started with? Where is it? How do I view it again?

 

I can also build a calculator with squeak as described at http://wiki.squeak.org/squeak/1827. But, again, where is the smalltalk code?

_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners

_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners
Reply | Threaded
Open this post in threaded view
|

Re: smalltalk and squeak

Casey Ransberger-2
In reply to this post by James O'Brien-3
D'oh, the book is called Smalltalk: the Language and its Implementation. Darned cell phone...

On Nov 17, 2011, at 9:25 PM, James O'Brien <[hidden email]> wrote:

I don't get the connection between smalltalk and squeak. For example, I can code a counter with smalltalk in the workspace. When I do it a functioning counter appears. When I close the workspace the calculator still works, but what happens to the code? Where is it? If I open a viewer of one of the buttons and change the button's color, what happens to the code I started with? Where is it? How do I view it again?

 

I can also build a calculator with squeak as described at http://wiki.squeak.org/squeak/1827. But, again, where is the smalltalk code?

_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners

_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners
Reply | Threaded
Open this post in threaded view
|

Re: smalltalk and squeak

James O'Brien-3
In reply to this post by Casey Ransberger-2

Thank you for your suggestions.


I guess I'm thinking in terms of HyperCard. With HyperCard I could script a button, field, card, stack, etc. With Squeak, I can't figure out to change what the calculator’s buttons do. If had created the calculator with HyperCard, I could easily change how its buttons work. Just open them and there's the script.

 

I’ve tried using the Browser, but can't access the Smalltalk code for the calculator, whether I create it with Smalltalk in the Workspace or build it using Morphic. Still don't get it.



On 11/17/11 9:47 PM, Casey Ransberger wrote:
Squeak is the original Smalltalk system. It was rebranded at Apple, because no one there wanted to hear anything else about Smalltalk. 

I wonder: are you wondering what the difference between the environment and the language is?

The environment is implemented by the language. 

The best single text is the "Blue Book" which is called Smalltalk: the Language and its Environment. 

That the language implements the environment is insanely powerful. This will eventually start to make sense if you stick with it. 

You should look for the Class Browser.  One way to reach it is to highlight a class name (try Object) and do either command-b or control-b (on Windows, possibly Linux too, but I don't use these so it might be alt, not control.)

You put your code into the browser when you want to keep it. Smalltalk is a kind of object database. Your code lives in this object database. 

If this doesn't answer your question, feel free to reframe it, but look for that browser. 

Hope this helps!

Casey

On Nov 17, 2011, at 9:25 PM, James O'Brien <[hidden email]> wrote:

I don't get the connection between smalltalk and squeak. For example, I can code a counter with smalltalk in the workspace. When I do it a functioning counter appears. When I close the workspace the calculator still works, but what happens to the code? Where is it? If I open a viewer of one of the buttons and change the button's color, what happens to the code I started with? Where is it? How do I view it again?

 

I can also build a calculator with squeak as described at http://wiki.squeak.org/squeak/1827. But, again, where is the smalltalk code?

_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners


_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners

_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners
Reply | Threaded
Open this post in threaded view
|

Re: smalltalk and squeak

kilon
I am also very interested in this question. I can create a morph with drag and drop and inspect it , but i cant change its variables in any way. Also the System / Class browser you mention is only for class definition , and not giving access to instance objects . For example an instance object will have its own size and of course its own location , how can I access these variables of that specific object ? Is there is way to edit a specific object, access its variables and functions or even assign it to a variable by using only the IDE ?


From: James O'Brien <[hidden email]>
To: A friendly place to get answers to even the most basic questions about Squeak. <[hidden email]>
Sent: Friday, 18 November 2011, 9:16
Subject: Re: [Newbies] smalltalk and squeak

Thank you for your suggestions.

I guess I'm thinking in terms of HyperCard. With HyperCard I could script a button, field, card, stack, etc. With Squeak, I can't figure out to change what the calculator’s buttons do. If had created the calculator with HyperCard, I could easily change how its buttons work. Just open them and there's the script.
 
I’ve tried using the Browser, but can't access the Smalltalk code for the calculator, whether I create it with Smalltalk in the Workspace or build it using Morphic. Still don't get it.


On 11/17/11 9:47 PM, Casey Ransberger wrote:
Squeak is the original Smalltalk system. It was rebranded at Apple, because no one there wanted to hear anything else about Smalltalk. 

I wonder: are you wondering what the difference between the environment and the language is?

The environment is implemented by the language. 

The best single text is the "Blue Book" which is called Smalltalk: the Language and its Environment. 

That the language implements the environment is insanely powerful. This will eventually start to make sense if you stick with it. 

You should look for the Class Browser.  One way to reach it is to highlight a class name (try Object) and do either command-b or control-b (on Windows, possibly Linux too, but I don't use these so it might be alt, not control.)

You put your code into the browser when you want to keep it. Smalltalk is a kind of object database. Your code lives in this object database. 

If this doesn't answer your question, feel free to reframe it, but look for that browser. 

Hope this helps!

Casey

On Nov 17, 2011, at 9:25 PM, James O'Brien <[hidden email]> wrote:

I don't get the connection between smalltalk and squeak. For example, I can code a counter with smalltalk in the workspace. When I do it a functioning counter appears. When I close the workspace the calculator still works, but what happens to the code? Where is it? If I open a viewer of one of the buttons and change the button's color, what happens to the code I started with? Where is it? How do I view it again?
 
I can also build a calculator with squeak as described at http://wiki.squeak.org/squeak/1827. But, again, where is the smalltalk code?
_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners


_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners

_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners



_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners
Reply | Threaded
Open this post in threaded view
|

Re: smalltalk and squeak

Derek O'Connell-3
On 18/11/11 08:59, dimitris chloupis wrote:
> I am also very interested in this question. I can create a morph with drag and drop and inspect it , but i cant change its variables in any way. Also the System / Class browser you mention is only for class definition , and not giving access to instance objects . For example an instance object will have its own size and of course its own location , how can I access these variables of that specific object ?

The "inspector" displays the instance vars. Just to be certain, if you
have opened an actual inspector on a morph it will have three panes with
a list of instance vars in the left one. Select any var and its value is
displayed in the right pane. *With the mouse cursor over the right pane*
the value can then be edited followed by "accepting" any changes using
alt/ctrl-s or middle/right-click and selecting "accept" (the actual
modifier key and/or mouse button used will depend on your prefs). The
mouse cursor position is important to indicate where text will be
entered and no changes are made until you "accept" them.

> Is there is way to edit a specific object, access its variables and functions

By "specific object" I think you mean "specific instance". You need to
realize the distinction between Classes and Instances. What you refer to
as "functions" is generally called "behaviour" implemented as "methods"
in classes and viewed via a Browser. This behaviour is shared by all
instances of a class while state specific to each instance ("instance
variables") is stored by the instance itself and viewed in an inspector.

>   or even assign it to a variable by using only the IDE ?

I'm guessing your question is really this: if I have a morph on screen
how can I manipulate it in a workspace? If so then click the menu button
on a workspace (blue button, downward pointing triangle) and select
"create textual references to dropped morphs". Then simply drag&drop a
morph over the workspace and a variable will be defined for it.

Btw, my guesswork above doesn't imply anything about you, it comes from
my own experience learning Squeak/Smalltalk where a certain degree of
familiarity is needed before I even understood what I was trying to ask.
Bit of a chicken&egg situation to begin with but the penny drops eventually.

Casey recommended a good book but I would suggest starting with
Squeak-by-Example to begin with:

http://www.squeakbyexample.org/

Also, most questions already have an answer either via the documentation
page on Squeak.org or by searching the swiki...

http://www.squeak.org/Documentation/
http://wiki.squeak.org/


>
>
>
> ________________________________
>   From: James O'Brien<[hidden email]>
> To: A friendly place to get answers to even the most basic questions about Squeak.<[hidden email]>
> Sent: Friday, 18 November 2011, 9:16
> Subject: Re: [Newbies] smalltalk and squeak
>
>
> Thank you for your suggestions.
>
>
> I guess I'm thinking in terms of HyperCard. With HyperCard I
>        could script a button, field, card, stack, etc. With Squeak, I
>        can't figure out
>        to change what the calculator’s buttons do. If had created the
>        calculator with
>        HyperCard, I could easily change how its buttons work. Just open
>        them and there's
>        the script.
>
> I’ve tried using the Browser, but can't access the Smalltalk code for the calculator, whether I create it with Smalltalk in the Workspace or build it using Morphic. Still don't get it.
>
> On 11/17/11 9:47 PM, Casey Ransberger wrote:
> Squeak is the original Smalltalk system. It was rebranded at Apple, because no one there wanted to hear anything else about Smalltalk.
>>
>> I wonder: are you wondering what the difference between the environment and the language is?
>>
>>
>> The environment is implemented by the language.
>>
>>
>> The best single text is the "Blue Book" which is called Smalltalk: the Language and its Environment.
>>
>>
>> That the language implements the environment is insanely powerful. This will eventually start to make sense if you stick with it.
>>
>>
>> You should look for the Class Browser.  One way to reach it is to highlight a class name (try Object) and do either command-b or control-b (on Windows, possibly Linux too, but I don't use these so it might be alt, not control.)
>>
>>
>> You put your code into the browser when you want to keep it. Smalltalk is a kind of object database. Your code lives in this object database.
>>
>>
>> If this doesn't answer your question, feel free to reframe it, but look for that browser.
>>
>>
>> Hope this helps!
>>
>>
>> Casey
>>
>> On Nov 17, 2011, at 9:25 PM, James O'Brien<[hidden email]>  wrote:
>>
>>
>> I don't get the connection between smalltalk and squeak. For example, I can code a counter with smalltalk in the workspace. When I do it a functioning counter appears. When I close the workspace the calculator still works, but what happens to the code? Where is it? If I open a viewer of one of the buttons and change the button's color, what happens to the code I started with? Where is it? How do I view it again?
>>>
>>> I can also build a calculator with squeak as described at http://wiki.squeak.org/squeak/1827. But, again, where is the smalltalk code?
>> _______________________________________________
>>> Beginners mailing list
>>> [hidden email]
>>> http://lists.squeakfoundation.org/mailman/listinfo/beginners
>>>
>>
>> _______________________________________________
> Beginners mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/beginners
> _______________________________________________
> Beginners mailing list
> [hidden email]
> http://lists.squeakfoundation.org/mailman/listinfo/beginners
>
>
> This body part will be downloaded on demand.

_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners
Reply | Threaded
Open this post in threaded view
|

Re: smalltalk and squeak

dcorking
In reply to this post by James O'Brien-3
James you have accidentally stumbled on two different aspects of
Squeak. The first, your counter example, relates to the Smalltalk
workspace. The second relates to Morphic script tiles, which we now
call Etoys script tiles.

James O'Brien wrote:
> For example, I can
> code a counter with smalltalk in the workspace. When I do it a functioning
> counter appears. When I close the workspace the calculator still works, but
> what happens to the code? Where is it?

I think the misunderstanding that you made is that you created the
counter object in the workspace. A workspace is for creating an object
where you don't want to keep its source code: for example if you want
to examine a variable, or manipulate an instance for testing.

When you want to write Smalltalk, you _must_ write it in the Class
Browser, not in a workspace. At risk of causing offence by mentioning
the J-word, in this sense Smalltalk is more like Java than it is like
Hypercard. However, once you have made a live object, jump into its
code in the system browser and edit its methods as you please - they
recompile instantly.

The first chapter of Squeak by Example talks you through making and
debugging simple class in the class browser.
http://squeakbyexample.org/

If the difference between a class and an object still doesn't make
sense, please ask again and we will have another attempt.

> I can also build a calculator with squeak as described at
> http://wiki.squeak.org/squeak/1827. But, again, where is the smalltalk code?
...
> I guess I'm thinking in terms of HyperCard. With HyperCard I could script a
> button, field, card, stack, etc. With Squeak, I can't figure out to change
> what the calculator’s buttons do. If had created the calculator with
> HyperCard, I could easily change how its buttons work. Just open them and
> there's the script.

The scripting language you used is now called Etoys. It is more like
Hypercard, in that there are no classes: you just edit the methods of
live objects.

However there is Smalltalk code hiding behind it.

The easiest way for a novice to find it is probably this:

(1) Show the halo of your object
(2) Click the blue eye handle to bring up a viewer.
(3) If you made a tile script, there will be one or more script tiles
at the top of the viewer. Drag one onto the desktop. This makes a
script editor.
(4) Click the menu button in the top right of the script editor.
(5) Select 'show code textually'. You should see a line or two of Smalltalk.

I hope that helps. There is a lot more to discover as you get deeper into it.

David
_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners
Reply | Threaded
Open this post in threaded view
|

Re: smalltalk and squeak

kilon
In reply to this post by Derek O'Connell-3
First Thank you very much for replying and helping me understand.

>The "inspector" displays the instance vars. Just to be certain, if you
>have opened an actual inspector on a morph it will have three panes with
>a list of instance vars in the left one. Select any var and its value is
>displayed in the right pane. *With the mouse cursor over the right pane*

Yes that is what I said I did . To be precise I created RectangleMorph via the "
Supplies" flap and then right click on it and choose "inspect"

> the value can then be edited followed by "accepting" any changes using
> alt/ctrl-s or middle/right-click and selecting "accept" (the actual
> modifier key and/or mouse button used will depend on your prefs). The
> mouse cursor position is important to indicate where text will be
> entered and no changes are made until you "accept" them.

yes i did also that , and I know that the mouse cursor gives focus. I was able
to enter the new value in "all inst vars" "border Width" , i then right click it
and choose "accept" and then another window appears with the title "Syntax error".
In the first panel it says RectangleMorphe <none> Nothing and the panel underneath
it , it display this error log

"Nothing more expected ->bounds:     37@363 corner: 87@403
owner:     a PasteUpMorph<world>(1622) [world]
submorphs:     #()
fullBounds:     37@363 corner: 87@403
color:     (Color r: 0.613 g: 0.903 b: 1.0)
extension:     a MorphExtension (1436) [externalName = Rectangle ]  [player = a Player64 (301) named Rectangle]  [other:  (borderStyle -> a SimpleBorder) (decimalPlacePreferences -> an IdentityDictionary(#getAlpha->2 #getX->0 ))]
borderWidth:     10
borderColor:     Color black
"
When I go back to inspector the value is reverted by to the old one and
the morph never changes.


> By "specific object" I think you mean "specific instance". You need to
> realize the distinction between Classes and Instances.

Sorry for the ommision of "instance" , I meant "class instance object"
Yes I know the distiction, I have been programming just for fun since 1988
though it was only last year that I did a serious app with it, specifically
a Blender python addon which of course uses OOP. So I am not new to this
but I am exremely new to smalltalk and squeak, start studying it
only a few days ago. So I am not familiar yet with all the terminology
smalltalkers use.

This is my project

http://wiki.blender.org/index.php/Extensions:2.5/Py/Scripts/System/Gyes


> What you refer to  as "functions" is generally called "behaviour"
> implemented as "methods" in classes and viewed via a Browser.
> This behaviour is shared by all instances of a class while state specific
 > to each instance ("instance variables") is stored by the instance itself
 > and viewed in an inspector.

As I said I am very new with smalltalk so I still use python terminology.
Like smalltalk python use objects for everything from classes to basic
types and functions.  "Everything is an object". And smalltalk methods
and messages look very similar to python's functions and function calls.

Yes I understand what you are saying and I understood also what
Inspector does. What I did not understand is the previous error.

>I'm guessing your question is really this: if I have a morph on screen
>how can I manipulate it in a workspace? If so then click the menu button
>on a workspace (blue button, downward pointing triangle) and select
>"create textual references to dropped morphs". Then simply drag&drop a
>morph over the workspace and a variable will be defined for it.
Yeap that is exactly what i was asking, thank your answer does exactly
what I wanted.

>Btw, my guesswork above doesn't imply anything about you, it comes from
>my own experience learning Squeak/Smalltalk where a certain degree of
>familiarity is needed before I even understood what I was trying to ask.
>Bit of a chicken&egg situation to begin with but the penny drops eventually.

>Casey recommended a good book but I would suggest starting with
>Squeak-by-Example to begin with:

Absolutely and I want to read and learn . Downloading SBE and PBE was the first
thing I did after downloading All in one Pharo and Squeak. My problem was that BEs
are not well written, they jump from chapter 1 to complex concepts like debugging and
unit testing , but that was not my problem as I am not a complete begineer with programming
my problem was that it also made several jump while explaining objects too , and I find it
very hard to follow in some cases, not always but in some cases. I manage to read 200 of 300
pages of both books but even some repeats I realised they were not enough to get me started with
squeak. So I did my google search and found "squeak by example" free pdfwhich does not
hurry or make assumptions of what I know it just do it the way i want step by step and explaining
practically everything it teaches.

Via PBE and SBE I though that smalltalk followed a completely diffirent concept than python
and now I understand more about it , I see they are very similar. "Smalltalk by example" is a very
good book.

> http://www.squeak.org/Documentation/
> http://wiki.squeak.org/

I have taken a look at wiki, but I must admit probably not as much as I should. But I promise
I will from now on. I am still very new with all things smalltalk orientated so I am still trying to find
a good way to learn .

Again thanks for all explanations. Squeak is amazing and so is smalltalk and I feel sad that I was not
able to discover it a decade earlier and saving myself going through the hassle of learing many programming
language that I did not end up using seriously except python that I still love very much. I think squeak is a
perfect fit for my programming philosophy.







_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners
Reply | Threaded
Open this post in threaded view
|

Re: smalltalk and squeak

Derek O'Connell-3
On 18/11/11 12:52, dimitris chloupis wrote:

> First Thank you very much for replying and helping me understand.
>
>> The "inspector" displays the instance vars. Just to be certain, if you
>> have opened an actual inspector on a morph it will have three panes with
>> a list of instance vars in the left one. Select any var and its value is
>> displayed in the right pane. *With the mouse cursor over the right pane*
> Yes that is what I said I did . To be precise I created RectangleMorph via the "
> Supplies" flap and then right click on it and choose "inspect"
>
>> the value can then be edited followed by "accepting" any changes using
>> alt/ctrl-s or middle/right-click and selecting "accept" (the actual
>> modifier key and/or mouse button used will depend on your prefs). The
>> mouse cursor position is important to indicate where text will be
>> entered and no changes are made until you "accept" them.
> yes i did also that , and I know that the mouse cursor gives focus. I was able
> to enter the new value in "all inst vars" "border Width" , i then right click it
> and choose "accept" and then another window appears with the title "Syntax error".
> In the first panel it says RectangleMorphe<none>  Nothing and the panel underneath
> it , it display this error log
>
> "Nothing more expected ->bounds:     37@363 corner: 87@403
> owner:     a PasteUpMorph<world>(1622) [world]
> submorphs:     #()
> fullBounds:     37@363 corner: 87@403
> color:     (Color r: 0.613 g: 0.903 b: 1.0)
> extension:     a MorphExtension (1436) [externalName = Rectangle ]  [player = a Player64 (301) named Rectangle]  [other:  (borderStyle ->  a SimpleBorder) (decimalPlacePreferences ->  an IdentityDictionary(#getAlpha->2 #getX->0 ))]
> borderWidth:     10
> borderColor:     Color black
> "
> When I go back to inspector the value is reverted by to the old one and
> the morph never changes.

The normal way is to select the actual instance var you want to change.
"all inst vars" is good for overview but I've never thought about
attempting changes there, not sure it is even possible.

>
>> By "specific object" I think you mean "specific instance". You need to
>> realize the distinction between Classes and Instances.
> Sorry for the ommision of "instance" , I meant "class instance object"
> Yes I know the distiction, I have been programming just for fun since 1988
> though it was only last year that I did a serious app with it, specifically
> a Blender python addon which of course uses OOP. So I am not new to this
> but I am exremely new to smalltalk and squeak, start studying it
> only a few days ago. So I am not familiar yet with all the terminology
> smalltalkers use.
>
> This is my project
>
> http://wiki.blender.org/index.php/Extensions:2.5/Py/Scripts/System/Gyes

Ah Blender, one of my all-time favourite programs and the reason I
learnt Python :-)

-D

>> What you refer to  as "functions" is generally called "behaviour"
>> implemented as "methods" in classes and viewed via a Browser.
>> This behaviour is shared by all instances of a class while state specific
>   >  to each instance ("instance variables") is stored by the instance itself
>   >  and viewed in an inspector.
>
> As I said I am very new with smalltalk so I still use python terminology.
> Like smalltalk python use objects for everything from classes to basic
> types and functions.  "Everything is an object". And smalltalk methods
> and messages look very similar to python's functions and function calls.
>
> Yes I understand what you are saying and I understood also what
> Inspector does. What I did not understand is the previous error.
>
>> I'm guessing your question is really this: if I have a morph on screen
>> how can I manipulate it in a workspace? If so then click the menu button
>> on a workspace (blue button, downward pointing triangle) and select
>> "create textual references to dropped morphs". Then simply drag&drop a
>> morph over the workspace and a variable will be defined for it.
> Yeap that is exactly what i was asking, thank your answer does exactly
> what I wanted.
>
>> Btw, my guesswork above doesn't imply anything about you, it comes from
>> my own experience learning Squeak/Smalltalk where a certain degree of
>> familiarity is needed before I even understood what I was trying to ask.
>> Bit of a chicken&egg situation to begin with but the penny drops eventually.
>> Casey recommended a good book but I would suggest starting with
>> Squeak-by-Example to begin with:
> Absolutely and I want to read and learn . Downloading SBE and PBE was the first
> thing I did after downloading All in one Pharo and Squeak. My problem was that BEs
> are not well written, they jump from chapter 1 to complex concepts like debugging and
> unit testing , but that was not my problem as I am not a complete begineer with programming
> my problem was that it also made several jump while explaining objects too , and I find it
> very hard to follow in some cases, not always but in some cases. I manage to read 200 of 300
> pages of both books but even some repeats I realised they were not enough to get me started with
> squeak. So I did my google search and found "squeak by example" free pdfwhich does not
> hurry or make assumptions of what I know it just do it the way i want step by step and explaining
> practically everything it teaches.
>
> Via PBE and SBE I though that smalltalk followed a completely diffirent concept than python
> and now I understand more about it , I see they are very similar. "Smalltalk by example" is a very
> good book.
>
>> http://www.squeak.org/Documentation/
>> http://wiki.squeak.org/
> I have taken a look at wiki, but I must admit probably not as much as I should. But I promise
> I will from now on. I am still very new with all things smalltalk orientated so I am still trying to find
> a good way to learn .
>
> Again thanks for all explanations. Squeak is amazing and so is smalltalk and I feel sad that I was not
> able to discover it a decade earlier and saving myself going through the hassle of learing many programming
> language that I did not end up using seriously except python that I still love very much. I think squeak is a
> perfect fit for my programming philosophy.
>
>
> This body part will be downloaded on demand.

_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners
Reply | Threaded
Open this post in threaded view
|

Re: smalltalk and squeak

kilon


>The normal way is to select the actual instance var you want to change.
>"all inst vars" is good for overview but I've never thought about
>attempting changes there, not sure it is even possible.

Apparently its not, and I have no idea why i did not try the instance vars themselves
:D being a noob is really all about .... being a noob :D

Thank you it works like a charm now.


>Ah Blender, one of my all-time favourite programs and the reason I
>learnt Python :-)

Yeap blender is great and python even more so, but squeak is just amazing.
I am frequenting #squeak irc and there some kind people there tutor me and
I am amazed with every single thing I learn, I have been searching this visual
way of programming all my life . And yet it was there way before I even input
my first code for gwbasic. If it can also interface with C via FFI as easy I have
been told it does , then I see no reason to use any other programming language
ever.

_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners