|
|
|
|
|
by throwaway2016a
3157 days ago
|
|
Earlier in my career we moved to Ruby over PHP because Ruby was "cool" and PHP was not. Now it is interesting to see them lumped in the same group. Incidentally, PHP has improved greatly because of the rivalry with Ruby because the competition inspired PHP and PHP Frameworks to step up their game in the early 2000s / 2010s. Python's continued popularity surprises me. While I like Python and it is good for data science I don't understand why people use it for websites. The PHP and Ruby ecosystems are far more mature if you consider ease of use and if you are going for performance, Go and Java based frameworks are better. Even in the data world, I kind of like R over Python. I'm also glad to see Javascript highly ranked. I was under the impression that Node.js in particular was going the way of PHP and Ruby. But personally I like working with Node. Edit: I wonder how much of this is due to popularity too. PHP is insanely widely used. Which attracts more entry level coders than a language that is broadly used for specialty / high performance / niche languages. |
|
My guess is a big part of it is Python’s “one right, preferably obvious way to do it” principle.
Rails does this “convention over configuration” thing which really means “anything could come from anywhere”. View not rendering? Literally anything could be going wrong anywhere in your stack. Some convention somewhere is tripping you up.
The “one right way” principle in Python mitigates this chaos. You can at least reason about what’s “pythony” when you’re thinking about it. It helps that the ecosystem is smaller too.
The Ruby community, and JavaScript to an even greater degree, are more focused on individual preferences, which vary greatly. So you have to wonder... is this a “modern”, transpiling, framework-thinking JavaScript developer, or a functional, small is beautiful, package-oriented one? Or something else entirely?
Python wins because they value consistency over the bleeding edge of architecture innovation. This is consequently also why they lose.