C、C++与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年。

时间: 2024-08-31 23:24:13

C、C++与Java的产生背景的相关文章

游戏-JAVA如何让背景图片适应窗口的大小变化

问题描述 JAVA如何让背景图片适应窗口的大小变化 小弟学生党,最近要做一个课程设计,我做了一个简易的打地鼠游戏,老师说太简单不给过让我添加更多的功能,譬如让背景图片随窗口大小的变化而变化,以及如何在原程序中设置控制游戏开始结束的按钮,和游戏结束后的记数和等级,怎样重新开始等(本来想发点C币的,但是全换成下载积分了,所以麻烦各位高人了..) 解决方案 http://wenku.baidu.com/link?url=vVhrPjI05S7kiyi_JVmw4cT2Xqj0c2jHi_HR4LmtH

java 显示透明背景png图片

首先理由ps生成一个背景透明的png图片,然后设置JPanel面板的透明属性,也就是panel.setOpaque(false);设置为透明 class MyPanel extends JLayeredPane{ public myPanelOne panel = new myPanelOne(); public MyPanel(){ setPreferredSize(new Dimension(600, 600)); setLayout(null); panel.setBackground(C

java 压缩 gif-java 压缩透明背景gif图片

问题描述 java 压缩透明背景gif图片 imgscalr-lib-4.2.jar压缩后透明背景都变成白底了,有没好的解决办法,Gif4j是闭源的,有处理过的大神请指教 解决方案 gif格式图片在处理的时候删除底色就可以做无色锣空的图片.但需要自己用PS软件处理.

Java EE 5

简介 Java EE 技术是 Java 语言平台的扩展,支持开发人员创建可伸缩的强大的可移植企业应用程序.它为应用程序组件定义了四种容器:Web.Enterprise JavaBean(EJB).应用程序客户机和 applet.一个应用服务器规范详细描述了这些容器和它们必须支持的 Java API,这促使 Java EE 产品相互竞争,同时保证符合这个规范的应用程序可以在服务器之间移植. 这个平台的最新版本 Java EE 5 已经于 2006 年 5 月发布.Java EE 5 主要关注提高开

Java Web 高性能开发,第 1 部分: 前端的高性能

简介: Web 发展的速度让许多人叹为观止,层出不穷的组件.技术,只需要合理的组合.恰当的设置,就可以让 Web 程序性能不断飞跃.所有 Web 的思想都是通用的,它们也可以运用到 Java Web.这一系列的文章,将从各个角度,包括前端高性能.反向代理.数据库高性能.负载均衡等等,以 Java Web 为背景进行讲述,同时用实际的工具.实际的数据来对比被优化前后的 Java Web 程序.第一部分 , 主要讲解网页前端的性能优化,这一部分是最直接与用户接触的.事实证明,与其消耗大量时间在服务器

java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener

java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener Maven项目下update maven后Eclipse报错:java.lang.ClassNotFoundException: ContextLoaderL 严重: Error configuring application listener of class org.springframework.web.contex

Fork and Join: Java也可以轻松地编写并发程序

原文地址   作者:Julien Ponge 译者:iDestiny 资源下载: Java SE 7 Sample Code(Zip) 如今,多核处理器在服务器,台式机及笔记本电脑上已经很普遍了,同时也被应用在更小的设备上,比如智能手机和平板电脑.这就开启了并发编程新的潜力,因为多个线程可以在多个内核上并发执行.在应用中要实现最大性能的一个重要技术手段是将密集的任务分隔成多个可以并行执行的块,以便可以最大化利用计算能力. 处理并发(并行)程序,一向都是比较困难的,因为你必须处理线程同步和共享数据

eclipse-Eclipse Mars 设置背景颜色问题

问题描述 Eclipse Mars 设置背景颜色问题 根据网上修改Perferences -> General -> Editors -> Text Editors 右边的appearance color options 里面的background color颜色,结果.java文件的背景颜色没有变,只改变了.xml文件的..为什么??! 怎么改变背景色? 解决方案 推荐使用eclipse-color-theme插件. 解决方案二: 补充:就算使用Eclipse Color Theme插

java-Java如何添加背景。。。。。。。

问题描述 Java如何添加背景....... 如何为面板添加背景图片,求大神指导,代码如下:(自己添加的时候总是把组件遮挡了或者添加不上去) 万分感谢!! import java.awt.*; import java.awt.event.*; import java.io.File; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.*;