Could someone give a brief introduction to what this sentence means? I have absolutely no idea about any of it.
Could someone give a brief introduction to what this sentence means? I have absolutely no idea about any of it.
1. leave generics out : the c way (slows programmer)
2. do it at compile time: c++ way (slows compilation)
3. box/unbox everything implicitly: java way (poor perf)
Microsoft's current JIT/NGEN, generate a single version for reference types and a separate version for each value type. So a mix of Java/C++ approaches.
Not sure what the new JIT/NGEN compilers, RyuJIT will use.
I also don't know what approaches are taken by Mono, Bartok and IL2CPU, but they might be similar.
I was going to say that the c# compiler is fast enough despite this, but then I remembered that one of go's selling points is that the go compiler is blindingly fast compared to languages such as c#. Perhaps maintaining that performance with generics is a real issue.
Many old timers like myself can remember the blazing fast compile times of Modula-2 and Turbo Pascal compilers in MS-DOS systems.
Go compilers also lack a strong optimizer, which is tends to slow down compilation.
Using a half-baked model and implementation now boxes the language in later on.