目录

1. 20世纪最伟大的发明——计算机

2. C++发展历程

3. C++发展中的杰出人物


1. 20世纪最伟大的发明——计算机

计算机的出现给我们的生活带来了巨大的变化,它是如何发展起来的呢?开始时人们致力于开发能够进行四则运算的机器,最初是通过机械齿轮运作的加法器,而后是精度只有12位的乘法计算器,直到1847年Charles Babbages开发出能计算31位精度的机械式差分机,这台差分机被普遍认为是世界上第一台机械式计算机。

随着电子物理的发展,真空二极管、真空三极管问世,到1939年第一部用真空管计算的机器被研制出来,该机器是能进行16位加法的机器。随后氖气灯(霓虹灯)存储器、复杂数字计算机(断电器技术机)、可编写程序的计算机被一一研制出来。

1946年,第一台电子管计算机ENIAC在美国被研制出来,这台计算机占地170平方米,重30吨,有1.8万个电子管,用十进制计算,每秒运算5000次。

计算机从此进入了电子计算机时代,经历了真空管计算机、晶体管计算机、集成电路计算机、大规模集成电路计算机4个阶段,每一个阶段都是随着电子物理的发展而发展的,晶体管的出现取代了电子管,将电子原件结合到一片小小的硅片上,形成集成电路(IC),在一个芯片上容纳几百个或是几千个电子原件,形成了大规模集成电路(LSI)直到现在已经出现了32纳米制作的电子芯片,可谓是发展迅速。计算机运行速度也越来越快,已从第一天计算机的每秒5000次发展到现在的2GHz。

现在计算机已经应用到各个领域,科学计算、信号检测、数据管理、辅助设计等都在使用计算机,人们的生活已经渐渐离不开它,所以说计算机是20世纪最伟大的发明。

2. C++发展历程

早期的计算机程序语言计算计算机控制指令,每条指令是一组二进制数,不同的计算机都有不同的计算机指令集。使用二进制指令集是件很头痛的事,程序员需要记住大量的二进制数,为了便于记忆,人们将二进制数用字母组合代替。以字符串关键字代替二进制机器码的编程语言称为汇编语言,汇编语言被称为是低级语言,虽然比机器码容易记忆,但仍然具有可读性差的缺点,大量的跳转指令和地址值很难让程序员在很短的时间理解程序的意思,于是编程语言进入了高级语言时代。

第一个高级语言是美国尤尼法克公司在1952年研制成功的Short Code,但被广泛使用的高级语言是FORTRAN,它是由美国科学家巴克斯设计并在IBM公司的计算机上实现的,但FORTRAN语言和ALGOL60主要应用于科学和工程计算,随后出现了Pascal和C语言。C语言是在其他语言基础上发展起来的。首先是Richard Martin开发的一种高级语言BCPL,随后Ken Thompson对BCPL语言进行了简化,形成一门新的语言——B语言,但B语言没有类型的概念,Dennis Ritchie对B语言进行研究和改进,在B语言基础上添加了结构和类型,并将这个改进后的语言命名为C语言,寓意和简单,因为字母C是字母B的下一个字母,预示着语言的发展。

C++语言是从C语言发展过了的。Stroustrup经过钻研,在C语言中加入类的概念,C++最初的名字是C with class,到1983年12月由Rick Mascitti建议改名为CPlusPlus,即C++。

最开始提出类概念的语言是Simula,它具有很高的灵活性,但无法胜任比较大型的程序,此后在Simul语言基础上发展的语言Smalltalk才是真正的面向对象语言,但Smalltalk-80不支持多继承。

C++从Simula继承了类的概念,从ALGOL68继承了运算符重载、引用以及在任何地方声明变量的能力,从BCPL获得了"//"注释,从Ada得到了模板、名字空间,从Ada、Clu和ML取来了异常。

3. C++发展中的杰出人物

Dennis M.Ritchie(丹尼斯·里奇) 被称为C语言之父、UNIX之父,生于1941年9月9日,哈佛大学数学博士,曾任朗讯科技公司贝尔实验室(原AT&T实验室)下属的计算机科学研究中心系统软件研究部的主任一职。他开发了C语言,并著有《C程序设计语言》(The C Programming Language)一书,还和Ken Thompson一起开发了UNIX操作系统。他因为杰出的工作得到了众多计算机组织的公认和表彰,1983年获得美国计算机协会的图灵奖(又称计算机界的诺贝尔奖),还获得过C&C基金奖、电气和电子工程师协会优秀奖章、美国国家技术奖章等多项大奖。

Bjarne Stroustrup(本贾尼·斯特劳斯特卢普) 1950年出生于丹麦,先后毕业于丹麦阿鲁斯大学和英国剑桥大学,是AT&T大规模程序设计研究部门负责人,AT&T、贝尔实验室和ACM成员。1979年,Stroustrup开始开发一种语言,当时称为C with class,后来演化为C++。1998年,ANSI/ISO C++标准建立。同年,Stroustrup推出其经典著作《The C++ Programming Language》的第三版。

Scott Meyers 是世界顶级的C++软件开发技术权威人士之一,他拥有Brown University的计算机科学博士学位,其著作Effective C++More Effective C++很受编程人员的喜爱。Scott Meyers曾经是C++ Report的专栏作家,为C/C++ Users Journal和Dr.Dobb's Journal撰过稿,为全球范围内的客户提供咨询服务。他还是Advisory Boards for NumeriX LLC和InfoCruiser公司的成员。

Andrei Alexandrescu 被认为是新一代C++天才的代表人物,2001年撰写了经典名著Modern C++ Design,其中对Template技术进行了精湛运用,第一次将模板作为参数在模板编程中使用,该书震撼了整个C++社群,开辟了C++编程领域的Modern C++时代。此外,他还与Herb Sutter合著了C++ Coding Standards。他在对象拷贝(objectcopying)、对齐约束(alignment constraint)、多线程编程、异常安全和搜索等领域做出了巨大贡献。

Herb Sutter 是C++ Standard Committee的主席,作为ANSI/ISO C++标准委员会的委员,Herb Sutter是C++程序设计领域屈指可数的大师之一。他的Exceptional系列丛书(Exceptional C++More ExceptionExceptional C++ Style)成为C++程序员必读书。他是深受程序员喜爱的技术讲师和作家,是C/C++ Users Journal的撰稿编辑和专栏作家,发表了上百篇软件开发方面的技术文章和论文。他还担任Microsoft Visual C++架构师,和Stan Lippman一道在微软主持VC 2005(即C++/CLI)的设计。

Andrew Koenig 是AT&T公司Shannon实验室大规模编程研究部门的成员,同时也是C++标准委员会的项目编辑,是一位真正的C++内部权威。Andrew Koenig的编程经验超过30年,其中有15年在使用c++,已经发表了150多篇与C++有关的论文,并且在世界范围内就C++主题进行过多次演讲,对C++的最大贡献是带领Alexander Stepanov将STL引入C++标准。

最新文章

  1. Scrapy安装错误: error: Microsoft Visual C++ 14.0 is required. Get it with Microsoft Visual C++ Build To
  2. java异常体系结构详解
  3. NioEventLoop加载流程分析
  4. Android之使用AchartEngineActivity引擎绘制柱状图、曲线图
  5. Python中if条件判断语句的用法!
  6. Makefile速成
  7. 场景分割:MIT Scene Parsing 与DilatedNet 扩展卷积网络
  8. android不同机型编译不同so,如何使用adb命令查看android中的数据库
  9. VISTA中注册表项LEGACY_****的删除--另一种方法:使用psExec
  10. 深度学习:神经网络neural network
  11. android java程序中调用shell命令
  12. Android ROM DIY之MTK平台手机通用移植 (续)
  13. ASP.NET MVC——XX点餐管理系统后台项目实训总结书
  14. H5自适应简约浪漫婚礼邀请函HTML源码
  15. Android PackageManager详解
  16. 模电学习笔记--二极管
  17. Arduino驱动HDC1080测量温湿度
  18. java project 显示感叹号_项目工程上有感叹号或者差号
  19. Hive中运行任务报错:Error during job, obtaining debugging information...
  20. 使用 closest 和 matches 方法来检测元素是否存在某选择器

热门文章

  1. 修改注册表将日文键盘改成中文键盘
  2. ClientId 解释
  3. linux开机自动执行命令
  4. PIXHAWK飞控的外部控制
  5. 高效Redis工具类
  6. TensorFlow学习日记之tflearn
  7. WebRTC Simulcast测试--用Janus
  8. 安卓强制横屏的坑!正确设置横屏的姿势!
  9. 【电力电子技术】CURRENT DOUBLER 倍流整流电路
  10. 计算机的配置鼠标,鼠标设置,教您鼠标设置在电脑的什么位置