【科技英雄传】C++之父:将工作视为一种乐趣
本贾尼-斯特劳斯特卢普(Bjarne Stroustrup)1950 年出生于丹麦,先后毕业于丹麦阿鲁斯大学和英国剑桥大学。在完成学业后,斯特劳斯特卢普曾任 AT&T大规模程序设计研究部门负责人,AT&T、贝尔实验室和 ACM 成员,现任德州农工大学计算机系首席教授。
说起斯特劳斯特卢普,我们不得不提的就是他在 1979 年开发出的一种在当时被称为“C with Classes”的计算机编程语言,而这一语言便是如今我们所熟知的C++。
简单来说,所谓 C++ 指的是一种使用非常广泛的计算机编程语言,该语言是一种静态数据类型检查、支持多重编程范式的通用程序设计语言。而且,C++的编译器比目前其他计算机语言的编译技术更复杂。
在计算机诞生初期,人们要使用计算机必须用机器语言或汇编语言编写程序。世界上第一种计算机高级语言“FORTRAN”诞生于 1954 年,随后还先后出现了多种计算机高级语言。其中使用最广泛、影响最大的无疑是 BASIC 和C语言。
BASIC 语言是 1964 年在 FORTRAN 语言的基础上简化而成的, 它是为初学者设计的小型高级语言。C语言则是 1972 年由美国贝尔实验室的D.M.Ritchie 推出,它不是为初学者设计的,而是主要为计算机专业人员设计。
在当时,大多数系统软件和许多应用软件都是用C语言编写的,但是随着软件规模的不断扩大,用C语言编写程序的短板已经愈发明显。因此在C基础上,斯特劳斯特卢普进一步扩充和完善了C语言的不足而开发出了 C++ 语言。
据斯特劳斯特卢普自己透露称,当时他正在负责一个软件项目,但那时没有任何一种计算机语言能够满足自己复杂的工作需求,所以斯特劳斯特卢普才决定在C语言的基础上逐步对其进行改进。
1985 年,C++语言被正式定义,外界将其视为比C语言更加高效的计算机编程语言。1998 年,ANSI/ISO C++ 标准建立,斯特劳斯特卢普也在同年推出了经典著作《The C++ Programming Language》第三版,因而他本人被尊称为“C++语言之父”。
事实上,在 C++ 语言诞生的道路上还出现了一个小插曲。因为斯特劳斯特卢普此前一直将这一语言称作“C with Classes”,直到 1983 年 12 月他才采纳了同行里克-马克西帝(Rick Mascitti)的建议,将自己发明的新语言命名为更为简洁的“C++”。
“软件行业太多的经理和管理人员试图把编程变成低级别的流水线工作,从长远来看这种做法效率低、浪费大、成本昂贵,且非常不人性化。在软件开发 领域,没有放之四海而皆准的模型,因此需要给予人们充分的发挥空间。”斯特劳斯特卢普在接受 IBM 发明大师、DB2 产品开发团队研发经理及高级技术人员萨姆-莱特斯通(Sam Lightstone)采访时说道。
目前,斯特劳斯特卢普在闲暇时候的最大乐趣便是同家人、朋友在一起、出门旅游、拍照、听音乐,但他认为自己所负责的部分项目本身也十分有趣。
“我简直不敢想象干这么有趣的事还能拿薪水。”斯特劳斯特卢普最后说道。