昨天在这里看到Bruce Eckel就C# 泛型采访Anders Hejlsberg的时候,就觉得Bruce Eckel采访到最后有点怒了。果不其然,今天就在他的blog上看到了这篇文章,我个人觉得他的话还是很中肯的,如果你也像我一样着迷与C++的泛型机制的话,也应该能理解Bruce的话。
顺便回复一下,昨天我那篇C# 泛型: 我要说完全的失望啊....!!!!里的回帖。
就目前我所观察到的内容(我详细看了C#泛型所产生的IL代码,并且在写泛型代码之前,已经通过这篇文章对C#泛型的实现机制有所了解),我以为C#是完全可以实现与C++ Template等价泛型,要做的只是编译器级的支持,实现的难度并不是很大的,根本不存在"C++的泛型能力来至于编译时。 而C#泛型能力来至于运行时的。"这样的问题。我想这一切的原因似乎只能归结到一种偏见,在那些崇尚纯粹面向对象的人眼里,C++ Template那样的机制无疑是异端邪说,断然不能加入像C#这么优雅的OO语言里的,即便迫不得以加了,也要对它裁剪一番,免得像在C++里一样,反让泛型抢了OO的风头。
如此说来,java刚出来时,叫嚣着“Java抛弃了C++ Template的复杂性,无疑进了一大步”的那些人的想法,还真是一点都没有变啊。
转载于:https://www.cnblogs.com/Hush/archive/2004/03/23/3980.html