Heath's Blog

There is no end, it is just the beginning! - A Game Developer's Notes

听Lippman讲座



对Lippman的印象:

第一次在现场看到Lippman,比以前在视频上看到的老了很多,头发少了很多,胡子也没了,说话也有些含糊不清了,但年龄的增长却丝毫没有抹去他的睿智和朝气。他是一位非常smart、对乔布斯赞赏有加,很喜欢用Iphone和Ipod的老头儿。在Q&A环节他顽皮地坐在讲台地板上回答问题,让我看到了大师可爱的一面,也让我联想到了Iphone发布会上的乔布斯。
内容:
讲座的主题是下一代大规模软件开发中的挑战与解决方法,但Lippman却讲的是目前大型软件(诸如MMOG)开发的问题,以他在皮克斯动画公司解决的一个实际问题入手,阐述他对此类问题的解决哲学。
问题:
为什么贝尔实验室用以取代Unix的Plan 9会失败,为什么宇宙探测器自动控制系统会失败,为什么他们做的MMO——God & Hero只能承载不到100人?要知道,这些团队的成员都是非常聪明,并且有着很绚丽的工作业绩的牛人。
原因:
原因在于随着团队规模的膨胀,越来越多人参与到其中,代码规模会呈几何级增长,直到超出了个体的掌控和理解能力,团队中已经没有一个人能够完全理解整个系统,这时往代码库中添加代码,没有一个人能够肯定这将给系统带来什么。
解决方法:
没有通用的解决方案,但有些原则:
1)系统不要超出团队成员的理解和掌控能力范围;
2)不赞成一个人从头到尾负责一个模块,因为每个人的擅长不一样,思考问题的角度和解决问题的手段也不同,让不同的人开发一个模块能够让该模块满足多方面的需求(从底层优化到对上层抽象的接口);
3)从小到大的开发方法,实际上就是迭代的开发,从具有简单功能的初级系统迭代到功能完善的大系统;
4)不管用什么开发技术,程序=数据+算法的核心理念是不变的。程序能够跑多快,最终取决于数据的访问速度,而层层抽象往往会降低数据访问速度。因此,首先应该保证数据的访问速度,在此基础上,才考虑封装和抽象;
5)自己擅长的技术和方法,不一定就是解决问题的最好的、最合适的方法;
6)Lippman最引人入胜的开发哲学——向大自然学习。自然界便是一个异常复杂但设计良好的系统:原子组成分子,在由分子组成蛋白质,进而组成DNA,最终形成生物。

 

Lippman给我的启发:
1、敏捷开发方法已经深深地影响了Lippman,这一点可以从他对于迭代开发和提交可执行代码的推崇可以看出。同时,结合以前读的书以及听过的讲座,有一个意识在我头脑中越来越清晰了:大师在技术领域摸爬滚打了几十年之后,必然会从哲学、生物学、心理学的角度来解析软件开发,并试图解决开发过程中的一系列问题,因为他们相信这才是认知的本源。虽然Lippman没有很直白地给出大规模软件开发问题的解决方法,但是他给出了一条途径——从自然界寻求解决方法,就像万物的构成:原子->分子->蛋白质->细胞,从小到大,层次分明。

2、面向对象技术的诞生只是解决了C/Pascal等面向过程语言的一些问题,C++在诞生时,设计和实现者并没有奢望满足将来不确定的需求。然而,在C++诞生二十多年之后,我们居然很坦然地认为面向对象技术是理所当然,是符合自然规律的,这明显是个悲剧。

3、不要迷你大师,大师只是一个传说。当Lippman在回答cloud computing何去何从时,他只是谦虚地说:他只是对C++比较了解,在其他领域,他可能还不如在座诸位。

posted on 2009-12-05 16:19 Heath 阅读(3757) 评论(6)  编辑 收藏 引用 所属分类: Studying

Feedback

# re: 听Lippman讲座 2009-12-05 19:56 唐风

【他只是谦虚地说:他只是对C++比较了解,在其他领域,他可能还不如在座诸位。】
光这一点就让我肃然起敬。  回复  更多评论   

# re: 听Lippman讲座 2009-12-05 20:59 暗涌

深圳的同学们真爽。。可以现场看到。。  回复  更多评论   

# re: 听Lippman讲座 2009-12-06 11:38 rskr

呵呵  回复  更多评论   

# re: 听Lippman讲座 2009-12-07 11:31 pi1ot

Plan 8? Plan 9吧  回复  更多评论   

# re: 听Lippman讲座[未登录] 2009-12-07 21:16 Heath

@pi1ot
是Plan 9,谢谢指出  回复  更多评论   

# re: 听Lippman讲座 2010-05-26 10:44 月下圆舞曲

腾迅举办的讲座啊~~能见到大神真是太让人羡慕了  回复  更多评论   


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理