For me the big issue with Ruby—which admittedly has many fine features I would like to see in other languages—is the lack of a general standard for its operations. There are so many ways to get the same basic logic loop done, it feels like a recipe for either unfollowable code or chaos in programming teams.
Ruby has for, while, do-while, until, rescue, inlined conditionals, optionals, and iterators, for what amounts to the same task; not to mention exceptions (something the C standard has repeated swerved away from, wisely) and lambdas.
I'm not saying that there isn't a time for Ruby, but if you think C falls into the same category then we're very much in disagreement.
How exactly are rescue, inlined conditionals and optionals used for creating loops? Also Ruby's for and while do different things, unlike for and while in C.
For me the big issue with Ruby—which admittedly has many fine features I would like to see in other languages—is the lack of a general standard for its operations. There are so many ways to get the same basic logic loop done, it feels like a recipe for either unfollowable code or chaos in programming teams.
So it is a real perl replacement.
This also applies to C.
Allow me to clarify.
C has for, while, and do-while. That's it.
Ruby has for, while, do-while, until, rescue, inlined conditionals, optionals, and iterators, for what amounts to the same task; not to mention exceptions (something the C standard has repeated swerved away from, wisely) and lambdas.
I'm not saying that there isn't a time for Ruby, but if you think C falls into the same category then we're very much in disagreement.
C has for, while, do-while, goto and recursion.
How exactly are rescue, inlined conditionals and optionals used for creating loops? Also Ruby's for and while do different things, unlike for and while in C.