Hi. Something really annoying in squeak is you often find invokations of methods that don't exist. Just to give some examples, I found : WriteStream on:(String new:128) in XMLTokenizer class but though, no on: method is present amongst the static methods of WriteStream. I also found some examples in socket classes that I needed to correct by myself to get them to work. Why isn't there any method available in XMLParser? They do but call subclassResponsibility!
Does someone know whether this will be set back in order one day? (I'm currently using the latest version,ie the 3.7-5989 full).
Thanks in advance.
Hi,
Am 26.04.2005 um 16:26 schrieb François THIMON:
Hi. Something really annoying in squeak is you often find invokations of methods that don't exist. Just to give some examples, I found : WriteStream on:(String new:128) in XMLTokenizer class but though, no on: method is present amongst the static methods of WriteStream.
You need to look into the superclasses, too.
I also found some examples in socket classes that I needed to correct by myself to get them to work. Why isn't there any method available in XMLParser? They do but call subclassResponsibility!
A Class that has methods with "self subclassResponsibility" tells you that you are not supposed to use this class, but a subclass of it.
Marcus
You need to look into the superclasses, too.
OK for this.
A Class that has methods with "self subclassResponsibility" tells you that you are not supposed to use this class, but a subclass of it.
But then, how about those that don't have any subclasses?? Unless XMLParser has one??
On Tuesday 26 April 2005 10:47, in a message called Re: Unmatching methods/calls., François THIMON wrote:
A Class that has methods with "self subclassResponsibility" tells you that you are not supposed to use this class, but a subclass of it.
But then, how about those that don't have any subclasses?? Unless XMLParser has one??
Probably an indication that you need to write the concrete subclass.
Yes, you're right ; I'm not too fluent with XML so I was kinda lost in all the classes and furthermore I always used to think parsers worked another way. Thanks again.
On 4/26/05, François THIMON thimof@iutc3.unicaen.fr wrote:
Something really annoying in squeak is you often find invokations of methods that don't exist.
Something really annoying on mailing lists is when newbies don't read the many free books that are available and start asking questions they could have solved themselves with just a tiny bit of work. Especially when these questions are presented as bug reports with, as far as I read it, quite a bit of arrogance shining through.
Cees De Groot cdegroot@gmail.com wrote:
On 4/26/05, François THIMON thimof@iutc3.unicaen.fr wrote:
Something really annoying in squeak is you often find invokations of methods that don't exist.
Something really annoying on mailing lists is when newbies don't read the many free books that are available and start asking questions they could have solved themselves with just a tiny bit of work.
Without commenting on the particulars, we could probably do ourselves a favour by making sure that some of those books are prominently pointed to in - the help files included with platform distributions - the welcome to... window - whatever 'welcome to the squeak mailing list' message might exist - the almost-front age of the website.
... and of course we'd need to make sure that the first one in the list is a good up to date beginner's guide. Otherwise we're just being mean in pointing people to something out of date.
tim -- Tim Rowledge, tim@sumeru.stanford.edu, http://sumeru.stanford.edu/tim "How many Motie Mediators does it take to chage a lightbulb?" "Are you insane? Only Crazy Eddie would want to change *anything*!"
Another opportunity for the new website ;)
On 4/26/05, Tim Rowledge tim@rowledge.org wrote:
Without commenting on the particulars, we could probably do ourselves a favour by making sure that some of those books are prominently pointed to in
- the help files included with platform distributions
- the welcome to... window
- whatever 'welcome to the squeak mailing list' message might exist
- the almost-front age of the website.
On Tue, Apr 26, 2005 at 04:26:14PM +0200, François THIMON wrote:
Hi. Something really annoying in squeak is you often find invokations of methods that don't exist. Just to give some examples, I found : WriteStream on:(String new:128) in XMLTokenizer class but though, no on: method is present amongst the static methods of WriteStream. I also found some examples in socket classes that I needed to correct by myself to get them to work. Why isn't there any method available in XMLParser? They do but call subclassResponsibility!
Hi François,
I think that perhaps you are more familiar with Java. In Smalltalk, the "static" methods are really just methods in the class of the object, and there is no need to reproduce them in every subclass. Classes are real objects, and the normal method lookup works the same for methods in the class as it does in for methods in the instance.
There is no such thing as "static" in Squeak, practically everything is dynamic :)
Dave
Am 27.04.2005 um 02:56 schrieb David T. Lewis:
On Tue, Apr 26, 2005 at 04:26:14PM +0200, François THIMON wrote:
Hi. Something really annoying in squeak is you often find invokations of methods that don't exist. Just to give some examples, I found : WriteStream on:(String new:128) in XMLTokenizer class but though, no on: method is present amongst the static methods of WriteStream. I also found some examples in socket classes that I needed to correct by myself to get them to work. Why isn't there any method available in XMLParser? They do but call subclassResponsibility!
Hi François,
I think that perhaps you are more familiar with Java. In Smalltalk, the "static" methods are really just methods in the class of the object, and there is no need to reproduce them in every subclass. Classes are real objects, and the normal method lookup works the same for methods in the class as it does in for methods in the instance.
There is no such thing as "static" in Squeak, practically everything is dynamic :)
Use the "Protocol Browser" to see each and every method that your object or class responds to, even if implemented in a super class (press cmd-p in the class list, or use the menu).
- Bert -
You're almost right : I began with C++ but I didn't pay attention to the fact that the difference is so large between true static methods and squeak class methods. Thanks for pointing this to me.
Hi François,
Here is a link with a list of differences between Java and Smalltalk:
http://www.whysmalltalk.com/2005/03/java-annoyances-or-why-i-like.html
On 4/27/05, François THIMON thimof@iutc3.unicaen.fr wrote:
You're almost right : I began with C++ but I didn't pay attention to the fact that the difference is so large between true static methods and squeak class methods. Thanks for pointing this to me.
squeak-dev@lists.squeakfoundation.org