| If you value compile times (and you actually think generics make a difference, I do not) you would not make slices and hash tables generic like in Go, would you? If you wanted a simpler language, you would not make slices and hash tables generic, would you? If you wanted lower learning curve, you would not make special case generics would you? If you wanted to wait, to get the perfect generic solution because a sub-optimal one is not good enough, you would not create a sub-optimal non-perfect temporal solution with special-cased generics for certain data types would you? If you argue that I am loyal and not honest, and therefore like generics because it is used in my favorite language, I think you are wrong. The languages I use most of the time have a huge design flaw. It is called null. But when they created Go they chose to (except in special cases) get rid of (useful) generics instead of the disaster that is null. The problem is that Go has not learnt from other languages. It is too imperative, not expressive enough, lacking in static typing and horrible at fault handling. |
It's pretty difficult for generics not to adversely affect compile times. This is especially so if you actually emit specialized code for each type.