2 ms·
My mental model for this process is that whenever a team chooses a new language with a less-complete stdlib (eg moving Perl -> early Python) it’s because there’
by theptip 5y ago
My mental model for this process is that whenever a team chooses a new language with a less-complete stdlib (eg moving Perl -> early Python) it’s because there’s a net gain for the specific task at hand, even though you take a productivity hit in some areas.
Then if enough developers use the new “better for task X,Y,Z” thing then there is incentive/resource to gradually grow the stdlib capabilities to cover all the old use cases. And in doing so, often some of the initial expressiveness/focus is lost, so there’s now a bit more room for a new focused competitor to come in and repeat the process.
Some find this exhausting, or think that it represents “fad chasing” without creating any new value, but I think it’s just what progress/evolution looks like in a community-based system of knowledge like software languages.
To your point about lisp or ada being better - using an evolutionary metaphor, it’s possible for fitter genotypes to lose to less-fit ones through random chance. But in these cases it’s hard to tell whether it’s not actually the case that these languages, while better for some users/use-cases, are actually lacking something that makes them suitable for broader usage. (For example - if a paradigm was incredibly productive, but requires you to have a maths PhD, then you’d expect to see some users claiming the tools are better, at the same time as those tools failing to get broader adoption. I’m not making a specific claim here about lisp, just painting some possible fact patterns that could explain the phenomenon.)