From: Yukihiro Matsumoto Date: 2006-10-03T11:03:10+09:00 Subject: Re: Private visibility should be removed from Ruby 2 [was: Caveats with #method_missing] Hello, In message "Re: Private visibility should be removed from Ruby 2 [was: Caveats with #method_missing]" on Mon, 2 Oct 2006 13:21:27 +0900, "Tomasz Wegrzanowski" writes: |Having a single well-defined interface was a big win for Smalltalk. |Ruby is almost there, but not quite. What is the reason for Ruby |to have "almost-Smalltalk" object model ? Because Ruby is not Smalltalk. Really. Let me elaborate a bit. Since I made the syntax of Ruby more traditional than Smalltalk's "everything is a message passing" style, you can write traditional code in Ruby, for example: print "hello world\n" rather than "hello world" printIt. or something like that. If everything procedure is a method, what should I do? There were several choices, and I chose "print" to be a method with implicit receiver, but made it "private" to detect weird "foobar".print "hello world\n" as an error. If you want to remove "private" from Ruby2, I expect your proposal addresses the above issue. matz.