最近,我在看林信良的《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年。