Click a question to view the answer
(best viewed in Windows Media Player 9 series)

Questions

  1. So Anders, tell us a little bit about your background, and what you do in Microsoft?
  2. What made you wanna jump ship to Microsoft?
  3. So, C#, when the folks at Microsoft, the big leagues, came to you and said, Anders design for us our next generation language. What core principles, I mean what three things I guess, were really in your head as you sat down and designed out C# and what it should do and what it should not?
  4. People have suggested that C# is sort of Delphi v2.0. Do you think that is a fair assessment? Is a lot of like breaking in the component model as part of the language, is a lot of that experience from having done some of the stuff with Delphi at Borland?
  5. Generics seemed to have been fairly important on your agenda of language items. C++ does not get semblance until 3.0 and Java does not get everything until arguably, the fifth release, now sixth release of Java. Why is generics so important? Why do we care?
  6. We've seen C++ templates. When templates first shipped it was always stack of T, that was the big draw, and then we turned into the standard template library, and we turned into the traits, idiom and so forth. Do you think that there is more to generics, there is more emergent behavior in generics than just collections of T and was that going through your head when you sat on designed some of this stuff?
  7. You've talked a lot now in the last couple of minutes about type, and it seems that type seems to be pretty important in Anders' world, and I am sort of curious why you think the notion of the type system is so important? We're seeing a lot of loosely typed languages like some of the Groovy and some of the other scripting things and there seems to be a lot of traction there. Why do you think type is so important. What do I lose if I go to typeless?
  8. Can't we infer that from syntax? Can't I look at, you know, in terms of evaluation and so forth?
  9. Do you think in the practical world of people getting stuff done, do you think there's room for multiple languages on a project? Do you know think I can take C# for where I need the strong typing stuff and pick, say JScript .NET where I need the loosely typed stuff or some other language? Do you think that is a viable option?
  10. So what languages were going through your mind as you designed C#?
  11. Now F# are you familiar with that?
  12. So the question becomes why as a guy who wants to ship software, why might I be interested in F#?
  13. When you were designing C#, how much influence did the design of the C# language have on concepts in the runtime and vice versa. It already is kind of accused C# as being the first among equals. Were you in a position where you could dictate to the runtime theme or were they dictating to you or was it kind of a give and take in both their actions?
  14. Why is introducing a new keyword such a pain? I just never understood that.
  15. So we have talked a little about generics, which is obviously sort of the top of the list of features coming in 2.0. Can you give us a sort of a high level overview of what else is there?
  16. Is this somewhat similar to Java's anonymous classes?
  17. Looking beyond C# 2.0 what are some of the things you would like to see, time permitting, technology permitting, customer demand permitting folded into C# 2.1, 3.0 and beyond?
  18. What is your favorite feature in C# either 1.0 or 2.0 or beyond? What really gets you up in the morning and says yeah! I did something cool here!
  19. Any long-term future plans, you are going to be at Microsoft for the next five years? Because we see that you change companies every 13 years or so?
  20. Well since we just mentioned databases we have got the other big data store which is XML. Any thoughts on integrating XML into a language?
  21. Speaking of future directions and so forth, there has been a lot of buzz going on in the Java community about aspects, and aspect-oriented programming and so forth and I'm curious as to hear your thoughts. Will we see some of those things show up in C# or how do you feel?