Mr. Matsumoto, > |Language chauvinism is no more attractive than any other form of > |chauvinism. > > Well, if you felt language chauvinism in my words, that was not what I > meant. In fact, I am opposite to language chauvinism to any specific > natural language (including Japanese and English). You felt like that > probably due to my lack of English skills. > > I agree that the method invocation syntax in Ruby > > receiver.method(arguments) > > resembles > > Subject Verb Objectives > > in English, and receiver often corresponds to the single real world > entity. So I feel sympathy to the people who want method names in the > form of third person singular, e.g. exists, has_key, etc. > > But I decided not to do so, because of the following 2 reasons. > > (1) As you said, I borrowed a lot of WORDS from English. But I don't > want to make Ruby programmers to know English SYNTAX. My oldest > child will learn Ruby programming in several years (she is 8 > now). But it'll take years for her to learn English grammar. > She can memorize some alphabetical sequences. In this case, I > want her to learn programming, not English. > > In fact, array.sort should be a wrong method name if English > correctness is pursued, for example. You are going to try to teach your daughter a pure abstraction? I feel very sorry for her or anyone else that makes such an attempt. That involves memorization rather than internalization. You have much more knowledge of English than you may think. If she has none and attempts to learn Ruby in it's current format, you are creating an almost insuperable task for her. My wife is a reading teacher in two romanized languages, Spanish and English. Normally, we say that I child learns to read once, but may then learn to read other languages. Because of the different brain usage in a partially symbolic language such as Japanese or Chinese, it seems logical that reading between such languages and romanized languages is such a different process as to constitute learning to read twice. If she has no English when she learns Ruby, she will learn to "read" Ruby, and then try to learn English. I find it difficult to imagine how badly that will turn her sense of logic. "This is an array sort", is a perfectly logical and normal English sentence. "array.sort" does not depart far from that. > (2) You didn't claim all method names which are verbs should be in > the form of third person. Some verbs in the third person make > you feel natural; others not. Knowledge of English grammar is > required to distinguish this, I think. Again I want to be apart > from English grammar. What you want and what you can accomplish when dealing with perception in human beings are two entirely different things. Again, nothing is lost if you follow "natural" English and much is gained in the intuitive use of the Ruby language. When you chose English as the basic word source for Ruby, you implicityly hauled all that baggage with it. Now, you want to throw it all away and cannot no matter what you state. Unless someone speaks no English and has no experience of it's structure and usage, one cannot help but seek some meaning through English rather than Ruby. This is natural and to be expected. It actually cannot be prevented. In my neighborhood, we call what you are attempting "rowing upstream". > Despite all the excuses I listed above, in conclusion, it's all up to > the taste of programmer. Some hate them, some love them, most don't > care. Actually, you are right and you are wrong. You are obviously free to proceed in any manner that you choose. A certain number of people will go with you almost anywhere. Taste is one thing, human nature is another. Taste can be adjusted with some time and difficulty, human nature, really, not at all. When you resist it, you are on a fool's errand and in the long run, you will fail. I will rephrase your last sentence. Some hate them, some love them, most are so inarticulate and unexamined as to not be able to express what they intuitively act on. Our children are our unwitting victims. Think carefully how you lead your's. Everett L.(Rett) Williams rett / gvtc.com