3 ms·
> we don't need a slogan about how "Guido is nice so we are nice" > there's a bajillion different ways to do it I would definitely say that these are serious
by RangerScience 9y ago
> we don't need a slogan about how "Guido is nice so we are nice"
> there's a bajillion different ways to do it
I would definitely say that these are serious strengths of Ruby, not weaknesses. Here's why:
Ruby is foremost concerned with the experience of the person using the tool. To use an analogy, many of us spend a lot of time finding keyboards and layouts that harm us less, or do not actively harm us. You would avoid using a hammer if the grip was painful to hold.
Ruby may appear to have a bajillion ways to do something, but actually, it's just many different ways to communicate the same few things to other people. Since you are free (and able) to use any of many ways, you can choose the one that is actually the most communicative, not the one that should be the most communicative. But, as you begin to peel back that facade and understand what's underneath (that everything is a thing that is a combination object, reference, and function), you see that it's actually pretty simple.
The result of this is that in Ruby, you can - and can benefit from - deeply considering the structure of the thoughts that code describes. Particularly in Rails, you can consider the idea of the thing you are dealing with, and then you write down the description of that thing; Ruby magic then makes that description code.
That is, ultimately, why I think Ruby is a "synergistic" language, and an excellent one with which to start: it [can] teach you to think in a way that's independent of any given language - about what is occurring for the computer, and more importantly, what is occurring for the programmer. You can then take that learning and apply it everywhere else.
Mostly, I just know how bloody frustrating it is to work with (most) libraries and APIs that aren't from (or inspired by) Ruby-land, and how (generally) easy and convenient it is to work with things from (or inspired by) Ruby (and Rails).