咨询培训 著译作品关于荣耀 Bjarne Stroustrup 网络资源 九炉堂日志联系站内搜索首页

Bjarne Stroustrup

Texas A&M Engineer Research Magazine专访Bjarne Stroustrup

荣耀 张成 译

www.royaloo.com

假如你是一名严肃的程序员,你就必然听过Bjarne Stroustrup的名字。现在他正和计算机科学系的新生分享对计算机编程的热情。

Bjarne Stroustrup创建了C++编程语言。

他是一位国家工程院院士,Sigma Xi William Procter科学成就奖得主,计算机科学系终身聘用教授(??)。

他写过三本权威性的著作(《The C++ Programming Language》第四版至少有19种语言的译版)。目前,他专门为工程学新生开设了一门课并亲自讲授(他还帮助编写了教科书)。

“当看到有那么多的计算机科学专业的学生(包括来自顶尖学校的学生)缺乏必需的设计和实现高质量软件的基本技能,我决定规划第一个程序设计课程。” Stroustrup说,“很多人扭曲了软件开发。他们认为软件发开就是‘编程’,编程就是闭门造车,为那些难以理解的代码中的疑难杂症废寝忘食。有些人喜欢那样,但是大多数人并不觉得那样有吸引力。我不认为那样有吸引力。”

“这种扭曲的观点导致一些人完全躲避学习计算机科学。” 他说,“结果导致一些人不愿意去做软件开发,而将精力集中于不涉及代码的专业课上。最糟糕的是,这还导致那些确实想做软件开发的人在从事软件开发工作时表现得效率低下和自我毁灭。”

当Stroustrup自己是个初学者时,他是个“只想着完成工作的急躁的初学者。”编程纯粹是为了完成工作任务,直到他为之着迷。

“那是一个重大的转变。” 他说,“我想这类似于从喜欢读小说转变到好奇为何小说如此有趣,然后学习作者如何使该主题变得有趣,最终让自己成为一名作者。”

1975年,他从丹麦奥尔胡斯大学获得了数学和计算机科学Cand. Scient.(相当于硕士学位),1979年,他在英国剑桥大学获得了计算机科学博士学位,然后他离开剑桥去了新泽西贝尔电话实验室计算机科学研究中心,在那儿他创建了C++。

C++是一种支持面向对象编程(以及其他编程技术)的语言:它的指令触发一个程序中分离的模块或对象的操作。像Apple iPod用户界面、Adobe Photoshop、火星探测漫游者(Mars Exploration Rovers)的可视系统以及Microsoft Internet Explorer等软件都是用C++编写而成。

“我们,换句话说,ISO C++标准化委员会,在2003年开始修订标准工作。” Stroustrup 说,“在此之前,我们基本上撇开C++标准不管,以便给编译器实现者和用户跟上1998标准的机会。我们希望C++0X成为C++09。为实现这一目标,我们需要在明年年底前修改一套语言和库的特性。”

对初学者而言,一些特性的修改将简化语言及相应的编程活动。例如,委员会计划减少从一个字符串中提取一个数字的操作,从四行专业代码简化为一行简单的代码。他们也会推广一些计算规则,如将“你可以将两个整数相加,可以将两个无符号整数相加,可以将一个整数和一个无符号整数相加……”推广为“你可以加两个数。”

“你必须考虑个体语言或库特性的易用程度,它将如何被用于真实应用程序的上下文中,学习起来有多么容易,以及它对编程技术的支持有多好。” Stroustrup说,“此外,你必须考虑如何将这些最初由初学者学习的技术扩展到处理现实世界的问题,以及如何学习其特性及其相关技术以便更深入有效的学习。我真的不希望在一名学生从做练习前进到开发真实的系统之前,还有一些简单的特性和技术没学过。”

一些富有经验的程序员不同意为初学者简化C++。他们担心这对老练的程序员以及他们的应用程序而言过于简单。

“通常,专家很难站在初学者的位置观察问题。” Stroustrup 说,“有时他们的态度是‘为什么他们不成为专家呢?’我对这个问题的回答是,‘这需要很长时间才能成为专家,而且,为了写出优秀的、有用的程序,你不应该被要求洞悉C++的一切’。”

“我想帮助刚刚起步的成千上万的C++程序员,或者只是想用一点点C++来完成工作的程序员。并且,C++0X还将为专家级程序员提供大量的新特性。”

-完-