C、C++与Java的产生背景

简介:        最近,我在看林信良的《Java学习笔记》。本书是作者多年来学习和教学工作的心得和总结,文章内容通俗易懂,让我对Java的基础知识有了一定的了解。

       最近,我在看林信良的《Java学习笔记》。本书是作者多年来学习和教学工作的心得和总结,文章内容通俗易懂,让我对Java的基础知识有了一定的了解。


       学习任何一门语言,了解它的产生背景是很有必要的。由于Java与C++都是面向对象的,而C++又是在C的基础之上发展起来的,因此本文同时介绍C、C++与Java这三种语言的产生背景及相关情况。


1. C语言出现的历史背景


       1960年,ALGOL 60作为一种面向问题的高级语言而出现。1963年,英国剑桥大学推出了CPL(Combined ProgrammingLanguage)语言。1967年,同样是英国剑桥大学的Martin Richards在对CPL语言作简化的基础之上,推出了BCPL(Basic CombinedProgramming Language)语言。1970年,美国贝尔实验室的Ken Thompson以BCPL语言为基础,设计了B语言(取BCPL的第一个字母),并用B语言编写了第一个UNIX操作系统。1972年至1973年之间,贝尔实验室的D. M. Ritchie在B语言的基础之上设计出了C语言(取BCPL的第二个字母)。1973年,Ken Thompson和D. M. Ritchie合作,把UNIX的90%以上用C语言改写。


       1983年,美国国家标准化协会(ANSI)为C语言制定了新的标准,称为ANSI C。1987年,ANSI又公布了新标准—87 ANSI C。1990年,国际标准化组织(ISO)接受87 ANSI C为ISO C的标准(ISO 9899-1990)。1994年,ISO修订了C语言标准。


       C语言具有较强的生命力,其主要特点有:1)语言简洁、紧凑,使用方便、灵活;2)运算符丰富;3)数据类型丰富,具有现代语言的各种数据结构;4)具有结构化的控制语言(如if…else语句等);5)语法限制不太严格,程序设计自由度大;6)C语言允许直接访问物理地址,能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作;7)生成目标代码质量高,程序执行效率高;8)与汇编语言相比,用C语言编写的程序的可移植性好。


2. C++语言出现的历史背景


       C语言是一种面向过程的编程语言,已经不能满足运用面向对象方法开发软件的需要。C++便是在C语言的基础之上为支持面向对象的程序设计而研制的一种通用的程序设计语言。C++是在1980年由AT&T贝尔实验室的Bjarne Stroustrup创建的。


       最初,C++被称为“带类的C”,1983年正式取名为C++,其标准化工作从1989年开始。1994年,制定了ANSI C++标准草案。1998年11月,ISO正式批准了C++的国际标准。


       C++语言的主要特点表现在两个方面:一是全面兼容C,二是支持面向对象的方法。C++既支持面向过程的程序设计,又支持面向对象的程序设计。


3. Java语言出现的历史背景


       Java最早是Sun公司“绿色项目”中编写Star7应用程序的一个程序语言,该项目开始于1990年12月。在1992年的9月3日,“绿色项目”小组展示了Star7手持设备,使用的编程语言取名为Oak。但后来发现Oak名称已经被注册了,便更名为Java。


        万维网的兴起,使Java Applet成为网页互动技术的代表。1993年,第一个万维网浏览器Mosaic诞生。“绿色项目”小组仿照了Mosaic开发出一个以Java技术为基础的浏览器WebRunner,后来改名为HotJava。


        1995年5月23日,Java DevelopmentKits(JDK)1.0a2版本正式对外发布。JDK除了提供编写Java程序时所必要的编译、运行、调试等工具之外,更搭配有越来越丰富的API。随着应用范围越来越广,Java演化出了3个不同领域的应用平台:Java SE、Java EE和Java ME。


        Java是一个更简单的面向对象的程序语言,在使用上比C++更为简单。随着时间的推移,Java不再只是表示一种程序语言,而是一种开发软件的平台,更进一步地也是一种开发软件时的标准与架构的统称。


        作为一种程序语言,Java拥有许多重要的特性:简单的、面向对象的、网络的、解释的、健壮的、安全的、可移植的、高性能的。

 

 

 

参考资料

[1]    谭浩强,C程序设计(第三版),清华大学出版社,2005年。

[2]    郑莉等,C++语言程序设计(第3版),清华大学出版社,2003年。

[3]    林信良,Java学习笔记,清华大学出版社,2007年。
目录
相关文章
|
7月前
|
jenkins Shell 测试技术
|
7月前
|
安全 jenkins Java
Java、Python、C++支持jenkins和SonarQube(一)
Jenkins 是一个开源的 持续集成(CI)和持续交付(CD) 工具,用于自动化构建、测试和部署软件项目。它基于 Java 开发,支持跨平台运行,并拥有丰富的插件生态系统,可以灵活地扩展功能
432 5
|
7月前
|
jenkins Java Shell
Java、Python、C++支持jenkins和SonarQube(全集)
Jenkins 是一个开源的持续集成(CI)和持续交付(CD)工具,用于自动化构建、测试和部署软件项目。它基于 Java 开发,支持跨平台运行,并拥有丰富的插件生态系统,可以灵活地扩展功能
615 1
|
7月前
|
jenkins Java 持续交付
Java、Python、C++支持Jenkins和SonarQube(三)
Python与Jenkins和SonarQube
326 1
|
7月前
|
jenkins Java 测试技术
|
10月前
|
算法 Java 数据库连接
Java 与 C++ 区别深入剖析及应用实例详解
本文深入剖析了Java和C++两种编程语言的区别,从编译与执行机制、面向对象特性、数据类型与变量、内存管理、异常处理等方面进行对比,并结合游戏开发、企业级应用开发、操作系统与嵌入式开发等实际场景分析其特点。Java以跨平台性强、自动内存管理著称,适合企业级应用;C++则因高性能和对硬件的直接访问能力,在游戏引擎和嵌入式系统中占据优势。开发者可根据项目需求选择合适语言,提升开发效率与软件质量。附面试资料链接:[点此获取](https://pan.quark.cn/s/4459235fee85)。
816 0
|
Java Android开发 C++
Java和C++
Java和C++
304 15
|
IDE Java 程序员
C++ 程序员的 Java 指南
一个 C++ 程序员自己总结的 Java 学习中应该注意的点。
177 5
WK
|
安全 Java 编译器
C++和Java哪个更好用
C++和Java各具优势,选择取决于项目需求、开发者偏好及目标平台特性。C++性能出色,适合游戏、实时系统等;Java平台独立性强,适合跨平台、安全敏感应用。C++提供硬件访问和灵活编程范式,Java有自动内存管理和丰富库支持。两者各有千秋,需根据具体需求选择。
WK
497 1
|
缓存 并行计算 Java
C++矢量运算与java矢量运算
本文探讨了C++和Java中的矢量运算与标量运算的性能比较,解释了矢量运算的原理和为什么它比标量运算快,包括并行性、数据局部性、指令优化和数据重用等优势。文章还提供了C++和Java的矢量运算示例代码,并展示了运行结果,以证明矢量运算在处理大量数据时的性能优势。
390 0
C++矢量运算与java矢量运算