3 ms·
There’s a big difference between a change which modifies the languages API, and one that just modifies the implementation of the API. Given GoLangs compatibili
by avianlyric 10mo ago
There’s a big difference between a change which modifies the languages API, and one that just modifies the implementation of the API.
Given GoLangs compatibility guarantee, any mistake in the design of a language API has to be preserved forever, and is very difficult to improve.
But implementations of the GoLang spec and language APIs are much easier to evolve. There’s nothing preventing the Go team rolling out future improvements to deal with this issue, without having to worry about long term consequences. There’s also nothing preventing other implementations of the GoLang spec choosing a different approach.
- Someone 10mo agoI think all language definitions have lots of implicit non-functional requirements. When the main implementation of a language changes one of them, that technically isn’t a breaking change, but it still is one, as existing programs mays have to be changed in order to keep satisfying their own non-functional requirements.