Go's backward compatibility is a great feature. Once you're done, you should be done. Only fix bugs and vulnerabilities. I had one project in Kotlin and quite often the IDE would nag me about upgrading to the newest standard of the language. I couldn't rewrite it in Go but I migrated it to plain Java, now it's only dependency upgrades. About Go's generics, I don't use them much but I do sometimes. I'm ok with them being limited, they solve enough problems. Where it comes to iterators, I haven't needed any in production code but I implemented a few "itertools" out of curiosity. The innards aren't the prettiest but are bearable, and the API came out simple.
Go's backward compatibility is a great feature. Once you're done, you should be done. Only fix bugs and vulnerabilities. I had one project in Kotlin and quite often the IDE would nag me about upgrading to the newest standard of the language. I couldn't rewrite it in Go but I migrated it to plain Java, now it's only dependency upgrades.
About Go's generics, I don't use them much but I do sometimes. I'm ok with them being limited, they solve enough problems. Where it comes to iterators, I haven't needed any in production code but I implemented a few "itertools" out of curiosity. The innards aren't the prettiest but are bearable, and the API came out simple.
Starts at 3:17