这才是大神级的程序员:Turbo Pascal编译器作者,Delphi、C#和TypeScript之父安德斯.海尔斯伯格Anders Hejlsberg在原东家Borland开发Delphi的故事!

原文:https://dn.embarcadero.com/article/30085
http://edn.embarcadero.com/article/29925

原始采访链接早已经失效了。。。。。

部分翻译:
DI: 显然,作为一个开发者和培训师你都是很成功的,去年在Borland 研讨会上你的获奖就是明证。你把你的成功归结于什么?对于那些立志要获得类似成功的开发者你有何建议?

LT: 像个动物一样工作并且要热爱你的工作!我把我的成功归结于理解软件生命周期的多个方面。我曾是技术支持工程师,QA工程师,和R&D工程师,所有这些都需要不同的观念和和各种层次的理解。 还有, 我非常幸运地在像Danny Thorpe, Chuck Jazdzewski, Anders Hejlsberg, and Steve Teixeira 这样的人的隔壁工作,他们天天都在教我软件开发的艺术。

DI: 在你作为开发者和培训师的职业生涯里,或许会有一些有趣的不寻常的经历,与我们分享一些吧。 

LT: 我真希望你从来没问过。我要告诉你两个故事,在一开始做Delphi 2的时候,我是Anders Hejlberg的 QA 工程师,做所有的OLE 和 COM有关的技术工作。当有一天做Delphi 3的时候,我从服务器上安装了这个构建版本,来测试Anders新加的一些东西,我不能正确的装载Delphi32.exe,于是我宣布这个构建版本 DOA(dead on arrival),其他的QA小组成员报告说他们用同样的版本可以顺利进行他们的测试,于是我重装了一次,但是仍然不行! 

我跑过几间办公室去问Anders和 Chuck可能会是什么毛病。他们两个都答应过来看看。我怎么也不会忘记那一天:Anders Hejlsberg 和 Chuck Jazdzewski在我办公室挨着坐着把Delphi32.exe装载到TD32 ,看着Delphi 的启动代码,几分钟后,Anders 说:“看,Chuck ,这个字节不应该在这里,那是一个紧凑记录。” Chuck 回答说:“是的,看来是在从网络安装的过程中它被移动了一个字节。”当时我站在他们的身后,我能想到的的所有事情就是我这件事中犯了个大错误,这很有趣,因为我觉得我做错了工作,我应该考虑在某个地方开一个热狗站而不是软件开发。这些人是神!


第二个故事发生在Delphi 3发售的那天。我已经呆在那里四天了,就是为了保证新的ActiveX 架构已经做好面世准备。 我在前几天就已经三次停止过这个产品的出品了。在我检查完最终版本时,我看见R&D 和 QA 工程师正在祈祷我不会发现任何其他问题,那样我们就可以有个应得的假期了。于是我决定和这个小组开个玩笑,我用Delphi 3 编了个ActiveForm,在它的OnActivat事件中有这样一句话:

MessageBox(Handle, 'Access Violation at Address 004458AZ '+
'in module SampleAX.dll. Read of address 000002F4',
'SampleAX', MB_ICONSTOP or MB_OKCANCEL);

我要小组的几个成员过来,并让他们好好看看内存地址,我演示了在任何容器里调入这个ActiveX 都会显示那个我创建的信息,这就证明我们还有问题。甚至在读过了内存地址里所提示的信息之后,也没有一个人能够告诉我为什么。最后,Danny Thorpe 来到我办公室看了看,五秒钟后他看着我说,“你真是只讨厌的小狗,Lino!”(在另一篇采访中,作者回忆:Anders只看了一眼就发现了错误,Chuck几乎同时发现,Danny则落后了几秒钟。其他人都没有找到错误所在)

DI: 作为一个开发者你觉得什么是你曾经面临的最大挑战?

LT: 能够为一个像Anders,Chuck,Danny,以及其他在这个层次上的团队做出贡献。

你可能感兴趣的:(Delphi,C#,Anders,Hejlsberg,borland,Delphi)