区别有: 1、应用不同;2、起源不同;3、开发方法不同;4、编译方式和运行环境不同。C语言多用于计算机底层系统编程,如Windows操作系统、Linux操作系统等。Java语言多用于企业应用开发,特别是互联网应用,因为Java有易学、安全性,可移植、跨平台等特点。
1、应用不同
C 语言是一门工程实用性极强的语言,提供了对操作系统和内存的精准控制,编译后的程序运行效率相比Java、Python等语言要高效的多,对理工科学生来说它也是一门必修课。C语言多用于计算机底层系统编程,计算机操作系统一般都由C语言编写而成,如Windows操作系统、Linux操作系统等。
Java语言多用于企业应用开发,特别是互联网应用,因为Java易学、安全性,可移植、跨平台等特点,大多数互联网企业及传统企业都采用了Java语言开发系统,特别是在电信、金融、保险、证券、银行、交通、能源、航天等这些行业,多数用Java开发系统。
2、起源不同
C语言的前身是B语言,B语言由美国 AT&T 贝尔实验室研发,使用该语言编写的程序可以在当时小型的计算机上运行,贝尔实验室的研究员丹尼斯·里奇于1969年~1973年在B语言的基础上又开发了C语言,后来C语言逐渐取代了B语言,成为世界上通用的高级语言之一。
1991年,在SUN公司的詹姆斯高斯林和一群技术人员创建了一个名为Oak的项目,旨在开发运行于虚拟机的编程语言。随着互联网技术的发展,在1994年詹姆斯高斯林等人决定将该技术应用于互联网,1995年将Okay更名为Java。
3、开发方法不同
C语言是一种结构化语言,采用的是结构化开发方法。在结构化开发方法中。首先要调查并识别系统需求,然后使用数据流图建立功能需求模型,再采用自顶向下的程序设计,把复杂的程序分解为多个程序模块,每个程序模块只有一个入口和一个出口,在模块内部内部采用顺序、选择、重复三种基本控制结构。
Java语言是面向对象的开发语言,采用的是面向对象的开发方法。面向对象开发方法尽可能模拟人类习惯的思维方式来分析软件项目,并按照现实世界的问题域来构建解决现实问题的系统。面向对象开发方法中的对象是结构化开发方法中的实体、数据和程序模块的组合体,它具有属性和行为,同时可以对系统发出的消息进行响应。
4、编译方式和运行环境不同
C语言的主要目标是计算机底层系统开发,因此通过C语言编译的程序与计算机硬件环境和操作系统相关性较强,C语言代码会直接编译为可在计算机上直接运行的机器代码,运行效率非常高效,缺点是程序在不同操作系统间的兼容性差。
编写完成的C语言源代码,首先经过编译预处理器规范代码和预编译,然后通过编译器转换为汇编代码,再由汇编器转换为机器代码,最后由链接器将有关的机器代码文件进行相互链接,构建可执行的C程序。
Java语言的目标主要是应用系统开发,要求可运行于不同的操作系统。因此Java的源代码首先被编译成字节代码,然后依赖各种不同平台上的虚拟机来解释执行字节码,因为Java程序需要解释器来解释执行,因此相对于C语言来说运行效率比较低,优点是程序可以兼容不同的操作系统。
Java编译将Java源代码文件编译为class文件(字节码文件),JVM(Java虚拟机)的类装载器加载class文件,由解释器解释执行,解释器会将字节码解释为适用于操作系统运行的机器代码。
延伸阅读:
什么是C语言?
C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。
C语言是一门面向过程的计算机编程语言,与C++、C#、Java等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。C语言描述问题比汇编语言迅速、工作量小、可读性好、易于调试、修改和移植,而代码质量与汇编语言相当。C语言一般只比汇编语言代码生成的目标程序效率低10%-20%。因此,C语言可以编写系统软件。
当前阶段,在编程领域中,C语言的运用非常之多,它兼顾了高级语言和汇编语言的优点,相较于其它编程语言具有较大优势。计算机系统设计以及应用程序编写是C语言应用的两大领域。同时,C语言的普适较强,在许多计算机操作系统中都能够得到适用,且效率显著。
文章标题:c 面向对象和java面向对象的区别,发布者:小编,转载请注明出处:https://worktile.com/kb/p/37918