[Pharo-project] Popularity of Smalltalk in Software Industry
dmason at mason-rose.ca
Thu May 5 15:07:52 CEST 2011
On May 5, 2011, at 06:12, sourav roy wrote:
> I agree to what have you said but as i am a beginner to smalltalk i need lot of help to get a good grip over it
I was talking with one of my grad students yesterday, who was in a similar boat.
A big difference between Smalltalk and Java/C# (and worse, C++) is that it has a minimalist syntax. If you have been programming in those syntaxy languages, you have grown to pattern-match that syntax to give you the structure of a method. In Smalltalk, everything is a message send to some object (except assignment and return, and ignoring internal compiler optimizations) - so figuring out what is going on is a matter of following the message sends.
Another big difference is that classes are objects too, so 'self' could be a class or an instance. This is a big advantage, but initially can make it harder to follow the message send trail. Pay attention to whether you're looking at a class method or an instance method.
A third big difference is that the class hierarchy is much, much, richer, so messages are often sent to methods that are defined in super-classes or sub-classes of the method you're currently looking at. This is particularly true for class methods, because there isn't any inheritance of class methods in the syntaxy languages. You may find the hierarchy browser to be a good friend here. Hierarchies in the syntaxy languages are usually <=3 deep. In Smalltalk, 8-10 is not unusual.
Lastly, most Smalltalk systems are image based. That means all the code is there for you to look at - you just have to find it! Because the code (the ultimate documentation :-) is there, it has meant that documentation has been seen as less important. The Pharo community has been working to address that, both in books and in internal documentation (see the COTD postings)
> and moreover unlike other mainstream languages there are not much documents or professional from which i can get some guidance about it.
As others have pointed out, there actually is quite a bit... just not from Amazon.
> And i feel as Smalltalk is quite vast and different in structure from the other mail(with my two month experiance and i may be wrong), a beginner needs some proper guidance to get his hands over smalltalk. So, i just request you to kindly guide me to how should i get into smalltalk.
Hope this helps.
As others have said, Smalltalk is worth it - it will make you a better programmer. As will several other languages, most of which you'll find discussed on the lambda-the-ultimate.org blog.
More information about the Pharo-project