java语言与其他语言的区别是_浅谈Java语言和其他语言的区别

计算机语言中,各种语言都有自己的优势与劣势。本人是在大学期间就学习Java的,听到了过多Java不好的地方,但是Java在近20年里何以独步天下呢?Java语言和其他的语言之间到底有什么区别呢?

学习Java之后,对Java有了比较多的了解。也比较喜欢Java语言其中的乐趣。Java语言是现在比较流行的语言。它具有编程简单、面向对象、解释执行、安全、与平台无关、可植性、高性能等许多的特点。下面针对自己对语言之间的了解所写。关于Java与其他语言之间的区别。

一、 Java和C:

1、两者编程思想不同,C语言是一种过程式语言,较为简单直观,它是Java,C++等高级语言的基础。而Java语言是一种面向对象语言。

2、Java语言的安全性更好,Java语言很看重程序的安全性。java不允许程序员直接进行指针操作。指针可以说是C语言中最灵活的一个数据类型,也是最容易出错的。java就避免了这些问题的产生。

3、Java可以通过多线程来同时执行多个任务。线程是程序内一个单一的顺序控制流程。C语言在某个时刻只能执行一个任务,而Java可以通过多线程来同时执行多项任务。

二、 Java和C++:

1、Java语言不需要程序对内存进行分配和回收。Java丢弃了c++中很少使用的、很难理解的、令人迷惑的哪些特点,如操作重载、多继承、自动强制类型转换。特别的,Java语言不使用指针也没有指针。在Java语言中,内存的分配和回收都是自动执行的,程序员无需考虑内存碎片的问题。

2、Java语言中没有指针的概念,引入真正的数组。不同于C++中利用指针实现的“伪数组”,Examda,Java引入了真正的数组,同时将容易造成麻烦的指针从语言中去掉,这将有利于防止在c++程序中常见的因为数组操作越界等指针操作而对系统数据进行非法读写带来的不安全问题。

3、Java用接口(Interface)技术取代C++程序中的多继承性。接口与多继承有同样的功能,但是省却了多继承在实现和维护上的复杂性。

三、 Java和c#:

1、在面向对象世界里,一切都是对象Java和C#都是面向对象的语言,它们都遵守面向对象的概念,这也使得这两种语言很像,至少看起来是这样.但在具体实现上,这两种语言还是有很大差别的.作为面向对象的语言,Java先于C#面世.一切皆是对象,Java遵守得很好――所有的类都继承自Object,一点儿问题没有!然而同时,Java认识到很多时候我们需要做一些简单计算:2+3=5、(2==3)=false...这些频繁使用的简单的不能再简单的小东西,我们有必要封装起来做成一个个对象再去操作它们吗?回答是,没有必要!于是,Java引入了简单类型,或者叫基本类型,同时引入了值类型的概念.换言之,Java的值类型就是这几个简单类型,而且它们是脱离Object之外的概念,它们不是面向对象的元素.Java便成了面向对象+boolean、byte、short、int、long、char、float、double这八个简单类型。

2、Java更加注重面向对象,更加注重标准化和完美化.于是,Java有了Eclipse,有了JSP、Serverlet、EJB,有了Spring、Structs、Hibernate...C#更加注重实用性和易用性,它封装的更多一些.于是C#有了VisualStudio,有了、WinFormApp、CommandLineApp、WCF、WPF、WF、EntityFramework...比较而言,Java更开放,朋友很多;C#更封闭,但微软很给力。

3、2010年1月,Oracle收购了Sun,把MySQL和Java纳入囊中,让广大开发者不禁对MySQL和Java的前景产生担忧..2008年,C#刚兴起的时候,Java已经发展得如火如荼了.但后来C#一直发展挺快,向Java借鉴的同时,也不断创新,引入自己的新东西,如:对值类型的大胆改造,引入Linq、Lumda表达式,等.Java和C#都是在发展的.Java计划也将引入Lumda语法,看来Java也开始放下架子,和C#相互学习了.开放还是封闭、依靠社区还是自己开发,Java和C#选择的道路不同,但都将更强大且易于使用。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值