Feature #7644

In refinements, change "using" keyword to a less generic word.

Added by Boris Stitnicky over 1 year ago. Updated about 1 year ago.

[ruby-core:51212]
Status:Assigned
Priority:Normal
Assignee:Yukihiro Matsumoto
Category:-
Target version:Next Major

Description

The upcoming feature of refinements is bringing two new keyords: "refine Something" and "using Something". While I am definitely late to come up with this, I realized that due to natural linguistic reasons, keyword "using" should be replaced another word. This suggestion is not about functionality, only about the keyword choice. I firmly believe that "using", while tempting and beautiful, is ultimately wrong keyword choice, imposing undue strain on English speaking about code in comments, documentation, and all developer communication.

Rationale: Ruby keywords, especially verbs (include, extend, raise, return, yield, ...) and nouns (class, module, ...) constrain speaking about code. One eg. cannot freely speak about modules in the general sense ("My program has modular structure consisting of three main modules blah blah..."), due to the danger of confusion that we are speaking about three Module instances. This has to be circumvented by saying eg. "My program consists of three main orthogonal parts blah blah..."). Now if Ruby 2.1 would introduce keyword "part", we would have to reformulate the sentence to eg. "My program consists of three main independent subprograms..." What am I getting at is, that PLEEEASE don't take "use", "using", "usage" etc. away from meeee! I don't want write poetry in the documentation!

Suggested solution: One simple solution would be to replace the participle "using Something" by a keyword selected from eg. prepositions or adverbs, such as "with Something". If verb or noun is desired, it should not constrain natural speech too much, such as "gimmick Something", or "delve Something".

History

#1 Updated by Shugo Maeda over 1 year ago

  • Status changed from Open to Assigned
  • Assignee set to Yukihiro Matsumoto
  • Target version set to 2.0.0

boris_stitnicky (Boris Stitnicky) wrote:

The upcoming feature of refinements is bringing two new keyords: "refine Something" and "using Something". While I am definitely late to come up with this, I realized that due to natural linguistic reasons, keyword "using" should be replaced another word. This suggestion is not about functionality, only about the keyword choice. I firmly believe that "using", while tempting and beautiful, is ultimately wrong keyword choice, imposing undue strain on English speaking about code in comments, documentation, and all developer communication.

The feature set of Ruby 2.0.0 has already been frozen, so only Matz can decide whether "using" should be replaced with another word.

Suggested solution: One simple solution would be to replace the participle "using Something" by a keyword selected from eg. prepositions or adverbs, such as "with Something". If verb or noun is desired, it should not constrain natural speech too much, such as "gimmick Something", or "delve Something".

I don't like "with" because it reminds me Pascal's "with" keyword.
I don't like "gimmick" and "delve" either, because these words are too difficult for us non-native English speakers.

#2 Updated by Boris Stitnicky over 1 year ago

shugo (Shugo Maeda) wrote:

The feature set of Ruby 2.0.0 has already been frozen, so only Matz can decide whether "using" should be replaced with another word.

Thank you. I share your viewpoint. I still wanted to point at this disadvantage of "using".

I don't like "with" because it reminds me Pascal's "with" keyword.
I don't like "gimmick" and "delve" either, because these words are too difficult for us non-native English speakers.

The suggestion here is to consider prepositions, conjunctions, adverbs, or less frequent words.
I do not know, whether a good replacement exists. Also, I am in no position to choose, so on purpose,
I did not optimize my examples. I will attempt it, if Matz considers change of "using" an option.

#3 Updated by Koichi Sasada about 1 year ago

  • Target version changed from 2.0.0 to Next Major

#4 Updated by Yusuke Endoh about 1 year ago

Obviously too late for 2.X ;-(
You had to raise your voice during the preview period.

Yusuke Endoh mame@tsg.ne.jp

Also available in: Atom PDF