Anders Hejlsberg 在 Bill Venners 及 Bruce Eckel 的專訪下暢談了 C# 的設計理念,一共有八篇訪文,我直接條列如下以方便點閱。
- Part I: The C# Design Process
- Part II: The Trouble with Checked Exceptions
- Part III: Delegates, Components, and Simplexity
- Part IV: Versioning, Virtual, and Override
- Part V: Contracts and Interoperability
- Part VI: Inappropriate Abstractions
- Part VII: Generics in C#, Java, and C++
- Part VIII: CLR Design Choices
訪問的內容篇篇精彩,我個人尤其佩服 Anders 設計 C# 時採行的務實 (pragmatic) 觀點。事實上,了解「一個程式語言為何被如此設計」消極地能避免語言特性的誤用,積極地能讓你寫出更好的程式。“Know Why” 絕對是精通一個語言的必經過程。
這裡是另外一篇更早的專訪 (08/01/2000):Deep Inside C#: An Interview with Microsoft Chief Architect Anders Hejlsberg
再過一兩年等 C# 的規格穩定下來,不曉得 Anders 是否會寫一本 “The Design and Evolution of C#”?