安德斯・海尔斯伯格(Anders Hejlsberg)非正式访谈录

今天终于见到了仰慕已久的大牛——安德斯·海尔斯伯格,微软总部之旅,算是没有白来。安德斯是世界级的编译器技术领导者,他最早为Algol-60语言撰写编译器,然后将自己撰写的Pascal语言编译器授权给了Borland公司,这就是举世闻名的Turbo Pascal,也是后来演化成为作为Delphi集成开发环境的基础语言的Object Pascal的核心。后来,在两大编译器和开发工具厂商的技术和产品之争白热化之际,比尔·盖茨亲自出面挖角,安德斯来到了微软,并在当年就形成了一套极有竞争力的架构——这就是.NET架构,而这个架构使用的工具语言也是他一手设计出来的——这就是C#语言。值得注意的是,自从安德斯来到微软以后,Borland的表现简直可以用一蹶不振来形容,Delphi也再也拿不出新东西来了,最后只能连同产品线CodeGear一起卖给名不见经传的Embarcadero公司,并最终于2009年被同样名不见经传的Micro Focus公司以7500万美元的可笑价格整体收购(CodeGear还卖了2300万美元,但原先Borland如日中天的时候,1亿美元可能都不到其一个月的营收);并且,Java框架也受到沉重打击,当初安德斯出手做出来Visual J++以后,升阳公司感觉到巨大的威胁,于是采用流氓手段起诉,以为这样可以苟延残喘——结果像Java这种没前途的框架不攻自破,连升阳公司自己也只能卖给甲骨文了事。由此可见,以安德斯一人之力,在三大世界级软件开发工具企业之间“走一走”,结果真的是它们都要“抖三抖”,并且有两家就这么抖没了。而在全世界的软件开发人员的社区中,安德斯的名字当然是如雷贯耳。而就在今天,我有幸走进了安德斯的办公室,和他进行了一番面对面的交流。

以下的谈话记录整理凭记忆给出,尽可能地保持了原貌。

我: Very glad to meet you, Anders.
安: Nice to meet you, too.
我: I notice that you are reading the book The Design of Design by Frederick Brooks. I happen to be one of the translators for that.
安: Really? To Simplified Chinese? Good to know that. I haven’t get enough time to finish it yet. How do you like the book?
我: It’s a nice book overall. The Mythical Man-Month opens my mind to recognize the engineering things in software after all, and it comes from the same author.
安: That’s very true. I am having a good expectation on this book, too.
我: Maybe I can give you a copy of the translated version in September.
安: Cool. Why not. Well we just shipped Dev10 which kept me busy for a while.
我: Yes. I heard that Visual Studio 2010 and Silverlight have just been released to the manufacturer. I am still getting used to it. Since you are the designer of Pascal compiler Delphi RAD tool, and also C# programming language. What made you change your mind of moving from Pascal to C-family programming language?
安: Well it’s just a business decision and I have little choice about it. (笑) It’s majorly because that we need a language providing enough strength and less study time on it. That makes us think that we shall build our new programming language upon the C-family languages.
我: Personally I like Pascal. It provides a couple of features which C does not support, such as nested functions and procedures.
安: Yes. Pascal is good in some aspects. But in C# you can also use other powerful facilities like lambda expression.
我: Such as is in F#?
安: No, I mean lambda expressions in C#. Which you can model functions without so strongly typed out from it.
我: That’s true. I like the features which I can use to model function at runtime, as is in Javascript.
安: Yes. C# is also heavily used in web development. Also I think Silverlight will last for long, so is Flash. Although nowadays some argue that HTML will beat both Flash and Silverlight. And I agree that Silverlight will die at last. But it will take much longer than people think. And when that time comes, Silverlight and so will already go to a further step and the situation will become different.
我: Well, I think the biggest problem of Flash as well as Silverlight is that they are not search engine-friendly. People can create interactive content by using them but it’s hard for the search engines to discover them.
安: That’s very correct. But before HTML itself becomes mature we can only live with them.
我: Personally, which is the most important feature you think it is with C# 4.0?
安: I would say it is dynamic programming, which ease the programming process and makes C# a dynamic language. However, in those really big and sophisticated projects, it is no good using dynamic programming.
我: Aren’t the biggest software projects still using C or those strongly typed languages?
安: (Think for a while) Yes, those biggest projects are still composed in C-like languages without dynamic programming feature. The dynamic programming is good for composing small- and mid-sized project but for large projects it is not.
我: Anders, you are from Denmark?
安: Yes, I am.
我: It’s so happened that I first knew my girlfriend when she was in Århus University and Bjarne Stroustrup, the inventor of C++ also studied there. Is Århus your hometown?
安: No I came from København. But my father is from Århus, and I still have my family there. For some reasons, Danish creates many different programming languages.
我: I am glad to know that. Anders, will more languages be introduced into .NET framework, such as Python, Ruby and so on?
安: There is already .NET version of Python, which is IronPython.
我: But is it developed by Microsoft? As far as I remember it is developed by 3rd party?
安: Well, it is not included in Dev10, but it’s majorly sponsored by Microsoft employees.
我: I see. Thanks for your information.
安: And I don’t think there will be many languages added into the .NET framework language family. Instead, we make steps in the existing languages.
我: So there will be C# 5, 6 and more?
安: Definitely. Matt Warren and I are working on the architect of the C# programming language.
我: I am looking forward to them. And, Anders, thanks for your time and I hope to see you with my new book.
安: You’re welcome and you may drop me messages to see whether I am around.

安德斯身材魁梧,声音宏亮,非常热情,极有大师风范。他在说话的时候,喜欢先仰头思考几秒钟。十五分钟的访谈结束以后,我向安德斯赠送了我自己的译作:《C++:99个常见编程错误》和《微软的软件测试之道》,安德斯饶有兴趣地翻看了一下,说:“Sorry I don’t understand Chinese but I am thinking of learning it.”并把它们放到了自己的书架上,看到自己写的书能放在偶像的书架上,心里就多提多高兴了。然后,我和安德斯合影留念。希望能够在The Design of Design的中文版译完以后(这里提前广告一下,本书将于2010年9月由机械工业出版社华章图书公司出版),能再来和安德斯会面,并进行更深入的交流!

 

 

你可能感兴趣的:(pascal,turbo,编译环境,开发语言,安德斯・海尔斯伯格,微软总部)