Some more .NET/C# Generics Research Project History

Another history email, discovered while poking around for some old image files. There are some other entries in this series here.

In any case, In 2004 I sent around a note to our research lab about our coding work on .NET generics. It began:

I am enormously relieved to announce that the Cambridge Generics team (Andrew, Claudio and myself) have essentially finished all of our coding work and bug fixing for the Whidbey Beta 1 release of the Common Language Runtime (which is included in the .NET Framework, Visual Studio, …)This milestone is called “ZBB” – Zero Bug Bounce, which means there are no current bugs remaining to be fixed for that milestone.  We actually reached ZBB a few weeks ago, and then some more bugs came in, but now we’ve fixed those too.   

One of the interesting things was the table of bug fixes, included below. I'm including this for a couple of reasons

  • From a Microsoft Research perspective, I want us to build an institutional understanding of technology transfer - how does it succeed?  There are various models, but I think the statistics show how in this case the Microsoft Research team "went the extra distance" to make sure this feature landed well in both C# and the Common Language Runtime.
  • From a research perspective it's important to understand how language features land in "industrial" languages.
  • From a language/runtime perspective, its interesting to see the relative difference in the bug counts, a strong indication of where the complexity in implementation lies.


Here are the compulsory bug-fix stats, ... Some of these bugs hide an awful lot of work… 

                                                                    Whidbey M1 (Q3-Q4 2002)           M2 (Q1-Q2 2003)           Beta1 (Q3,Q4 2004)

CLR/C# Generics bugs fixed by Cambridge                   39                                258                             229

CLR Generics bugs fixed by CLR team                          2                                  13                               ~45

C# Generics bugs fixed by C# team                               7                                  75                               27

Bugs Opened by Cambridge                                          36                                128                              145

        Total bugs fixed with the word “generics”…                    58                                510                              1319

 And if you're about to ask, no we didn't implement the support for generics in Visual Basic. That was done by John Hamby, to whom I still owe a Ferrari. And to all those using C#/VB/F# generics, I hope you're enjoying those bug fixes 🙂


Comments (1)
  1. Papy Normand says:

    I am not surprised about what you wrote : having developped in several languages, i have discovered that people using C and derivate languages like C++,VC++,VC# were usually anxious to avoid errors in their applications and always trying to test and retest their codes. Except for APL ( really anecdotal ) and Pascal developpers, too often the persons using COBOL,Basic,VB were not aware of the importance of tests nor how to detect errors. On the forums, too often i am seeing VB developpers ignoring try…catch blocks or putting in the catch part, an useful line like Console.WriteLine("Problem here".Where ? they don't know, Exception and derivated like SqlException have a Message or Source property ? The answer is too often , what's the use these properties ?.

    Maybe ( i hope it is not the truth ),are  people using C# or developping for C#  more professional  than their colleagues for VB ? As an old developper, i prefer to consider that as impossible and stupid.

    Anyway, congratulations for the work the C# team.

Comments are closed.

Skip to main content