作者访谈
与Charles Petzold谈论.NET与C#
Charles Petzold是一位专职作家,他从1985年开始为Windows编写程序,并开始从事有关Windows程序设计的写作工作。他的Programming Windows一书(微软出版社于1988年出版了该书的第一版,现已出到第五版)指导了一代程序员如何为Windows编写应用程序。Petzold最近完成了为微软出版社所作的Programming Windows with C#一书。在这本权威的Windows系列书籍中,他教导读者如何使用Visual C#来建立单机或分布式应用程序的动态用户界面和图形输出。在这次访谈中,Petzold与大家共同分享他对面向对象程序设计思想的想法和他对C#的新的浓厚的兴趣。
MS: 您的新作Programming Windows with Visual C#与经典的Programming Windows相比有何不同?
CP: Programming Windows with C#是一本全新的书。五个版本的Programming Windows已经向读者展示了如何使用C语言和纯粹的Windows应用程序编程接口(API)来书写Windows程序。在Programming Windows with C#中,我使用了一种新的面向对象的程序设计语言和一种叫做Windows Forms的类库,它们都是全新Microsoft .NET Framework的一部分。
我最初开始使用Windows Forms和C#是在2000年的夏天,我几乎是一下子就喜欢上了它们。Windows Forms与我所经常设想的一种理想的面向对象的Windows编程接口十分相像,而且C#是我现在最喜欢的程序设计语言。尽管我主要还只是在与这个软件的Beta版打交道,写作这本书的过程仍然是一段愉快的经历。
MS: 那么这一切把C++和MFC放到了什么位置?
CP: 我肯定它们仍然很有强势。我认为C和C++会继续在许多商业应用程序中使用,尤其是那些需要精简代码和高速度的场合。当前来说Windows Forms的目标是企业级的应用程序,不过这一点也许不会持续太长的时间。一旦程序员开始试着尝试使用它,我想他们一定会喜欢它并更多的使用它。
就我个人来说,我从来没有喜欢过MFC,我也从来没有写过关于MFC的作品。MFC仅仅是在Windows API上一层面向对象的薄薄的封装。当然,正是这薄薄的包装才使它能够快速的运行。但是真正面向对象的Windows程序设计方法发展至今,我认为Windows Form最终达到了这个目标。
MS: 您对我们的程序员有什么建议吗?
CP: 尽可能多的去学习。C、C++和C#三者是如此的相像,程序员没有理由不能熟练运用它们三者。学习Win32 API可以使你成为一个更好的MFC或Windows Forms程序员。
有时候,我们程序员会把使用不同语言或编程接口的人分成不同的阵营。我自己已经被分到了C和API的阵营。这的确很愚蠢。语言和编程接口都是工具,你的工具箱中工具越多,你的编程能力就越强。
MS: 你会纹上一个.NET的纹身来配合你右臂上的Windows标志的纹身吗?
CP: 当我从事Windows程序设计有十年的时候,我纹上了那个Windows的标志。所以,你可以在2010再来问我这个问题。
Charles Petzold于1986年12月在《微软系统杂志》上发表了第一篇有关Windows程序设计的文章。1994年5月,由于他对Windows能取得成功所作出的巨大贡献,Petzold成为获得Windows杂志和微软公司颁发的Windows先锋奖的七人之一(也是其中唯一的作家)。Petzold也是唯一一本介绍计算机内部工作原理的书:《代码:隐藏在计算机硬软件背后的语言》的作者。他现在正在进行有关软件起源与历史的研究工作。