Matz says, on January 28, 2009 (EST): The bang (!) does not mean "destructive" nor lack of it mean non destructive either. The bang sign means "the bang version is more dangerous than its non bang counterpart; handle with care". Since Ruby has a lot of "destructive" methods, if bang signs follow your opinion, every Ruby program would be full of bangs, thus ugly. And I (David A. Black) say: So please stop writing bang methods that have no non-bang equivalent! The bang in isolation literally means nothing. It's purely ornamental, and dilutes the conventional usage (see above) to the point where it's unrecognizable and pointless. (Exception: things like Builder, where the bang/non-bang distinction is completely redefined, and documented as having been redefined, for the sake of domain-specific semantics.)