5 ms·
> The cost of the C# approach is that existing classes could not be gradually migrated to be generic; existing collections had to be effectively deprecated and
by codeka 12y ago
> The cost of the C# approach is that existing classes could not be gradually migrated to be generic; existing
collections had to be effectively deprecated and replaced, or a "flag
day" had to be declared where all the code (library and client) changes
simultaneously. These are not options for us. At the risk of being
obnoxious, C# was able to get away with it because at the time, they had
a very small base of existing users and code and were not yet successful
enough to have to worry about compatibility.
The reason C# was able to do it is not because they had so few users that a "flag day" was acceptable, it was because they went with the first option and rewrote all their collections. C# did genetics right the first time, and didn't end up in this bizarre type-erasing, half-ass world that Java find itself in today.