C语言与JAVA的区别是什么

介绍

这篇文章给大家介绍C语言与JAVA的区别是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

<强>首先来说说他们各自的历史:C语言的发展历史

C语言的发展颇为有趣。它的原型算法60语言。(也成为一语言)

1963年,剑桥大学将算法60语言发展成为CPL(结合编程语言)语言。

1967年,剑桥大学的晨祷的理查兹对CPL语言进行了简化,于是产生了BCPL语言。

1970年,美国贝尔实验室的Ken Thompson将BCPL进行了修改,并为它起了一个有趣的名字“B语言”。意思是CPL将语言煮干,提炼出它的精华。并且他用B语言写了第一个UNIX操作系统。

而在1973年,B语言也给人“煮”了一下,美国贝尔实验室的D.M.里奇在B语言的基础上最终设计出了一种新的语言,他取了BCPL的第二个字母作为这种语言的名字,这就是C语言。

为了使UNIX操作系统推广,1977年丹尼斯·M。里奇发表了不依赖于具体机器系统的C语言编译文本《可移植的C语言编译程序》。

1978年Brian W。Kernighian和丹尼斯·M。里奇出版了名著《C程序设计语言》,从而使C语言成为目前世界上流行最广泛的高级程序设计语言。

1988年,随着微型计算机的日益普及,出现了许多C语言版本。由于没有统一的标准,使得这些C语言之间出现了一些不一致的地方。为了改变这种情况,美国国家标准研究所(ANSI)为C语言制定了一套ANSI标准,成为现行C的语言标准3。C语言的主要特点 。C语言发展迅速, 而且成为最受欢迎的语言之一, 主要因为它具有强大的功能。许多著名的系统软件, 如DBASE Ⅲ PLUS、DBASE Ⅳ 都是由C 语言编写的。用C语言加上一些汇编语言子程序, 就更能显示C语言的优势了,象PC- DOS 、WORDSTAR等就是用这种方法编写的。

在来说说Java

Java是一个由Sun公司开发而成的新一代编程语言。使用它可在各式各样不同种机器、不同种操作平台的网络环境中开发软件。不论你使用的是哪一种WWW浏览器,哪一种计算机,哪一种操作系统,只要WWW浏览器上面注明了“支持Java”,你就可以看到生动的主页。Java正在逐步成为Internet应用的主要开发语言。它彻底改变了应用软件的开发模式,带来了自PC机以来又一次技术革命,为迅速发展的信息世界增添了新的活力。

Sun的Java语言开发小组成立于1991年,其目的是开拓消费类电子产品市场,例如,交互式电视、烤面包箱等。Sun内部人员把这个项目称为Green,那时WorldWideWeb还在图纸上呢。该小组的领导人是JamesGosling,是一位非常杰出的程序员。他出生于1957年,于1984年加盟SunMicrosystem公司,之前在一家IBM研究机构工作。他是SunNeWs窗口系统的总设计师。也是第一个用C实现的EMACS的文本编辑器COSMACS的开发者。

在研究开发过程中,Gosling深刻体会到消费类电子产品和工作站产品在开发哲学上的差异:消费类电子产品要求可靠性高、费用低、标准化、使用简单,用户并不关心CPU的型号,也不欣赏专用昂贵的RISC处理器,他们需要建立在一个标准基础之上,具有一系列可选的方案,从8086到80586都可以选取。

C语言和JAVA其实是很相识的,最直接的区别就在与,一个是全面向过程,一个是面向对象。而且JAVA是可以跨平台的。而C语言不能,但能够直接操作硬件,并且生成机器码的效率高。C语言多了一个,指针也是C语言的精髓,想要学好C语言,指针就必须学好。JAVA是没有指针的。

总的来说,C语言是基础语言,JAVA是面向对象的一门语言,在学习JAVA语言前,我觉得还是最好先学习C语言,因为C语言的语法比较简单,只是他的亮点指针很容易出错,想要好好的运用指针是件很难的事,当然,用好了,对你的程序是有很好的帮助,反之,就会让你的程序崩溃掉。JAVA更实用于开发东西了,比较实用,因为JAVA面向对象嘛。和我们的思维很相似,所以开发起来就简单些,而C语言是面向过程,就和我们的思维方式有着差异,开发就很少了。而且很难。但因为C语言能够直接操作硬件,所以在一些嵌入式系统中,C语言是使用最广泛的语言。

在语法中

JAVA是从可以算是从C++发展而来的,因此Java与C语言的语法比较类似的。

在语法的程序库中

言有着自己的标准库,JAVA却有着自己得类库。

在内存的管理中

C语言在使用完一块内存时,要手动把内存释放掉,如果不释放的话,运行久了,程序很容易就会崩溃掉的。由于需要显式的归还内存,因此当一个函数需要将一块内存返回给调用者的时候,问题就比较复杂了。所以我们所以时要注意:(1) 在调用者中先分配好内存,作为参数传入到被调用的函数中(2) 在被调用的函数中分配,使用完后在调用者中释放(3) 在被调用函数中使用static变量,可以将该变量返回。

C语言与JAVA的区别是什么