I am currently reading up on Ruby. I think it is a nice language, but I am a bit bothered by having so many equivalent ways, that are only slightly different in syntax, for coding the same action. For example, the unless conditional statement, which is fully equivalent to writing if !conditional.
To me, this does not add any expressive power, just makes it more taxing to follow other people's code. Is there a benefit that I am missing (other than catering to different tastes, which I don't find convincing, since people don't usually reject a language because some syntactic keywords didn't match their taste)?
There are more examples of this in probably every language. I am only using this example because I though it particularly lacking a reasonable defense.
In general, it is something normal to provide developers with many ways to achieve the same thing, and of course it would be some kind of developers preference to choose a way over another. But you have to know that a smart compiler would convert all the ways to the same result when it converts code to its binary executive format.