王建硕先生自2005年创办客齐集网站以来,都是该网站的CEO。而他在2001年时,在上海交大Microsoft Club举办的.NET宣讲会,则非常经典。虽然已经过去这么多年了,我还是试着回忆一下。可能有些错讹,敬请见谅。
他穿着浅蓝色衬衫,带着细金属边框的眼镜,而又文质彬彬,看上去非常专业。讲话的声调不高,但很有说服力。
他先是介绍了.NET平台的理念。用统一的.NET Passport来登录,这样可以方便用户连接各个不同网站的资源。而即将诞生的C#和Visual Studio .NET,则是微软未来的战略重心,有了这些,就能让应用程序开发者更方便自如地借用该平台强大的功能特性来开发应用程序(具体内容记不清了)。然后,印象比较深的是,播放了一段有关smart phone的搞笑视频:美国(西雅图?)的大街上,某人摔倒了,骨折了,他马上趴在地上用smart phone通过.NET平台联系了他的私人医生。私人医生很快把他救了,然后通过.NET平台查到了他的历史病历(这个还是2D的,当年还没有3D的WPF)。最后经过好久,出院了,刚一出院,到了大街上又摔倒了。
顺便,还说到西雅图地震,并播放了视频:那年西雅图地震,甚至有的服务器摔到地上。但硬盘居然没坏(让我对硬盘的抗震性能又刮目相看)。
王建硕先生当时通过他非常熟练的操作,向我们演示了Windows、IIS、命令提示程序、Visual Studio .NET等各大神器。记得他在Internet Explorer里面输入http://localhost:8080/的时候,我正纳闷,还好有严奇琦解答:localhost就是127.0.0.1的别名,也就是本机,就算不连在网上,也可以通过这个地址访问本机上的服务器。还有,在cmd.exe(命令提示程序)的窗口里,输入“cd”空格,然后从资源管理器里拖一个文件夹图标到cmd窗口,路径就这样被拖放上去了,再一回车就切换到那个目录了。更新鲜的是,cmd里面执行“start .”,马上就在资源管理器里面把当前目录给打开了。简直用得出神入化。
记得有说道,C#编译器在Redmond由两位设计师(当中一位便是Anders Hejlsberg,而我当时还不太认识,后来经严奇琦解释才知道他就是在Borland发明Delphi的大牛,虽然早在1993年就已经跳槽到了微软;他之前做的Turbo Pascal编译器是市面上速度最快的编译器之一)花了5天时间就搞出来了。我当时心想,微软牛人真厉害,5天搞一个C#编译器。
C#编译器,也就是csc命令,也很有趣。因为头一次见C#编译器,所以从没想到命令行上的编译命令如此之短。当然,之前也是见识过,QuickC的编译连接命令是qcl,Visual C++则是cl。Borland C++是bcc,Turbo C则是tcc。csc让我想起了中国当时有一个教育软件叫科利华,英文也叫CSC(听说能自动解初中几何证明题的,但不知道是人工录制的还是真的算出来的)。
还说到,C#的默认编码是UTF-8。不仅VS.NET在开发程序时,默认使用的编码是UTF-8,而且,C#读写文件(通过StreamReader/StreamWriter)时,默认也用UTF-8。之所以用UTF-8而不是UCS-2的原因是,UTF-8里面一个英文字母占一个字节,而UCS-2(或UTF-16)里面一个英文字符占两个字节,所以西方人觉得不合算。最后我还提了个问题(提了什么问题记不清了,好像是和C#的JIT机制有关),便得到了一套Visual Studio .NET Beta 1光盘(第一版.NET的前身哦~~)和DevDays 2000光盘,在那上面认识了Steve Ballmer。
后记:大概是受王建硕先生的cmd里面start .的启发,我在大二、大三的时候写了不少命令行小工具。再到毕业后,工作时抽空写了一个rosh(Robbie's Shell,http://sourceforge.net/projects/winrosh/),以及更多的命令行小工具。
而网络非常精通的严奇琦,则在做计算机网络大作业的时候,写了一个Linux上的防火墙交上去。
另外,对于C#之父Anders Hejlsberg,我在2008年去Redmond的时候和他打了个照面,打了声招呼(好珍贵啊)。而高博同学则在2010年有幸邀请他参加访谈,并合影。这张珍贵的合影时常被他放在桌上,包括盛大创新院的办公桌上。