3 ms·
> I question starting people on Ruby for web development. This. What's a synergistic language? Javascript (i.e. it's required learning for the browser, and yo
by aaronchall 9y ago
> I question starting people on Ruby for web development.
This.
What's a synergistic language? Javascript (i.e. it's required learning for the browser, and you get the backend with Node - and you point this out.) Javascript has advantage from browser monopolization.
What's a great and increasingly popular language for the backend? Python. And Python is so nice that we don't need a slogan about how "Guido is nice so we are nice" (with apologies to Matz and the dwindling Ruby community).
Write your software so simple that there are obviously no deficiencies, not so complex that there are no obvious ones (Hoare, 1980). Ruby is way more complex than Python because there's a bajillion different ways to do it.
To me the only point of learning Ruby is if you're already in a job that maintains a Rails app.
The battle for the supreme interpreted language isn't over, but, like Perl, it's my humble opinion that you can count Ruby out.
- 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).
- cutler 9y agoAs someone who prefers Ruby to Python I lament the odd coincidence that Ruby, the language most strongly influenced by Perl, seems to be suffering the same fate as its predecessor - fiddling while Rome burns. Ruby needs 3x3 yesterday to compete with all the languages that are eating its lunch but I doubt if we'll see it before 2020. Worst case scenario is Ruby 3x3 turning into another Perl 6.