# Ruby/smalltalk: method\_missing/doesNotUnderstand

**URL:** <https://www.ruby-forum.com/t/ruby-smalltalk-method-missing-doesnotunderstand/106477>\
**Category:** Ruby\
**Created:** [June 11, 2007, 3:14am UTC](https://www.ruby-forum.com/t/ruby-smalltalk-method-missing-doesnotunderstand/106477 "2007-06-11T03:14:37Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Giles\_B](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/848f3c/32.png) [@Giles\_B](https://www.ruby-forum.com/u/Giles_B)\
**Post date:** [June 11, 2007, 3:14am UTC](https://www.ruby-forum.com/t/ruby-smalltalk-method-missing-doesnotunderstand/106477/1 "2007-06-11T03:14:37Z")

</div>

Hi all - this is for the Smalltalkers and the people interested in  
Ruby’s genealogy, as it were. Is it fair for me to tell people that  
method\_missing is a Ruby translation of Smalltalk’s doesNotUnderstand?  
Or is it more a totally unique feature? I was going to say the first,  
but now I think it’s the latter. I don’t think you can rewrite  
doesNotUnderstand the way you can rewrite method\_missing - or,  
actually, I think you **can** , but I think in practice it happens much  
less. Anyway, help me out if you know the answer to this one.

–  
Giles B.

Blog: [http://gilesbowkett.blogspot.com](http://gilesbowkett.blogspot.com)  
Portfolio: [http://www.gilesgoatboy.org](http://www.gilesgoatboy.org)

---

<div class="post-metadata">

**Author:** ![Giles\_B](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/848f3c/32.png) [@Giles\_B](https://www.ruby-forum.com/u/Giles_B)\
**Post date:** [June 11, 2007, 5:27pm UTC](https://www.ruby-forum.com/t/ruby-smalltalk-method-missing-doesnotunderstand/106477/2 "2007-06-11T17:27:37Z")

</div>

On 6/10/07, Giles B. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Hi all - this is for the Smalltalkers and the people interested in  
> Ruby’s genealogy, as it were. Is it fair for me to tell people that  
> method\_missing is a Ruby translation of Smalltalk’s doesNotUnderstand?  
> Or is it more a totally unique feature? I was going to say the first,  
> but now I think it’s the latter. I don’t think you can rewrite  
> doesNotUnderstand the way you can rewrite method\_missing - or,  
> actually, I think you **can** , but I think in practice it happens much  
> less. Anyway, help me out if you know the answer to this one.

Actually overriding doeNotUnderstand: in Smalltalk is rather common  
for much the same reasons it’s used in Ruby.

For example, when I wrote the Smalltalk distributed feature for IBM  
Smalltalk about 10 years ago, doesNotUnderstand was a key underpinning  
of the implementation.

As to where Matz got the idea you’d have to ask him, but it’s very  
much the same mechanism.

–  
Rick DeNatale

My blog on Ruby  
[http://talklikeaduck.denhaven2.com/](http://talklikeaduck.denhaven2.com/)

---

<div class="post-metadata">

**Author:** ![Giles\_B](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/848f3c/32.png) [@Giles\_B](https://www.ruby-forum.com/u/Giles_B)\
**Post date:** [June 14, 2007, 7:04pm UTC](https://www.ruby-forum.com/t/ruby-smalltalk-method-missing-doesnotunderstand/106477/3 "2007-06-14T19:04:51Z")

</div>

On Jun 11, 2007, at 08:26 , Rick DeNatale wrote:

> Actually overriding doeNotUnderstand: in Smalltalk is rather common  
> for much the same reasons it’s used in Ruby.
> 
> For example, when I wrote the Smalltalk distributed feature for IBM  
> Smalltalk about 10 years ago, doesNotUnderstand was a key underpinning  
> of the implementation.

seconded.

---

<div class="post-metadata">

**Author:** ![Giles\_B](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/848f3c/32.png) [@Giles\_B](https://www.ruby-forum.com/u/Giles_B)\
**Post date:** [June 12, 2007, 11:55pm UTC](https://www.ruby-forum.com/t/ruby-smalltalk-method-missing-doesnotunderstand/106477/4 "2007-06-12T23:55:41Z")

</div>

> Actually overriding doeNotUnderstand: in Smalltalk is rather common  
> for much the same reasons it’s used in Ruby.
> 
> For example, when I wrote the Smalltalk distributed feature for IBM  
> Smalltalk about 10 years ago, doesNotUnderstand was a key underpinning  
> of the implementation.
> 
> As to where Matz got the idea you’d have to ask him, but it’s very  
> much the same mechanism.

Gracias! That’s kind of what I suspected.

–  
Giles B.

Blog: [http://gilesbowkett.blogspot.com](http://gilesbowkett.blogspot.com)  
Portfolio: [http://www.gilesgoatboy.org](http://www.gilesgoatboy.org)
