The Artima Developer Community
Sponsored Link

A Conversation with Anders Hejlsberg
by Bill Venners with Bruce Eckel
August 4, 2003


In this eight-part interview, Anders Hejlsberg, the lead designer of the C# programming language, discusses many design choices of the C# language and the .NET framework.

Part I: The C# Design Process
Anders Hejlsberg discusses the process used by the team that designed C#, and the relative merits of usability studies and good taste in language design.

Part II: The Trouble with Checked Exceptions
Anders Hejlsberg discusses versionability and scalability issues with checked exceptions.

Part III: Delegates, Components, and Simplexity
Anders Hejlsberg discusses delegates and C#'s first class treatment of component concepts.

Part IV: Versioning, Virtual, and Override
Anders Hejlsberg explains why C# instance methods are non-virtual by default and why programmers must explicitly indicate an override.

Part V: Contracts and Interoperability
Anders Hejlsberg discusses DLL hell and interface contracts, strong names, and the importance of interoperability.

Part VI: Inappropriate Abstractions
Anders Hejlsberg and other members of the C# team discuss the trouble with distributed systems infrastructures that attempt to make the network transparent, and object-relational mappings that attempt to make the database invisible.

Part VII: Generics in C#, Java, and C++
Anders Hejlsberg compares C#'s generics implementation to Java generics and C++ templates, describes constraints in C# generics, and describes typing as a dial.

Part VIII: CLR Design Choices
Anders Hejlsberg discusses IL instructions, non-virtual methods, unsafe code, value types, and immutables.

Sponsored Links

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use