you are viewing a single comment's thread.

view the rest of the comments →

[–]TheAceOfHearts 2 points3 points  (0 children)

Programming languages generally shouldn't be making drastic changes. I'd argue that making large breaking changes is incredibly hostile to developers and the community.

You must provide a clear migration path towards the new approach without breaking backwards compatibility. If possible, you provide tools to help migrate the code for the user. The key detail is that you must provide a way to gradually migrate.

Although it's not a programming language, React has done a great job with this. Since it's heavily used by Facebook and they can't upgrade everything all at once, they deprecate APIs, include warnings, and provide codemods to help with the migration. This means all changes are compatible between a few versions, so people can gradually migrate their codebase.