专访孙辉:从程序设计不及格到挑战软件开发禁地(上)

相信参加过 CSDN2007 英雄大会,或者关注过这场大会的朋友们一定会对大会第一天的“创业论坛”记忆犹新。在这个创业论坛中请到的各位嘉宾都是有着深厚沉淀的前辈们。

循着这次大会的痕迹,我们来到了 孙辉 老师的面前, 孙辉 老师曾是大学数学系的副教授,因为对软件开发无限的热情很早便投入对软件开发的研究行列中。对Windows有很深的认识,可以说是见证了整个软件行业在中国迅速发展的全过程。

这次我对 孙辉 老师进行采访除了因为他对软件开发的领悟是沉甸甸而有厚重感的原因之外,还因为他是Tangram的创始人。那你有没有想到过,这位追逐软件开发十几年的老程序员在他的大学时代计算机程序设计是不及格的;又有没有想到过当初的选择只为改变清贫的生活,我们讲述 孙辉 老师那极具份量的软件开发历程就如同翻开了一本厚厚的中国软件历史书。


孙辉 老师将自己的软件生涯划分成了六个部分向我们描述:

第一部分,学习软件。大约是1984年的时候,我们学习最基本的Basic语言,很不好意思,我的成绩是不及格,其实我的程序逻辑与我的思维习惯差别极大,即使现在也是一样,总是数学逻辑居于首位,因此,我走到软件界其实是一个人生玩笑。

我的大学同学也许都想不到我会从事软件开发。真正开始学习软件开发是1991年末的时候,作为年轻的数学老师是很清贫的,因此,学习软件开发的动机自然是改变一下生活状态,但事与愿违,我一直是以学习数学的方式学习软件,因此,一直没有改变生活的清贫,反而钻牛角尖,一直在努力搞清楚一些比较系统级别的东西,与实际的软件项目距离甚远。

这个阶段之所以难忘是因为女儿出世,我必须承担相当部分的教学工作(包括我爱人的),许多学生都是我最初的老师。我学习的起点就是Windows SDK,没有C语言基础,因此,啃下来这个东西,是我最得意的一件事情。

1994年,当我在大学给计算机专业的研究生开设Windows SDK课程的时候,听课的学生中就有最初给我讲DOS操作系统的学生。我对Windows底层的理解基本就是那个阶段奠定的基础。

第二部分,Win95的面世。Win95是影响我编程的最重要的东西,最早知道这个东西是通过一本很大的英文杂志,就是著名的“BYTE杂志”,这个杂志很大,每一页都相当于现在的报纸页面的大小,当时Win95还没有正式命名,其Code Name是“Chicago”,19948月,我是通过两套坏损的最早的Beta版安装盘将这个系统安装成功,尽管有几十个文件失效,但还是如愿以偿了,我给研究生上课的系统,就是用这个Chicago,当时听课的学生感觉到非常惊讶,有立体感觉的窗体,与Windows 3.1形成了鲜明的对比。

这个操作系统使我进入如醉如痴的状态,那个阶段,我对VB3.0VC++1.0,以及Borland C++ 3.1等已经非常熟悉了,然而新的Win32接口却十分陌生,因为Chicago仅仅是测试版本,相关的SDK是无法得到的,想起这些,真是感觉今天的开发者是多么幸福。

1995年我们能够得到的面向Win32的开发工具就是所谓的Visual C++ 2.0,是Microsoft

Windows NT提供的,但还不支持的Win95 Common Control,因为当时的NT版本是3.1。即使Borland 及时提供了新的C++版本,但对Win95的支持也是很有限的,事实上,Win95后不久,Microsoft就有了Visual C++2.12.22.3版本,但局限当时的条件,我们无法得到。

我最终放弃Borland C++是因为Visual C++ 4.0的出现,尽管今天有了Visual Studio 2005,但我最难忘的还是Visual C++ 4.0,这个编译器使得我几乎放弃了所有的其他东西,包括DelphiVisual BasicBorland C++等等。

我最早接触MFC类库应该是学习Microsoft C/C++ 7.0的时候,那个时期MFC还非常的“小”,Microsoft还没有正式推出Visual C++,但CObject的基本轮廓已经形成,我对MFC突破性的理解肯定是通过VC 4.0版。1995年到1997年,是我对COM技术深入理解的奠基性性质的阶段,对IE编程技巧的积累基本就是那个阶段形成的。

第三部分,应该是1997年的后期,这个阶段我开始接触实际的大型项目,这个阶段差不多在北京交通部有接近一年的蹲点,当然,是以个人的身份,不能耽误学校的工作,因此自然很辛苦,每个月都要往返大连、北京。真正意义下的WWW编程是这个阶段开始的,用C语言编写Microsoft ISAPI扩展,在当时是很具有挑战性质的工作,那个阶段,没有今天的ASP技术,因此动态网页实现是用C++实现的,比常规的CGI要有技术难度。1999年的时候,我基本形成了以VC++为主,但也可以熟练驾驭其他诸如Borland Delphi/C++Builder),以及VB等流行的开发环境的个人色彩比较浓厚的技术特色。

第四部分,应该是19997月,这个阶段我正在负责国家税务局的出口退税审核系统(金税工程的子系统),当时我在海外申请了VBA SDK,这是当时的梦想,我在1996年接触IE4早期Beta版的时候,就对脚本语言印象很深,VBA最初的印象是来自于Office4.0,但使我感到震惊的是1996年流传出来的Excel97 Beta版,其中VBA独特的IDE给我留下很深的震撼性的印象,我潜意识里有强烈的感觉,那就是开发自己的能够集成VBA引擎的软件系统。

VBA SDK使我领略了软件框架的魅力,也的确感觉到自己技术深度的肤浅,曾经无所不能的“感觉”,忽然间荡然无存了,1999年 的那个阶段,给我最深的感受就是在技术上你真的看到大海了,那种个人渺小的感受,我至今难以忘怀。国家税务局的项目,对我个人而言是一次痛心的失败,但项 目应该是一个成功的项目,这个项目使我充分领略了技术与项目是完全不同的两件事情,虽然我可以延续这个项目,我谢绝朋友的挽留,选择了北京。

第五部分,2001年后。退税系统在2001年九月完成了,这个阶段最大的收获是使我认识到软件架构体系的逻辑结构。Tangram的萌芽状态就是这个阶段的产物,由于这个项目的复杂度,因此,在当时的条件下,我们能够实现VC开发的主框架与VB开发的业务界面动态对接应该是一件很不容易的事情,我也在这样的项目中实际的运用了多语言结合的编程模型,因此,一个懵懂的技术框架悄悄的形成了。

20008月退税项目一期结束后,我开始考虑这个新的技术框架的结构,20019月,我带着这个框架的雏形来到北京,做了部分走访、调研,当时我住在北京灵图软件公司,那个时期灵图还是一个创业初期的年轻公司。离开北京后,我的决心差不多确定了,这个技术框架就是现在的Tangram

第六部分,北京创业。北京创业是非常艰难的,2002年,携妻带女我们一家迁居北京,北漂状态一直持续着,伴随种种艰辛,Tangram如同我的另外一个孩子在这样的环境中艰难的成长着。我的家庭、我过去的学生们以及一些科学院的前辈们(例如软件所的 何川 老师等等)给我极大的支持,直到今天他们依然是我坚定的支持者。

Tangram到北京的时候,已经具备最初的雏形了,但作为一个新的构思,2002年的北京能够理解我想法的人很少,随着公司的失败,我必须面对各种各样的新问题,这些问题许多北京的创业者都必须无奈的面对,Tangram的技术转折点也就是出现在这个阶段。由于公司出现问题,我与Microsoft的两个合同无法执行,进而我在Tangram系列中的一个关键的技术,即通用的VBA集成开发框架无法市场化。

2003年九月,我不得不重新进入Tangram的新一轮开发,这个阶段是挫折、与沉淀并存的阶段,没有经历的人永远也无法体验,有人问我提高技术修养的关键是什么,我很难回答,如果必须回答的话,那么就是这种经历,缺乏这种经历,你很难上一层楼。这个阶段应该是最难忘、最有成就感以及最有收获的阶段。

我几乎是屏住呼吸听 孙辉 老师讲完了这段历史,“我过去很喜欢下围棋,现在已经差不多荒废了,因为时间基本被开发工作瓜分了。偶尔翻翻书架上的数学书,但往往产生一丝苦涩,毕竟一个永久的遗憾永远无法挽回了。”

不过软件专业与数学的渊源颇深,特别是基础数学中的各种数学结构,大体都是很复杂的架构体系,因此,就软件架构而言,数学专业对它有天然的亲切感,所以其实 孙辉 老师也并没有离开数学太远。对于自学编程语言, 孙辉 老师送给大家最珍贵的经验是“执着与经得起失败”,好的开发者必须执着,同时正确的面对失败。(未完待续)

究竟孙辉老师带给我们的Tangram是怎样的一份惊喜,敬请期待下一期专访:Tangram挑战软件禁地 构思插件体系引擎

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值