Hacker News new | ask | show | jobs
by contingencies 2008 days ago
prevent stagnation

Or irritate a long term user base? PHP has been very successful long term, largely I would argue because of maintaining almost complete backwards compatibility.

2 comments

Preventing stagnation and maintaining backwards compatibility aren’t the same thing. Go has a very strong backwards compatibility guarantee, and since they made the guarantee the entire compiler has been rewritten and there have been plenty of additions to stdlib.
Yes, it's possible just not usual to replace everything without effecting interfaces.
but gems in stdlib work fine even for that: if the next version of the gem breaks compatibility the next version of ruby is free to import it, and you can keep using the old interface with new ruby by locking the dependency to the old gem version.
> Or irritate a long term user base?

How?

> PHP has been very successful long term, largely I would argue because of maintaining almost complete backwards compatibility.

Gemification of the standard library has very little impact on backwards compatibility; moving out of stdlib into default gems. Moving to bundled gems is transparent to code but has to be taken account of in build infra, moving out past bundled gems is where it would become visible to consuming code, equivalent to being evicted from stdlib before gemification.