C,C,JAVA应用领域及优缺点分析

上传人:s****a 文档编号:52453635 上传时间:2022-02-08 格式:DOC 页数:11 大小:69KB
收藏 版权申诉 举报 下载
C,C,JAVA应用领域及优缺点分析_第1页
第1页 / 共11页
C,C,JAVA应用领域及优缺点分析_第2页
第2页 / 共11页
C,C,JAVA应用领域及优缺点分析_第3页
第3页 / 共11页
资源描述:

《C,C,JAVA应用领域及优缺点分析》由会员分享,可在线阅读,更多相关《C,C,JAVA应用领域及优缺点分析(11页珍藏版)》请在装配图网上搜索。

1、C,C , JAVA应用领域及优缺点分析C:优点1. 简洁紧凑、灵活方便C 语言一共只有 32 个关键字 ,9 种控制语句,程序书写形式自由,主要用小写字母表示。它把高级语言的基本结构和语句与低级语言的实用性结合起来。 C 语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。2. 运算符丰富C 语言的运算符包含的范围很广泛,共有34 种运算符。 C 语言把括号、赋值、强制类型转换等都作为运算符处理。从而使C 语言的运算类型极其丰富,表达式类型多样化。灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。3. 数据结构丰富C 语言的数据类型有:整型、实型、字符型

2、、数组类型、指针类型、结构体类型、共用体类型等。能用来实现各种复杂的数据结构的运算。并引入了指针概念,使程序效率更高。另外 C语言具有强大的图形功能,支持多种显示器和驱动器。且计算功能、逻辑判断功能强大。是结构式语言结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。 C 语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。语法限制不太严格,程序设计自由度大虽然 C语言也是强类型语言,但它的语法比较灵活,允许程序编写者有较大的自由度。语言允许直

3、接访问物理地址,可以直接对硬件进行操作由于 C语言允许直接访问物理地址,可以直接对硬件进行操作,因此它既具有高级语言的功能,又具有低级语言的许多功能,能够像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元,可用来写系统软件。7. 生成目标代码质量高,程序执行效率高一般只比汇编程序生成的目标代码效率低10 20%。语言适用范围大,可移植性好C 语言有一个突出的优点就是适合于多种操作系统,如DOS、UNIX;也适用于多种机型。 C 语言具有强大的绘图能力,可移植性好,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画,它也是数值计算的高级语言。缺点语言的缺点

4、主要表现在数据的封装性上,这一点使得C 在数据的安全性上有很大缺陷,这也是C和 C+的一大区别。语言的语法限制不太严格,对变量的类型约束不严格,影响程序的安全性,对数组下标越界不作检查等。从应用的角度,C语言比其他高级语言较难掌握。C 语言指针 指针是 C语言的一大特色,可以说是C 语言优于其它高级语言的一个重要原因。就是因为它有指针,可以直接进行靠近硬件的操作,但是 C 的指针操作也给它带来了很多不安全的因素。 C+在这方面做了很好的改进,在保留了指针操作的同时又增强了安全性。 Java 取消了指针操作,提高了安全性,适合初学者使用。 C+:优点在以下领域, C+有着根本性的优势:低级系统程

5、序设计、高级系统程序设计、嵌入式程序设计、数值科学计算、通用程序设计以及混合系统设计等等。让我们略微展开描述一下:低级系统程序设计: C+是迄今为止最好的低级程序设计语言。高级系统程序设计:包括操作系统核心、网络管理系统、编译系统、电子邮件系统、文字排版系统、图像和声音的编排系统、通讯系统、用户界面、数据库系统等等。嵌入式系统:包括照相机、汽车、火箭、电话交换机、汽车等等。数值 / 科学计算:包括仿真、实时数据获取和数据库访问等等。Bjarne 的个人主页上,有一页applications,那儿列出了一些 ( 全部或大部分 ) 使用 C+编写的系统、应用程序和库。下面是一些例子:AdobeSy

6、stems:所有主要应用程序都使用C+开发而成,比如Photoshop&ImageReady、Illustrator和 Acrobat 等。Maya:知道 蜘蛛人 、 指环王 的电脑特技是使用什么软件做出来的吗?没错,就是 Maya。:使用 C+开发大型电子商务软件。Apple :部分重要 零件 采用 C+编写而成。AT&T:美国最大的电讯技术提供商,主要产品采用C+开发。Google:Web搜索引擎采用C+编写。IBM:OS/400。Microsoft:以下产品主要采用C+(Visual C+)编写: WindowsXPWindows NT: NT4、2000Windows 9x:95、 9

7、8、 MeMicrosoft Office:Word、Excel 、Access、PowerPoint 、OutlookInternet Explorer,包括Outlook ExpressVisual Studio:Visual C+、Visual Basic、VisualFramework 类库采用 C#编写,但 C#编译器自身则使用C+编写而成。ExchangeSQL ServerFrontPageProject 所有游戏 .KDE:K Desktop Environment(Linux) 。Symbian OS:最流行的蜂窝电话OS之一。缺点没有垃圾回收机制,使用不方便。要熟练运用,需

8、掌握的东西很多。很难迅速上手。不像有些语言已经封装好各种功能,直接拿来用就可以了。编译器实现过于复杂 . 尤其是要把预处理和语法分析混在一起的时候. 继承并超越了 C,理论上可以跨平台,但在具体实现上,又过分依赖平台。比较底层,易用性不是很好。 C+的多重继承和友元机制一直受到很多人的诟病,因为破坏了封装性,但是因为 C+不是 pure oop, 它的缺点是明显的,但有时候它的缺点也是它的优点。JAVA:优点Java 是一个广泛使用的网络编程语言, 它是一种新的计算概念。首先 , 作为一种程序设计语言 , 它简单、面向对象、不依赖于机器的结构、具有可移植性、鲁棒性、安全性、并且提供了并发的机制

9、、具有很高的性能。其次 , 它最大限度地利用了网络 ,Java 的小应用程序 (applet) 可在网络上传输而不受 CPU和环境的限制。另外 ,Java 还提供了丰富的类库 , 使程序设计者可以很方便地建立自己的系统。Java 语言有下面一些特点:简单、面向对象、分布式、解释执行、鲁棒、安全、体系结构中立、可移植、高性能、多线程以及动态性。1、简单性Java 语言是一种面向对象的语言, 它通过提供最基本的方法来完成指定的任务 , 只需理解一些基本的概念, 就可以用它编写出适合于各种情况的应用程序。 Java 略去了运算符重载、多重继承等模糊的概念, 并且通过实现自动垃圾收集大大简化了程序设计

10、者的内存管理工作。另外,Java 也适合于在小型机上运行 , 它的基本解释器及类的支持只有40KB左右 , 加上标准类库和线程的支持也只有 215KB左右。库和线程的支持也只有215KB左右。2、面向对象Java 语言的设计集中于对象及其接口, 它提供了简单的类机制以及动态的接口模型。对象中封装了它的状态变量以及相应的方法, 实现了模块化和信息隐藏;而类则提供了一类对象的原型, 并且通过继承机制 , 子类可以使用父类所提供的方法 , 实现了代码的复用。3、分布性Java 是面向网络的语言。通过它提供的类库可以处理TCP/IP 协议 , 用户可以通过 URL地址在网络上很方便地访问其它对象。4、

11、鲁棒性Java 在编译和运行程序时 , 都要对可能出现的问题进行检查, 以消除错误的产生。它提供自动垃圾收集来进行内存管理, 防止程序员在管理内存时容易产生的错误。通过集成的面向对象的例外处理机制, 在编译时 ,Java 提示出可能出现但未被处理的例外, 帮助程序员正确地进行选择以防止系统的崩溃。另外 ,Java 在编译时还可捕获类型声明中的许多常见错误 , 防止动态运行时不匹配问题的出现。5、安全性用于网络、分布环境下的 Java 必须要防止病毒的入侵。 Java 不支持指针 , 一切对内存的访问都必须通过对象的实例变量来实现 , 这样就防止程序员使用 特洛伊 木马等欺骗手段访问对象的私有成

12、员 , 同时也避免了指针操作中容易产生的错误。6、体系结构中立Java 解释器生成与体系结构无关的字节码指令, 只要安装了 Java 运行时系统 ,Java 程序就可在任意的处理器上运行。这些字节码指令对应于Java 虚拟机中的表示 ,Java 解释器得到字节码后 , 对它进行转换 , 使之能够在不同的平台运行。7、可移植性与平台无关的特性使Java 程序可以方便地被移植到网络上的不同机器。同时 ,Java 的类库中也实现了与不同平台的接口, 使这些类库可以移植。另外 ,Java 编译器是由 Java 语言实现的 ,Java 运行时系统由标准C 实现 , 这使得Java 系统本身也具有可移植性

13、。10、解释执行Java 解释器直接对 Java 字节码进行解释执行。字节码本身携带了许多编译时信息 , 使得连接过程更加简单。11、高性能和其它解释执行的语言如BASIC、TCL不同 ,Java 字节码的设计使之能很容易地直接转换成对应于特定CPU的机器码 , 从而得到较高的性能。12、多线程多线程机制使应用程序能够并行执行, 而且同步机制保证了对共享数据的正确操作。通过使用多线程, 程序设计者可以分别用不同的线程完成特定的行为 , 而不需要采用全局的事件循环机制 , 这样就很容易地实现网络上的实时交互行为。13、动态性Java 的设计使它适合于一个不断发展的环境。在类库中可以自由地加入新的

14、方法和实例变量而不会影响用户程序的执行。并且Java 通过接口来支持多重继承 , 使之比严格的类继承具有更灵活的方式和扩展性。缺点第一:运行速度慢,众所周知,Java 程序的运行依赖于Java 虚拟机,所以相对于其他语言 ( 汇编 ,C,C+) 编写的程序慢,因为它不是直接,执行机器码。第二:因为 Java 考虑到了跨平台性。所以他不能像语言( 例如:汇编 ,C) 那样更接近操作系统。(1) 存在非对象的数据类型; (2) 不能够用一种描述方法来表达各种类(class) ;(3) 无法继承 2 个以上的类的装配。虽然也有人认为编程语言应该是个什么样子会因人而异,不应该算成缺点。不过,上述三点却

15、能导致编程人员使用混乱,降低源码的可读性及程式的可维护性。首先 java 功能强大的背后是其复杂性,就拿 web来说,当今流行的框架有很多,什么 struts ,spring ,jQuery 等等,而这无疑增加了 java 的复杂性。有人说,对于一个大型项目,如果用 java 来作,可能需要 9 个月,并且可能需要翻阅10 本以上的书,但如果用ruby 来作, 3 个月, 3 本书就足够了,而也不过3, 4 本书足以,这就是区别。轮性能微软曾做过一个例子,就是同一个项目用 java 和来作,结果开发周期,是 java 的一半,性能 java 是的十分之一,代码量 java 是的三倍。呵呵,这说明了什么,的全方位比 java 好。但是有的人说不能跨平台,这个问题我和我同学曾讨论过,都认为微软的很可能早都可以跨平台了,但是微软为了保护他们的操作系统,所以才没有推出跨平台的,只是推出了跨语言的,进而能拉拢大多数程序员用windows 产品。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!