
Issue #19859 has been updated by sawa (Tsuyoshi Sawada).
In English "start" is paired with "finish" and "begin" is paired with "end".
I do not think that holds. The combination of "start" and "end" is frequently used, e.g, https://word.tips/wordscapes-answers/ https://worddetector.com/
Further, I would argue that it should be only String#begin_with? & String#end_with? because "start" and "finish" imply temporality and strings don't have that connotation.
I don't think there is anything wrong with saying "a string starts with ...". Such expression is widely used, and even Sesame Street regularly uses this famous phrase "`word` starts with `letter`", e.g., https://www.youtube.com/watch?v=EtdnmhASYbA&t=42s (also at 17s). However, Ruby has several methods that use "begin" for enumerable things, and `String#start_with?` is certainly not consistent with that. ``` Enumerator::ArithmeticSequence#begin MatchData#begin Range#begin StringScanner#beginning_of_line? Reline::LineEditor#beginning_of_line ``` ---------------------------------------- Feature #19859: Start & Finish, Begin & End https://bugs.ruby-lang.org/issues/19859#change-104444 * Author: thoran (thoran not blank) * Status: Open * Priority: Normal ---------------------------------------- In English "start" is paired with "finish" and "begin" is paired with "end". While "start" and "begin", and "finish" and "end" have similar meanings they are not the same. Hence it should be: `String#begin_with?` & `String#end_with?` or maybe `String#start_with?` & `String#finish_with?` or both; but not certainly not `String#start_with?` & `String#end_with?` as it is presently. Further, I would argue that it should be only `String#begin_with?` & `String#end_with?` because "start" and "finish" imply temporality and strings don't have that connotation. Hence the solution here for me would be to: `/String#start_with?/String#begin_with?/`. If however there is a desire to retain interface compatibility and to adhere to TMTOWTDI, then introduce both: `String#begin_with?` and `String#finish_with?` -- https://bugs.ruby-lang.org/