Drastically improving the messageNotUnderstood title

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

Drastically improving the messageNotUnderstood title

stepharong
Hi guys

As I exposed newbies to our wonderfull debugger I think that we should
change

MessageNotUnderstood: Class>>#message

into

an instance of Class did not understand message

To me this simple change would have a HUGE impact on making the debugger
first contact a lot more friendly.

Any taker?
I'm off with a company today.

Stef

--

Reply | Threaded
Open this post in threaded view
|

Re: Drastically improving the messageNotUnderstood title

Denis Kudriashov
Done:  19441.

I also change nil case to "message was send to nil" (instead of "receiver of message is nil"). You can correct it as you wish :)

2016-12-07 21:44 GMT+01:00 stepharong <[hidden email]>:
Hi guys

As I exposed newbies to our wonderfull debugger I think that we should
change

MessageNotUnderstood: Class>>#message

into

an instance of Class did not understand message

To me this simple change would have a HUGE impact on making the debugger
first contact a lot more friendly.

Any taker?
I'm off with a company today.

Stef

--


Reply | Threaded
Open this post in threaded view
|

Re: Drastically improving the messageNotUnderstood title

Ben Coman
On Thu, Dec 8, 2016 at 5:54 AM, Denis Kudriashov <[hidden email]> wrote:
> Done:  19441.
>
> I also change nil case to "message was send to nil" (instead of "receiver of
> message is nil"). You can correct it as you wish :)

send==>sent

>
> 2016-12-07 21:44 GMT+01:00 stepharong <[hidden email]>:
>>
>> Hi guys
>>
>> As I exposed newbies to our wonderfull debugger I think that we should
>> change
>>
>> MessageNotUnderstood: Class>>#message
>>
>> into
>>
>> an instance of Class did not understand message

Perhaps(?) a short form can be put in brackets?
==> an instance of Class did not understand #message sent to it (MNU
Class>>#message)

cheers -ben

>>
>> To me this simple change would have a HUGE impact on making the debugger
>> first contact a lot more friendly.

Reply | Threaded
Open this post in threaded view
|

Re: Drastically improving the messageNotUnderstood title

Sven Van Caekenberghe-2

> On 8 Dec 2016, at 00:42, Ben Coman <[hidden email]> wrote:
>
> On Thu, Dec 8, 2016 at 5:54 AM, Denis Kudriashov <[hidden email]> wrote:
>> Done:  19441.
>>
>> I also change nil case to "message was send to nil" (instead of "receiver of
>> message is nil"). You can correct it as you wish :)
>
> send==>sent
>
>>
>> 2016-12-07 21:44 GMT+01:00 stepharong <[hidden email]>:
>>>
>>> Hi guys
>>>
>>> As I exposed newbies to our wonderfull debugger I think that we should
>>> change
>>>
>>> MessageNotUnderstood: Class>>#message
>>>
>>> into
>>>
>>> an instance of Class did not understand message
>
> Perhaps(?) a short form can be put in brackets?
> ==> an instance of Class did not understand #message sent to it (MNU
> Class>>#message)

+1

> cheers -ben
>
>>>
>>> To me this simple change would have a HUGE impact on making the debugger
>>> first contact a lot more friendly.


Reply | Threaded
Open this post in threaded view
|

Re: Drastically improving the messageNotUnderstood title

Denis Kudriashov
In reply to this post by Ben Coman

2016-12-08 0:42 GMT+01:00 Ben Coman <[hidden email]>:
> message is nil"). You can correct it as you wish :)

send==>sent

Yes. Slice uses correct word
Reply | Threaded
Open this post in threaded view
|

Re: Drastically improving the messageNotUnderstood title

philippeback
In reply to this post by Sven Van Caekenberghe-2
What if the method is on class side?

Phil

On Thu, Dec 8, 2016 at 7:35 AM, Sven Van Caekenberghe <[hidden email]> wrote:

> On 8 Dec 2016, at 00:42, Ben Coman <[hidden email]> wrote:
>
> On Thu, Dec 8, 2016 at 5:54 AM, Denis Kudriashov <[hidden email]> wrote:
>> Done:  19441.
>>
>> I also change nil case to "message was send to nil" (instead of "receiver of
>> message is nil"). You can correct it as you wish :)
>
> send==>sent
>
>>
>> 2016-12-07 21:44 GMT+01:00 stepharong <[hidden email]>:
>>>
>>> Hi guys
>>>
>>> As I exposed newbies to our wonderfull debugger I think that we should
>>> change
>>>
>>> MessageNotUnderstood: Class>>#message
>>>
>>> into
>>>
>>> an instance of Class did not understand message
>
> Perhaps(?) a short form can be put in brackets?
> ==> an instance of Class did not understand #message sent to it (MNU
> Class>>#message)

+1

> cheers -ben
>
>>>
>>> To me this simple change would have a HUGE impact on making the debugger
>>> first contact a lot more friendly.



Reply | Threaded
Open this post in threaded view
|

Re: Drastically improving the messageNotUnderstood title

Denis Kudriashov

2016-12-08 10:59 GMT+01:00 [hidden email] <[hidden email]>:
What if the method is on class side?

Good question. It will be 
an instance of MyClass class did not understand #message
which of course not so good. What you suggest?
Reply | Threaded
Open this post in threaded view
|

Re: Drastically improving the messageNotUnderstood title

philippeback
MyClass did not understand #message

Phil


On Thu, Dec 8, 2016 at 11:24 AM, Denis Kudriashov <[hidden email]> wrote:

2016-12-08 10:59 GMT+01:00 [hidden email] <[hidden email]>:
What if the method is on class side?

Good question. It will be 
an instance of MyClass class did not understand #message
which of course not so good. What you suggest?

Reply | Threaded
Open this post in threaded view
|

Re: Drastically improving the messageNotUnderstood title

kilon.alios
I think

Message does not exist

Makes more sense, I always found the use of the word understood kinda weird
On Thu, 8 Dec 2016 at 10:38, [hidden email] <[hidden email]> wrote:
MyClass did not understand #message

Phil


On Thu, Dec 8, 2016 at 11:24 AM, Denis Kudriashov <[hidden email]> wrote:

2016-12-08 10:59 GMT+01:00 [hidden email] <[hidden email]>:
What if the method is on class side?

Good question. It will be 
an instance of MyClass class did not understand #message
which of course not so good. What you suggest?

Reply | Threaded
Open this post in threaded view
|

Re: Drastically improving the messageNotUnderstood title

Aliaksei Syrel
"Message(method) does not exist" happens in C/Java/etc when we call a method.
"Message not understood by an object" happens in Smalltalk/Ruby when we send a message.

I like this conceptual distinguishment between calling a method and sending a message.

Cheers,
Alex
Reply | Threaded
Open this post in threaded view
|

Re: Drastically improving the messageNotUnderstood title

kilon.alios
First of all you will never see the word message mentioned in those languages you mentioned
Second the word , understood, says nothing about the nature of the problem to a beginner

Is it that the method does not exist ?
Or is it that method exists but message does not ?
Or is it that the method does something it should not ?
Or is the VM that has problem executing the method ?



On Thu, 8 Dec 2016 at 11:27, Aliaksei Syrel <[hidden email]> wrote:
"Message(method) does not exist" happens in C/Java/etc when we call a method.
"Message not understood by an object" happens in Smalltalk/Ruby when we send a message.

I like this conceptual distinguishment between calling a method and sending a message.

Cheers,
Alex
Reply | Threaded
Open this post in threaded view
|

Re: Drastically improving the messageNotUnderstood title

Aliaksei Syrel
The fact that method does not exist does not necessarily mean that object does not understand a message ;)

First of all you will never see the word message mentioned in those languages you mentioned 
Indeed in C/Java/etc there is no such word message, that is why you can find word "method" in parentheses to the right from word "message" (actually second word in first sentence).

In case of two other mentioned languages Smalltalk/Ruby word "message" is common. Do you agree that it is the case in Smalltalk? ;)
For the Ruby I would like to refer to official documentation, especially method_missing hook (analogue of doesNotUnderstand: in Pharo).

Invoked by Ruby when obj is sent a message it cannot handle.

Cheers,
Alex

On 8 December 2016 at 12:34, Dimitris Chloupis <[hidden email]> wrote:
First of all you will never see the word message mentioned in those languages you mentioned
Second the word , understood, says nothing about the nature of the problem to a beginner

Is it that the method does not exist ?
Or is it that method exists but message does not ?
Or is it that the method does something it should not ?
Or is the VM that has problem executing the method ?




On Thu, 8 Dec 2016 at 11:27, Aliaksei Syrel <[hidden email]> wrote:
"Message(method) does not exist" happens in C/Java/etc when we call a method.
"Message not understood by an object" happens in Smalltalk/Ruby when we send a message.

I like this conceptual distinguishment between calling a method and sending a message.

Cheers,
Alex

Reply | Threaded
Open this post in threaded view
|

Re: Drastically improving the messageNotUnderstood title

philippeback
In reply to this post by kilon.alios
This is because you have been shaped by those other languages.

Message is not Operation which is not Method.

There are lots of mechnisms that are based on hooking in the #DNU mechanism.

That's a key feature of Pharo, so, trying to hide that fact is not helping.

#DNU is "cannot make sense of what you are asking me to do, Dave".

<Subject> <Verb>

Phil


Phil

Phil

On Thu, Dec 8, 2016 at 12:34 PM, Dimitris Chloupis <[hidden email]> wrote:
First of all you will never see the word message mentioned in those languages you mentioned
Second the word , understood, says nothing about the nature of the problem to a beginner

Is it that the method does not exist ?
Or is it that method exists but message does not ?
Or is it that the method does something it should not ?
Or is the VM that has problem executing the method ?



On Thu, 8 Dec 2016 at 11:27, Aliaksei Syrel <[hidden email]> wrote:
"Message(method) does not exist" happens in C/Java/etc when we call a method.
"Message not understood by an object" happens in Smalltalk/Ruby when we send a message.

I like this conceptual distinguishment between calling a method and sending a message.

Cheers,
Alex

Reply | Threaded
Open this post in threaded view
|

Re: Drastically improving the messageNotUnderstood title

Denis Kudriashov
In reply to this post by kilon.alios

2016-12-08 12:14 GMT+01:00 Dimitris Chloupis <[hidden email]>:
I think

Message does not exist

It is not correct because in fact message exits and it is here in argument of #doesNotUnderstood: and it is shown in degugger.
Reply | Threaded
Open this post in threaded view
|

Re: Drastically improving the messageNotUnderstood title

philippeback
Kilon,

Check the MessageSend class and its users.

There are a lot of interesting things one can do there.

Phil

On Thu, Dec 8, 2016 at 1:29 PM, Denis Kudriashov <[hidden email]> wrote:

2016-12-08 12:14 GMT+01:00 Dimitris Chloupis <[hidden email]>:
I think

Message does not exist

It is not correct because in fact message exits and it is here in argument of #doesNotUnderstood: and it is shown in degugger.

Reply | Threaded
Open this post in threaded view
|

Re: Drastically improving the messageNotUnderstood title

Nicolas Cellier
In reply to this post by Denis Kudriashov


2016-12-08 13:29 GMT+01:00 Denis Kudriashov <[hidden email]>:

2016-12-08 12:14 GMT+01:00 Dimitris Chloupis <[hidden email]>:
I think

Message does not exist

It is not correct because in fact message exits and it is here in argument of #doesNotUnderstood: and it is shown in degugger.

Executing a method (CompiledMethod) is how an object would react when receiving a message.
Who is sending the message has (should have) no idea of which method exactly will be executed, or it least shouldn't have to care about it.
It's encapsulated/delegated/private/you name it, IOW it's the responsibility of the object we sent the message to.
So in Smalltalk we have to think in term of message, not method.

DNU happens when the method lookup failed. I fail to see what is not crystal clear?
Reply | Threaded
Open this post in threaded view
|

Re: Drastically improving the messageNotUnderstood title

Eliot Miranda-2
In reply to this post by kilon.alios


On Dec 8, 2016, at 3:14 AM, Dimitris Chloupis <[hidden email]> wrote:

I think

Message does not exist

Makes more sense, I always found the use of the word understood kinda weird

But messages that do exist can be not understood.  For example Array new add: 1.  The exists wording is wrong and misleading.

On Thu, 8 Dec 2016 at 10:38, [hidden email] <[hidden email]> wrote:
MyClass did not understand #message

Phil


On Thu, Dec 8, 2016 at 11:24 AM, Denis Kudriashov <[hidden email]> wrote:

2016-12-08 10:59 GMT+01:00 [hidden email] <[hidden email]>:
What if the method is on class side?

Good question. It will be 
an instance of MyClass class did not understand #message
which of course not so good. What you suggest?

Reply | Threaded
Open this post in threaded view
|

Re: Drastically improving the messageNotUnderstood title

Ben Coman
In reply to this post by philippeback


cheers -ben

On Thu, Dec 8, 2016 at 5:59 PM, [hidden email] <[hidden email]> wrote:
> What if the method is on class side?

Good point. Thus...
'class-side of AClass did not understand #message sent to it (MNU AClass-class>>#message)'




On Thu, Dec 8, 2016 at 7:14 PM, Dimitris Chloupis <[hidden email]> wrote:
I think 

Message does not exist 

Makes more sense, I always found the use of the word understood kinda weird 


 
>

> Phil
>
> On Thu, Dec 8, 2016 at 7:35 AM, Sven Van Caekenberghe <[hidden email]> wrote:
>>
>>
>> > On 8 Dec 2016, at 00:42, Ben Coman <[hidden email]> wrote:
>> >
>> > On Thu, Dec 8, 2016 at 5:54 AM, Denis Kudriashov <[hidden email]>
>> > wrote:
>> >> Done:  19441.
>> >>
>> >> I also change nil case to "message was send to nil" (instead of
>> >> "receiver of
>> >> message is nil"). You can correct it as you wish :)
>> >
>> > send==>sent
>> >
>> >>
>> >> 2016-12-07 21:44 GMT+01:00 stepharong <[hidden email]>:
>> >>>
>> >>> Hi guys
>> >>>
>> >>> As I exposed newbies to our wonderfull debugger I think that we should
>> >>> change
>> >>>
>> >>> MessageNotUnderstood: Class>>#message
>> >>>
>> >>> into
>> >>>
>> >>> an instance of Class did not understand message
>> >
>> > Perhaps(?) a short form can be put in brackets?
>> > ==> an instance of Class did not understand #message sent to it (MNU
>> > Class>>#message)
>>
>> +1
>>
>> > cheers -ben
>> >
>> >>>
>> >>> To me this simple change would have a HUGE impact on making the
>> >>> debugger
>> >>> first contact a lot more friendly.
>>
>>
>
Reply | Threaded
Open this post in threaded view
|

Re: Drastically improving the messageNotUnderstood title

Ben Coman
In reply to this post by kilon.alios


On Thu, Dec 8, 2016 at 7:14 PM, Dimitris Chloupis <[hidden email]> wrote:
I think

Message does not exist

Makes more sense, I always found the use of the word understood kinda weird


I always liked the term 'understand'.  I think such anthropomorphism helps give the system its feeling of liveness, and changed the way I thought about programming.

cheers -ben
Reply | Threaded
Open this post in threaded view
|

Re: Drastically improving the messageNotUnderstood title

EstebanLM

On 8 Dec 2016, at 16:44, Ben Coman <[hidden email]> wrote:



On Thu, Dec 8, 2016 at 7:14 PM, Dimitris Chloupis <[hidden email]> wrote:
I think

Message does not exist

Makes more sense, I always found the use of the word understood kinda weird


I always liked the term 'understand'.  I think such anthropomorphism helps give the system its feeling of liveness, and changed the way I thought about programming.

+42

also “does not understand” puts the accent where it belongs: is a message *send* that is not part of object vocabulary…

Esteban


cheers -ben

12