我们知道无论是Java还是Python都是相当强大的语言,这两]语言有很多的相似之处,但是也有很
多的不同,就带大家看一下具体不同在哪里 :
1.开源
这两者都是开源语言, 换言之你可以随意的使用这两种语言而不需要付费,你也可以阅读他们的源代码学习,并且对它们做一些改动。在这一点上,两者是不分上下的,唯一的差别可能就是Java的
体量要大很多,中文版本的代码也要多很多,而Python反之,所以学习Python相应的资料要少一些且大部分都是英文的,这就要求了学习者有一定的英语功底。
二者学习路线也相差甚远
2.面向对象
Java的面向对象设计体现在动态的接口模型以及非常简单的类机制,他在对象中封装了父类的
变量以及方法,实现了模块化和信息隐藏,而类则提供了类对象的原型,我们通过继承机制可以在
类中使用父类的方法,从而实现代码的复用。
而Python则以更加简单粗暴的方式实现面向对象,对于Python来说既支持面向过程的函数式编程也支持面向对象的抽象编程。
3.可移植性
无论是Java还是Python都是跨平台的语言,但是他们的跨平台并不完全相同, Java可以跨平台是因为Java运行于JVM虚拟机中,但是JVM虚拟机各个平台的实现是不同的,所以他的跨平台并不彻
底;
而Python的跨平台是语言本身的特性所决定的,在不同的平台上写的Python代码都可以随便
运行,可惜的是并不是完美的支持所有平台的跨平台,所以从这一点上来看两种语言都不是彻底的
跨平台,半斤八两。
4.类库
我们知道Java之所以是一个强大的语言是他拥有大量的类库的关系,在众多的语言中这一点Java无出其右,我们只需要-些简单的基础语法的调用就能解决大部分的问题。
而Python也是有自己的库的,而且同样是强大的标准库,不同的是Python还可以定义第三方库使
用,所以除了标准库我们还有很多其他的高质量的库,比如说wxPython、Twisted和Python图像
等等,这是Python强大的原因之一。
5.可扩展性
Python和Java都是拥有良好的可扩展性的语言,两者在这一点上同样可以说一样也不一样。
Java的设计初衷就是需要适应不断发展的环境,我们可以在类库中自由的加入新的方法,这并不会
影响用户程序的执行,并粗Java是通过接口来支持多重继承,比严格的类继承更具有灵活性和可扩
展性。
Python的可扩展性和Java差不多但并不止于此,如果你在希望你的部分关键代码运行的更快或需
要算法加密或者驱动某些硬件,你可以把这一部分用C 或者C+ +编写,然后在你的Python代码运
行。
6.可读性
Java和Python都是很简单的语言,都具有良好的可读性,但是也是有不同之处的。
Java之所以阅读起来简单是因为Java略去了运算符重载、鍾继承等模糊的概念,并且由于垃圾自
动回收机制的存在极大的简化了程序员的内存管理工作。
Java之所以阅读起来简单是因为Java略去了运算符重载、鍾继承等模糊的概念,且由于垃圾自
动回收机制的存在极大的简化了程序员的内存管理工作。
而Python的可读性良好则是因为Python的编程思维和我们生活中的逻辑思维基本-致, 阅读一个
编写规范的Python程序就像在阅读一篇英语文章-样,同时由于Python采用强制代码缩进,所以
Python拥有了极佳的可读性,所以不管是阅读还是学习,都非常的简单容易。
7.执行
Java解释器直接对Java字节码进行解释执行。字节码本身携带了许多编译时信息,使得连接过程更
加简单。和其他解释执行的语言如BASC、TCL不同 , Java字节码的设计使之能很容易地直接转换成
对应于特定CPU的机器码,从而得到较高的性能。
Python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。因此不需要担心如何编译程序,如何确保连接转载正确的库等等,所有这一切使得使用
Python更加简单。你只需要把你的Python程序拷贝到另外一台计算机上,它就可以工作了,
这也使得Python程序更加易于移植。
8.应用领域
Python的应用领域主要在游戏开发、搜索引擎、图形图像处理、 脚本开发
Java的应用领域主要是服务器开发, Web开发和安研发等。