3 ms·
> To an experienced developer who watched all the layers of abstraction accumulate this doesn't pose much of a problem Well, I'm fairly experienced because I'v
by pmontra 3y ago
> To an experienced developer who watched all the layers of abstraction accumulate this doesn't pose much of a problem
Well, I'm fairly experienced because I've been using Ruby since 2005 almost only with Rails plus some small scripts that I used to write in Perl, and yet I'm not up to date with all the new syntax and sugar that accumulated in the last years.
There are at least two reasons for that.
1. Working with Rails means that we tend to use only the features that make sense to use inside a Rails app. An extreme example: I experimented with Ractors but if they have a place in Rails app it's somewhere inside rack or db drivers, or maybe something like Sidekiq. They have no place in code that runs in the short lifetime of a web request.
2. Each customer use a different version of the language and of Rails, also among different apps of the same customer. They stick to those versions for years, usually until they approach end of life. That makes hard to remember which feature you can use in which project, so one tends to use the oldest common feature set. Example: I never saw anybody using pattern matching, which by the way changed between 2.7 and 3.x.